From 18341f66bba49fe2ee8c441ce359694d9eff9641 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:22 +0000 Subject: [PATCH 01/57] chore: update docs/dyn/index.md --- docs/dyn/index.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/dyn/index.md b/docs/dyn/index.md index 445cd68346..51737ce74a 100644 --- a/docs/dyn/index.md +++ b/docs/dyn/index.md @@ -160,10 +160,6 @@ * [v2](http://googleapis.github.io/google-api-python-client/docs/dyn/appsmarket_v2.html) -## area120tables -* [v1alpha1](http://googleapis.github.io/google-api-python-client/docs/dyn/area120tables_v1alpha1.html) - - ## areainsights * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/areainsights_v1.html) @@ -419,6 +415,11 @@ * [v2beta1](http://googleapis.github.io/google-api-python-client/docs/dyn/cloudtrace_v2beta1.html) +## colaboratory +* [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/colaboratory_v1.html) +* [v1beta](http://googleapis.github.io/google-api-python-client/docs/dyn/colaboratory_v1beta.html) + + ## composer * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/composer_v1.html) * [v1beta1](http://googleapis.github.io/google-api-python-client/docs/dyn/composer_v1beta1.html) From 69729bbad17e7d7bcc823350149c7aa26635445d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:22 +0000 Subject: [PATCH 02/57] feat(admob): update the api #### admob:v1 The following keys were deleted: - resources.accounts.methods.get.streamingType (Total Keys: 1) - resources.accounts.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.adUnits.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.apps.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.mediationReport.methods.generate.streamingType (Total Keys: 1) - resources.accounts.resources.networkReport.methods.generate.streamingType (Total Keys: 1) #### admob:v1beta The following keys were deleted: - resources.accounts.methods.get.streamingType (Total Keys: 1) - resources.accounts.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.adSources.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.adSources.resources.adapters.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.adUnitMappings.methods.batchCreate.streamingType (Total Keys: 1) - resources.accounts.resources.adUnits.methods.create.streamingType (Total Keys: 1) - resources.accounts.resources.adUnits.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.adUnits.resources.adUnitMappings.methods.create.streamingType (Total Keys: 1) - resources.accounts.resources.adUnits.resources.adUnitMappings.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.apps.methods.create.streamingType (Total Keys: 1) - resources.accounts.resources.apps.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.campaignReport.methods.generate.streamingType (Total Keys: 1) - resources.accounts.resources.mediationGroups.methods.create.streamingType (Total Keys: 1) - resources.accounts.resources.mediationGroups.methods.list.streamingType (Total Keys: 1) - resources.accounts.resources.mediationGroups.methods.patch.streamingType (Total Keys: 1) - resources.accounts.resources.mediationGroups.resources.mediationAbExperiments.methods.create.streamingType (Total Keys: 1) - resources.accounts.resources.mediationGroups.resources.mediationAbExperiments.methods.stop.streamingType (Total Keys: 1) - resources.accounts.resources.mediationReport.methods.generate.streamingType (Total Keys: 1) - resources.accounts.resources.networkReport.methods.generate.streamingType (Total Keys: 1) --- .../discovery_cache/documents/admob.v1.json | 20 +++---- .../documents/admob.v1beta.json | 59 +++++++------------ 2 files changed, 27 insertions(+), 52 deletions(-) diff --git a/googleapiclient/discovery_cache/documents/admob.v1.json b/googleapiclient/discovery_cache/documents/admob.v1.json index 23d7a2c440..52aa57fa03 100644 --- a/googleapiclient/discovery_cache/documents/admob.v1.json +++ b/googleapiclient/discovery_cache/documents/admob.v1.json @@ -134,8 +134,7 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "NONE" +] }, "list": { "description": "Lists the AdMob publisher account that was most recently signed in to from the AdMob UI. For more information, see https://support.google.com/admob/answer/10243672.", @@ -163,8 +162,7 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "NONE" +] } }, "resources": { @@ -204,8 +202,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/admob.readonly" -], -"streamingType": "NONE" +] } } }, @@ -245,8 +242,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/admob.readonly" -], -"streamingType": "NONE" +] } } }, @@ -279,8 +275,7 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "SERVER_SIDE" +] } } }, @@ -313,15 +308,14 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "SERVER_SIDE" +] } } } } } }, -"revision": "20261008", +"revision": "20261106", "rootUrl": "https://admob.googleapis.com/", "schemas": { "AdUnit": { diff --git a/googleapiclient/discovery_cache/documents/admob.v1beta.json b/googleapiclient/discovery_cache/documents/admob.v1beta.json index f3fa0b3738..7087ae5edd 100644 --- a/googleapiclient/discovery_cache/documents/admob.v1beta.json +++ b/googleapiclient/discovery_cache/documents/admob.v1beta.json @@ -134,8 +134,7 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "NONE" +] }, "list": { "description": "Lists the AdMob publisher account that was most recently signed in to from the AdMob UI. For more information, see https://support.google.com/admob/answer/10243672.", @@ -163,8 +162,7 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "NONE" +] } }, "resources": { @@ -205,8 +203,7 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "NONE" +] } }, "resources": { @@ -246,8 +243,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/admob.readonly" -], -"streamingType": "NONE" +] } } } @@ -278,8 +274,7 @@ }, "response": { "$ref": "BatchCreateAdUnitMappingsResponse" -}, -"streamingType": "NONE" +} } } }, @@ -308,8 +303,7 @@ }, "response": { "$ref": "AdUnit" -}, -"streamingType": "NONE" +} }, "list": { "description": "List the ad units under the specified AdMob account.", @@ -345,8 +339,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/admob.readonly" -], -"streamingType": "NONE" +] } }, "resources": { @@ -375,8 +368,7 @@ }, "response": { "$ref": "AdUnitMapping" -}, -"streamingType": "NONE" +} }, "list": { "description": "List ad unit mappings under the specified AdMob account and ad unit. This method has limited access. If you see a 403 permission denied error, please reach out to your account manager for access.", @@ -417,8 +409,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/admob.readonly" -], -"streamingType": "NONE" +] } } } @@ -449,8 +440,7 @@ }, "response": { "$ref": "App" -}, -"streamingType": "NONE" +} }, "list": { "description": "List the apps under the specified AdMob account.", @@ -486,8 +476,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/admob.readonly" -], -"streamingType": "NONE" +] } } }, @@ -520,8 +509,7 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "NONE" +] } } }, @@ -550,8 +538,7 @@ }, "response": { "$ref": "MediationGroup" -}, -"streamingType": "NONE" +} }, "list": { "description": "List mediation groups under the specified AdMob account. This method has limited access. If you see a 403 permission denied error, please reach out to your account manager for access.", @@ -592,8 +579,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/admob.readonly" -], -"streamingType": "NONE" +] }, "patch": { "description": "Update the specified mediation group under the specified AdMob account. This method has limited access. If you see a 403 permission denied error, please reach out to your account manager for access.", @@ -624,8 +610,7 @@ }, "response": { "$ref": "MediationGroup" -}, -"streamingType": "NONE" +} } }, "resources": { @@ -654,8 +639,7 @@ }, "response": { "$ref": "MediationAbExperiment" -}, -"streamingType": "NONE" +} }, "stop": { "description": "Stop the mediation A/B experiment and choose a variant. This method has limited access. If you see a 403 permission denied error, please reach out to your account manager for access.", @@ -680,8 +664,7 @@ }, "response": { "$ref": "MediationAbExperiment" -}, -"streamingType": "NONE" +} } } } @@ -716,8 +699,7 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "SERVER_SIDE" +] } } }, @@ -750,15 +732,14 @@ "scopes": [ "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report" -], -"streamingType": "SERVER_SIDE" +] } } } } } }, -"revision": "20261008", +"revision": "20261106", "rootUrl": "https://admob.googleapis.com/", "schemas": { "AdSource": { From 30a17e239c124513173975cb5a11d497a3bbc94c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:23 +0000 Subject: [PATCH 03/57] feat(aiplatform): update the api #### aiplatform:v1 The following keys were deleted: - resources.projects.resources.locations.resources.agents.methods.create.parameters.idpNonce (Total Keys: 2) - resources.projects.resources.locations.resources.publishers.resources.files.methods.list.parameters.ids (Total Keys: 3) The following keys were added: - resources.projects.resources.locations.resources.notebookRuntimeTemplates.methods.setDefault (Total Keys: 12) - schemas.GenaiVertexV1InteractionUsage.properties.initialInputTokens (Total Keys: 2) - schemas.GoogleCloudAiplatformV1Agent.properties.agentIdentity.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1Agent.properties.allowedTeammates.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1Agent.properties.encryptionSpec.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1Agent.properties.memoryConfig.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1Agent.properties.owner.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1Agent.properties.persona.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1Agent.properties.status (Total Keys: 2) - schemas.GoogleCloudAiplatformV1AgentIdentity (Total Keys: 6) - schemas.GoogleCloudAiplatformV1AgentMemoryConfig (Total Keys: 3) - schemas.GoogleCloudAiplatformV1AgentStatus (Total Keys: 16) - schemas.GoogleCloudAiplatformV1AllowedTeammates (Total Keys: 4) - schemas.GoogleCloudAiplatformV1AudioTranscriptionConfig.properties.sourceText.type (Total Keys: 1) - schemas.GoogleCloudAiplatformV1DataAgentConfig (Total Keys: 3) - schemas.GoogleCloudAiplatformV1EvaluateInstancesRequest.properties.allowCrossRegionModel.type (Total Keys: 1) - schemas.GoogleCloudAiplatformV1EvaluationRun.properties.serviceAccount.type (Total Keys: 1) - schemas.GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfig.properties.dataAgentConfig.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1Persona (Total Keys: 5) - schemas.GoogleCloudAiplatformV1Principal (Total Keys: 4) - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec.properties.gitSource.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecGitSource (Total Keys: 3) - schemas.GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage.properties.outputConfig.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1SchemaPromptSpecPromptMessageOutputConfig (Total Keys: 3) - schemas.GoogleCloudAiplatformV1SetDefaultNotebookRuntimeTemplateRequest (Total Keys: 3) - schemas.GoogleCloudAiplatformV1SetDefaultNotebookRuntimeTemplateResponse (Total Keys: 3) - schemas.GoogleCloudAiplatformV1Teammate (Total Keys: 5) - schemas.GoogleCloudAiplatformV1Tenant (Total Keys: 4) #### aiplatform:v1beta1 The following keys were deleted: - resources.media.methods.upload (Total Keys: 16) - resources.projects.resources.locations.resources.agents.methods.create.parameters.idpNonce (Total Keys: 2) - resources.projects.resources.locations.resources.publishers.resources.files.methods.list.parameters.ids (Total Keys: 3) The following keys were added: - resources.collaborativeProjects.resources.operations.methods.cancel (Total Keys: 11) - resources.collaborativeProjects.resources.operations.methods.delete (Total Keys: 11) - resources.collaborativeProjects.resources.operations.methods.get (Total Keys: 11) - resources.collaborativeProjects.resources.operations.methods.wait (Total Keys: 14) - resources.learningSets.resources.operations.methods.cancel (Total Keys: 11) - resources.learningSets.resources.operations.methods.delete (Total Keys: 11) - resources.learningSets.resources.operations.methods.get (Total Keys: 11) - resources.learningSets.resources.operations.methods.list (Total Keys: 20) - resources.learningSets.resources.operations.methods.wait (Total Keys: 14) - resources.media.methods.download (Total Keys: 17) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.cancel (Total Keys: 13) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.create (Total Keys: 20) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.delete (Total Keys: 25) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.download (Total Keys: 32) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.list (Total Keys: 40) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.patch (Total Keys: 15) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.resume (Total Keys: 12) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.stream (Total Keys: 18) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.suspend (Total Keys: 12) - resources.projects.resources.locations.resources.agents.resources.tasks.methods.upload (Total Keys: 31) - resources.projects.resources.locations.resources.agents.resources.tasks.resources.artifacts.methods.add (Total Keys: 12) - resources.projects.resources.locations.resources.agents.resources.tasks.resources.artifacts.methods.list (Total Keys: 22) - resources.projects.resources.locations.resources.agents.resources.tasks.resources.artifacts.methods.preview (Total Keys: 15) - resources.projects.resources.locations.resources.agents.resources.tasks.resources.artifacts.methods.remove (Total Keys: 12) - resources.projects.resources.locations.resources.collaborativeProjects.methods.create (Total Keys: 12) - resources.projects.resources.locations.resources.collaborativeProjects.methods.delete (Total Keys: 11) - resources.projects.resources.locations.resources.collaborativeProjects.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.collaborativeProjects.methods.list (Total Keys: 16) - resources.projects.resources.locations.resources.collaborativeProjects.methods.patch (Total Keys: 15) - resources.projects.resources.locations.resources.collaborativeProjects.resources.artifacts.methods.add (Total Keys: 12) - resources.projects.resources.locations.resources.collaborativeProjects.resources.artifacts.methods.list (Total Keys: 22) - resources.projects.resources.locations.resources.collaborativeProjects.resources.artifacts.methods.preview (Total Keys: 15) - resources.projects.resources.locations.resources.collaborativeProjects.resources.artifacts.methods.remove (Total Keys: 12) - resources.projects.resources.locations.resources.collaborativeProjects.resources.operations.methods.cancel (Total Keys: 11) - resources.projects.resources.locations.resources.collaborativeProjects.resources.operations.methods.delete (Total Keys: 11) - resources.projects.resources.locations.resources.collaborativeProjects.resources.operations.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.collaborativeProjects.resources.operations.methods.wait (Total Keys: 14) - resources.projects.resources.locations.resources.detectors.methods.create (Total Keys: 14) - resources.projects.resources.locations.resources.detectors.methods.delete (Total Keys: 11) - resources.projects.resources.locations.resources.detectors.methods.disable (Total Keys: 12) - resources.projects.resources.locations.resources.detectors.methods.enable (Total Keys: 12) - resources.projects.resources.locations.resources.detectors.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.detectors.methods.list (Total Keys: 16) - resources.projects.resources.locations.resources.detectors.methods.patch (Total Keys: 15) - resources.projects.resources.locations.resources.evaluationItems.methods.delete.parameters.force (Total Keys: 2) - resources.projects.resources.locations.resources.evaluationSets.methods.delete.parameters.force (Total Keys: 2) - resources.projects.resources.locations.resources.learningSets.resources.operations.methods.cancel (Total Keys: 11) - resources.projects.resources.locations.resources.learningSets.resources.operations.methods.delete (Total Keys: 11) - resources.projects.resources.locations.resources.learningSets.resources.operations.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.learningSets.resources.operations.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.learningSets.resources.operations.methods.wait (Total Keys: 14) - resources.projects.resources.locations.resources.notebookRuntimeTemplates.methods.setDefault (Total Keys: 12) - resources.projects.resources.locations.resources.reasoningEngines.resources.sandboxEnvironmentTemplates.methods.patch (Total Keys: 15) - resources.projects.resources.locations.resources.tasks.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.tasks.methods.list (Total Keys: 20) - resources.reasoningEngines.resources.sandboxEnvironmentTemplates.methods.patch (Total Keys: 15) - schemas.GdataBlobstore2Info (Total Keys: 14) - schemas.GdataCompositeMedia (Total Keys: 21) - schemas.GdataContentTypeInfo (Total Keys: 9) - schemas.GdataDiffChecksumsResponse (Total Keys: 9) - schemas.GdataDiffDownloadResponse (Total Keys: 3) - schemas.GdataDiffUploadRequest (Total Keys: 5) - schemas.GdataDiffUploadResponse (Total Keys: 4) - schemas.GdataDiffVersionResponse (Total Keys: 5) - schemas.GdataDownloadParameters (Total Keys: 4) - schemas.GdataMedia (Total Keys: 50) - schemas.GdataObjectId (Total Keys: 6) - schemas.GenaiArgumentsDelta (Total Keys: 3) - schemas.GenaiAudioContent (Total Keys: 10) - schemas.GenaiAudioDelta (Total Keys: 13) - schemas.GenaiAudioResponseFormat (Total Keys: 8) - schemas.GenaiCodeExecutionCallContentCodeExecutionCallArguments (Total Keys: 4) - schemas.GenaiCodeExecutionCallDelta (Total Keys: 3) - schemas.GenaiCodeExecutionCallStep (Total Keys: 7) - schemas.GenaiCodeExecutionResultDelta (Total Keys: 4) - schemas.GenaiCodeExecutionResultStep (Total Keys: 4) - schemas.GenaiContent (Total Keys: 11) - schemas.GenaiDocumentContent (Total Keys: 6) - schemas.GenaiDocumentDelta (Total Keys: 6) - schemas.GenaiEnvironmentConfig (Total Keys: 38) - schemas.GenaiField (Total Keys: 4) - schemas.GenaiFileCitation (Total Keys: 8) - schemas.GenaiFileSearchCallDelta (Total Keys: 2) - schemas.GenaiFileSearchCallStep (Total Keys: 2) - schemas.GenaiFileSearchResultContentFileSearchResult (Total Keys: 2) - schemas.GenaiFileSearchResultDelta (Total Keys: 4) - schemas.GenaiFileSearchResultStep (Total Keys: 2) - schemas.GenaiFunctionCallStep (Total Keys: 4) - schemas.GenaiFunctionResultDelta (Total Keys: 5) - schemas.GenaiFunctionResultStep (Total Keys: 5) - schemas.GenaiGoogleMapsCallContentGoogleMapsCallArguments (Total Keys: 4) - schemas.GenaiGoogleMapsCallDelta (Total Keys: 3) - schemas.GenaiGoogleMapsCallStep (Total Keys: 7) - schemas.GenaiGoogleMapsResultContentGoogleMapsResult (Total Keys: 11) - schemas.GenaiGoogleMapsResultDelta (Total Keys: 4) - schemas.GenaiGoogleMapsResultStep (Total Keys: 15) - schemas.GenaiGoogleSearchCallContentGoogleSearchCallArguments (Total Keys: 4) - schemas.GenaiGoogleSearchCallDelta (Total Keys: 3) - schemas.GenaiGoogleSearchCallStep (Total Keys: 8) - schemas.GenaiGoogleSearchResultContentGoogleSearchResult (Total Keys: 3) - schemas.GenaiGoogleSearchResultDelta (Total Keys: 5) - schemas.GenaiGoogleSearchResultStep (Total Keys: 8) - schemas.GenaiImageContent (Total Keys: 7) - schemas.GenaiImageDelta (Total Keys: 7) - schemas.GenaiImageResponseFormat (Total Keys: 6) - schemas.GenaiInteractionUsage (Total Keys: 94) - schemas.GenaiListValue (Total Keys: 4) - schemas.GenaiLocalEnvironmentConfig (Total Keys: 2) - schemas.GenaiMcpServerToolCallDelta (Total Keys: 5) - schemas.GenaiMcpServerToolCallStep (Total Keys: 5) - schemas.GenaiMcpServerToolResultDelta (Total Keys: 5) - schemas.GenaiMcpServerToolResultStep (Total Keys: 5) - schemas.GenaiModelOutputStep (Total Keys: 6) - schemas.GenaiPlaceCitation (Total Keys: 6) - schemas.GenaiProcessingCallDelta (Total Keys: 2) - schemas.GenaiProcessingCallStep (Total Keys: 2) - schemas.GenaiProcessingResultDelta (Total Keys: 2) - schemas.GenaiProcessingResultStep (Total Keys: 2) - schemas.GenaiResponseFormat (Total Keys: 7) - schemas.GenaiRetrievalCallDelta (Total Keys: 4) - schemas.GenaiRetrievalCallStep (Total Keys: 8) - schemas.GenaiRetrievalResultDelta (Total Keys: 3) - schemas.GenaiRetrievalResultStep (Total Keys: 3) - schemas.GenaiReviewSnippet (Total Keys: 3) - schemas.GenaiServerToolCallDelta (Total Keys: 11) - schemas.GenaiServerToolResultDelta (Total Keys: 11) - schemas.GenaiSpeechAnnotation (Total Keys: 4) - schemas.GenaiStep (Total Keys: 37) - schemas.GenaiStruct (Total Keys: 4) - schemas.GenaiTextAnnotationDelta (Total Keys: 4) - schemas.GenaiTextContent (Total Keys: 15) - schemas.GenaiTextDelta (Total Keys: 3) - schemas.GenaiTextResponseFormat (Total Keys: 4) - schemas.GenaiThoughtSignatureDelta (Total Keys: 4) - schemas.GenaiThoughtStep (Total Keys: 6) - schemas.GenaiThoughtSummaryDelta (Total Keys: 3) - schemas.GenaiToolCallStep (Total Keys: 13) - schemas.GenaiToolResultStep (Total Keys: 13) - schemas.GenaiUserInputStep (Total Keys: 4) - schemas.GenaiValue (Total Keys: 10) - schemas.GenaiVertexV1beta1Interaction.properties.continuationToken (Total Keys: 2) - schemas.GenaiVertexV1beta1InteractionUsage.properties.initialInputTokens (Total Keys: 2) - schemas.GenaiVideoContent (Total Keys: 21) - schemas.GenaiVideoDelta (Total Keys: 7) - schemas.GenaiVideoResponseFormat (Total Keys: 8) - schemas.GenaiWordInfo (Total Keys: 8) - schemas.GoogleCloudAiplatformV1beta1AddArtifactRequest (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1AddArtifactResponse (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1Agent.properties.agentIdentity.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1Agent.properties.allowedTeammates.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1Agent.properties.encryptionSpec.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1Agent.properties.memoryConfig.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1Agent.properties.owner.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1Agent.properties.persona.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1Agent.properties.status (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1AgentIdentity (Total Keys: 6) - schemas.GoogleCloudAiplatformV1beta1AgentMemoryConfig (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1AgentStatus (Total Keys: 16) - schemas.GoogleCloudAiplatformV1beta1AllowedTeammates (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1AnalyzedSessionSeveritySummary.properties.detectorDisplayNames (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1AudioTranscriptionConfig.properties.sourceText.type (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1AutoVerification (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1Budget (Total Keys: 47) - schemas.GoogleCloudAiplatformV1beta1CancelTaskRequest (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1CollaborativeProject (Total Keys: 17) - schemas.GoogleCloudAiplatformV1beta1ContextScope (Total Keys: 11) - schemas.GoogleCloudAiplatformV1beta1CronSchedule (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1CustomDetectorConfig (Total Keys: 29) - schemas.GoogleCloudAiplatformV1beta1DataAgentConfig (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1DataConnectorConfig (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1DeleteTaskArtifactRequest (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1DeleteTaskArtifactResponse (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1DeployRequestDeployConfig.properties.serviceAccount.type (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1Detector (Total Keys: 7) - schemas.GoogleCloudAiplatformV1beta1DisableDetectorRequest (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1EnableDetectorRequest (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1EvaluationItem.properties.harborTask (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1EvaluationRun.properties.serviceAccount.type (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfig.properties.harborRunConfig.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfig.properties.rawAgentTrajectoryDestination.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfigAgentRunConfig.properties.dataAgentConfig.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfigRawAgentTrajectoryDestination (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1EvaluationSet.properties.harborDataset (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1EventSchedule (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1ExternalBrowser (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1ExternalMount (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1Goal (Total Keys: 10) - schemas.GoogleCloudAiplatformV1beta1HarborDataset (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1HarborRunConfig (Total Keys: 12) - schemas.GoogleCloudAiplatformV1beta1HarborTask (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1ImportEvaluationSetRequest.properties.harborDataset.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1ImportEvaluationSetRequest.properties.importMode.type (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1KnowledgeCatalogConfig (Total Keys: 6) - schemas.GoogleCloudAiplatformV1beta1LinkJsonMetadata (Total Keys: 12) - schemas.GoogleCloudAiplatformV1beta1ListCollaborativeProjectsResponse (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1ListDetectorsResponse (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1ListTaskArtifactsResponse (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1ListTasksResponse (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1ListWorkspaceArtifactsResponse (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1Metric.properties.stepBasedLlmMetricSpec.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1NlCriteria (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1OneOffSchedule (Total Keys: 6) - schemas.GoogleCloudAiplatformV1beta1Persona (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1Principal (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpec.properties.gitSource.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpecGitSource (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1RecurringSchedule (Total Keys: 11) - schemas.GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactRequest (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactResponse (Total Keys: 2) - schemas.GoogleCloudAiplatformV1beta1ResourceRef (Total Keys: 7) - schemas.GoogleCloudAiplatformV1beta1ResumeTaskRequest (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate.properties.warmPoolConfig.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplateWarmPoolConfig (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage.properties.outputConfig.$ref (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessageOutputConfig (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1SetDefaultNotebookRuntimeTemplateRequest (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1SetDefaultNotebookRuntimeTemplateResponse (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpec (Total Keys: 26) - schemas.GoogleCloudAiplatformV1beta1SuspendTaskRequest (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1Task (Total Keys: 150) - schemas.GoogleCloudAiplatformV1beta1Teammate (Total Keys: 5) - schemas.GoogleCloudAiplatformV1beta1Tenant (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1ToolRefs (Total Keys: 13) - schemas.GoogleCloudAiplatformV1beta1TrustedParticipant (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1UploadArtifactRequest (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1UploadArtifactResponse (Total Keys: 3) - schemas.GoogleCloudAiplatformV1beta1Verifier (Total Keys: 8) - schemas.GoogleCloudAiplatformV1beta1WorkspaceArtifact (Total Keys: 4) - schemas.GoogleCloudAiplatformV1beta1XmanagerAuthConfig (Total Keys: 11) - schemas.GoogleCloudAiplatformV1beta1XmanagerInstance.properties.authConfig.$ref (Total Keys: 1) --- docs/dyn/aiplatform_v1.endpoints.html | 3 + docs/dyn/aiplatform_v1.interactions.html | 31 +- ...platform_v1.projects.locations.agents.html | 177 +- ...tform_v1.projects.locations.endpoints.html | 3 + ....projects.locations.evaluationMetrics.html | 8 + ..._v1.projects.locations.evaluationRuns.html | 56 + ..._v1.projects.locations.evaluationSets.html | 2 +- .../dyn/aiplatform_v1.projects.locations.html | 10 + ...rm_v1.projects.locations.interactions.html | 38 +- ...ts.locations.notebookRuntimeTemplates.html | 106 + ...1.projects.locations.onlineEvaluators.html | 8 + ...1.projects.locations.publishers.files.html | 5 +- ....projects.locations.publishers.models.html | 3 + ...1.projects.locations.reasoningEngines.html | 20 + ...form_v1.projects.locations.tuningJobs.html | 20 + docs/dyn/aiplatform_v1.publishers.models.html | 3 + docs/dyn/aiplatform_v1.reasoningEngines.html | 20 + docs/dyn/aiplatform_v1.v1.html | 10 + ...latform_v1beta1.collaborativeProjects.html | 91 + ...eta1.collaborativeProjects.operations.html | 205 + docs/dyn/aiplatform_v1beta1.endpoints.html | 3 + docs/dyn/aiplatform_v1beta1.html | 10 + docs/dyn/aiplatform_v1beta1.interactions.html | 35 +- docs/dyn/aiplatform_v1beta1.learningSets.html | 91 + ...tform_v1beta1.learningSets.operations.html | 272 + docs/dyn/aiplatform_v1beta1.media.html | 494 +- ...orm_v1beta1.projects.locations.agents.html | 182 +- ...ects.locations.agents.tasks.artifacts.html | 248 + ...beta1.projects.locations.agents.tasks.html | 12994 +++++ ...tions.collaborativeProjects.artifacts.html | 248 + ...jects.locations.collaborativeProjects.html | 337 + ...ions.collaborativeProjects.operations.html | 205 + ...m_v1beta1.projects.locations.datasets.html | 2 + ..._v1beta1.projects.locations.detectors.html | 609 + ..._v1beta1.projects.locations.endpoints.html | 3 + ...a1.projects.locations.evaluationItems.html | 34 +- ...s.locations.evaluationItems.revisions.html | 4507 ++ ....projects.locations.evaluationMetrics.html | 948 +- ...ta1.projects.locations.evaluationRuns.html | 2150 +- ...ta1.projects.locations.evaluationSets.html | 37 +- ...ts.locations.evaluationSets.revisions.html | 1047 + ...aiplatform_v1beta1.projects.locations.html | 763 +- ...beta1.projects.locations.interactions.html | 43 +- ...beta1.projects.locations.learningSets.html | 91 + ...cts.locations.learningSets.operations.html | 272 + ...ions.monitoredAgents.analyzedSessions.html | 15 + ...ts.locations.notebookRuntimeTemplates.html | 108 + ...1.projects.locations.onlineEvaluators.html | 1022 +- ...1.projects.locations.publishers.files.html | 5 +- ....projects.locations.publishers.models.html | 3 + ...1.projects.locations.reasoningEngines.html | 20 + ...ons.reasoningEngines.runtimeRevisions.html | 10 + ...ngEngines.sandboxEnvironmentTemplates.html | 131 + ...form_v1beta1.projects.locations.tasks.html | 2566 + ...v1beta1.projects.locations.tuningJobs.html | 1309 +- ...orm_v1beta1.projects.locations.voices.html | 4 + .../aiplatform_v1beta1.publishers.models.html | 3 + .../aiplatform_v1beta1.reasoningEngines.html | 20 + ...ngEngines.sandboxEnvironmentTemplates.html | 131 + docs/dyn/aiplatform_v1beta1.v1beta1.html | 765 +- .../documents/aiplatform.v1.json | 418 +- .../documents/aiplatform.v1beta1.json | 41054 +++++++++------- 62 files changed, 56355 insertions(+), 17673 deletions(-) create mode 100644 docs/dyn/aiplatform_v1beta1.collaborativeProjects.html create mode 100644 docs/dyn/aiplatform_v1beta1.collaborativeProjects.operations.html create mode 100644 docs/dyn/aiplatform_v1beta1.learningSets.html create mode 100644 docs/dyn/aiplatform_v1beta1.learningSets.operations.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.agents.tasks.artifacts.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.agents.tasks.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.artifacts.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.operations.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.detectors.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.revisions.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.revisions.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.learningSets.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.learningSets.operations.html create mode 100644 docs/dyn/aiplatform_v1beta1.projects.locations.tasks.html diff --git a/docs/dyn/aiplatform_v1.endpoints.html b/docs/dyn/aiplatform_v1.endpoints.html index a9ab4749af..8f67001cd0 100644 --- a/docs/dyn/aiplatform_v1.endpoints.html +++ b/docs/dyn/aiplatform_v1.endpoints.html @@ -374,6 +374,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1044,6 +1045,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2082,6 +2084,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1.interactions.html b/docs/dyn/aiplatform_v1.interactions.html index 358ac2c67a..2b7dd253c8 100644 --- a/docs/dyn/aiplatform_v1.interactions.html +++ b/docs/dyn/aiplatform_v1.interactions.html @@ -504,7 +504,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -728,7 +728,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -2001,7 +2001,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -2186,6 +2186,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -2638,7 +2639,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -2862,7 +2863,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -4135,7 +4136,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -4320,6 +4321,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -4776,7 +4778,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -5000,7 +5002,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -6273,7 +6275,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -6458,6 +6460,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -6889,7 +6892,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -7113,7 +7116,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -8386,7 +8389,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -8571,6 +8574,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -8614,6 +8618,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -9578,6 +9583,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -9616,6 +9622,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. diff --git a/docs/dyn/aiplatform_v1.projects.locations.agents.html b/docs/dyn/aiplatform_v1.projects.locations.agents.html index 7730da9ae7..c540db9707 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.agents.html +++ b/docs/dyn/aiplatform_v1.projects.locations.agents.html @@ -78,7 +78,7 @@

Instance Methods

close()

Close httplib2 connections.

- create(parent, body=None, idpNonce=None, x__xgafv=None)

+ create(parent, body=None, x__xgafv=None)

Creates an agent.

delete(name, force=None, x__xgafv=None)

@@ -111,7 +111,7 @@

Method Details

- create(parent, body=None, idpNonce=None, x__xgafv=None) + create(parent, body=None, x__xgafv=None)
Creates an agent.
 
 Args:
@@ -120,13 +120,36 @@ 

Method Details

The object takes the form of: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. + "agentIdentity": { # Identity configuration for an agent. # Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition). + "email": "A String", # Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain. + "gaiaId": "A String", # Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`. + "tenant": { # Represents an enterprise tenant. # Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. "C0123abcd"). + "id": "A String", # Optional. The unique raw ID of the tenant. + "type": "A String", # Optional. The type of the tenant. + }, + }, "aiApplication": "A String", # Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`. + "allowedTeammates": { # The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports. # Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`. + "teammates": [ # Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge. + { # One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none. + "email": "A String", # Optional. Email address of the teammate. + "expansionMode": "A String", # Optional. Expansion mode for group or space teammates. + "gaiaId": "A String", # Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number. + }, + ], + }, "base_agent": "A String", # Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead. "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. "effectiveIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE principal) of the agent. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "memoryConfig": { # Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks. # Optional. Memory settings for the agent. + "disableMemory": True or False, # Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them. + }, "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, @@ -140,6 +163,24 @@

Method Details

"observabilityEnabled": True or False, # Optional. Enables observability for this agent's sessions: OpenTelemetry span emission covering tool names, model names, token counts, latencies and status. If `false`, the other fields here are ignored. "sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (prompts, model completions, tool argument payloads and tool responses). If `false`, those are sanitized and only structural attributes are recorded. No effect unless `observability_enabled` is true. Settable and returned, but NOT YET ENFORCED. Nothing reads it at runtime, so `true` does not currently cause content to be captured, and `false` is not what keeps content from being captured. Treat it as a recorded intention that takes effect when enforcement lands. }, + "owner": { # Represents an identity principal (user or service). # Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy — so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner. + "id": "A String", # Optional. The system unique identifier of the principal. + "type": "A String", # Optional. The type of the principal. + }, + "persona": { # The persona (presentation) of an agent. # Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal. + "avatarUrl": "A String", # Optional. The URL of the agent's avatar. + "displayName": "A String", # Required. The display name of the agent. + "personality": "A String", # Optional. The personality style or behavioral trait of the agent. + "role": "A String", # Optional. The role of the agent (e.g., "Financial Analyst"). + }, + "status": { # Operational state of the agent. # Output only. The current operational state of the agent. + "deleteTime": "A String", # Output only. The time at which the agent was soft-deleted. + "state": "A String", # Output only. The current state of the agent. + "suspensionReason": { # Details about the active suspension. This message is only populated if the state is SUSPENDED. # Output only. Context about the current active suspension. + "reason": "A String", # Output only. The reason for the current suspension. + "suspensionTime": "A String", # Output only. The time when the current suspension was applied. + }, + }, "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. "tools": [ # Optional. The tools available to the agent. { # A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { "type": "mcp_server", "name": "my-mcp-server", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer token123" } } @@ -147,14 +188,13 @@

Method Details

"a_key": "A String", }, "name": "A String", # Optional. The tool's Google Cloud resource name, used to resolve the tool. Applicable when `type` is `mcp_server` or `endpoint` (a tool registered in Agent Registry), for example `projects/{project}/locations/{location}/.../mcpServers/{id}` or `projects/{project}/locations/{location}/.../endpoints/{id}`. - "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "type": "A String", # Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation` "url": "A String", # Optional. Fallback for the tool's runtime reference, consumed by `CreateAgent` to create the downstream AI App. Applicable when `type` is `mcp_server` or `endpoint`, and optional: the Agent service derives the runtime reference from `name` via Agent Registry (`GetMcpServer` / `GetEndpoint`), and reads this only when that lookup yields none. }, ], "updated": "A String", # Output only. The time the agent was last updated. } - idpNonce: string, Optional. Optional. One-time cryptographic nonce issued by the trusted IdP provisioning iframe for session and device non-repudiation. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -235,13 +275,36 @@

Method Details

An object of the form: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. + "agentIdentity": { # Identity configuration for an agent. # Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition). + "email": "A String", # Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain. + "gaiaId": "A String", # Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`. + "tenant": { # Represents an enterprise tenant. # Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. "C0123abcd"). + "id": "A String", # Optional. The unique raw ID of the tenant. + "type": "A String", # Optional. The type of the tenant. + }, + }, "aiApplication": "A String", # Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`. + "allowedTeammates": { # The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports. # Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`. + "teammates": [ # Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge. + { # One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none. + "email": "A String", # Optional. Email address of the teammate. + "expansionMode": "A String", # Optional. Expansion mode for group or space teammates. + "gaiaId": "A String", # Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number. + }, + ], + }, "base_agent": "A String", # Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead. "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. "effectiveIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE principal) of the agent. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "memoryConfig": { # Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks. # Optional. Memory settings for the agent. + "disableMemory": True or False, # Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them. + }, "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, @@ -255,6 +318,24 @@

Method Details

"observabilityEnabled": True or False, # Optional. Enables observability for this agent's sessions: OpenTelemetry span emission covering tool names, model names, token counts, latencies and status. If `false`, the other fields here are ignored. "sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (prompts, model completions, tool argument payloads and tool responses). If `false`, those are sanitized and only structural attributes are recorded. No effect unless `observability_enabled` is true. Settable and returned, but NOT YET ENFORCED. Nothing reads it at runtime, so `true` does not currently cause content to be captured, and `false` is not what keeps content from being captured. Treat it as a recorded intention that takes effect when enforcement lands. }, + "owner": { # Represents an identity principal (user or service). # Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy — so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner. + "id": "A String", # Optional. The system unique identifier of the principal. + "type": "A String", # Optional. The type of the principal. + }, + "persona": { # The persona (presentation) of an agent. # Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal. + "avatarUrl": "A String", # Optional. The URL of the agent's avatar. + "displayName": "A String", # Required. The display name of the agent. + "personality": "A String", # Optional. The personality style or behavioral trait of the agent. + "role": "A String", # Optional. The role of the agent (e.g., "Financial Analyst"). + }, + "status": { # Operational state of the agent. # Output only. The current operational state of the agent. + "deleteTime": "A String", # Output only. The time at which the agent was soft-deleted. + "state": "A String", # Output only. The current state of the agent. + "suspensionReason": { # Details about the active suspension. This message is only populated if the state is SUSPENDED. # Output only. Context about the current active suspension. + "reason": "A String", # Output only. The reason for the current suspension. + "suspensionTime": "A String", # Output only. The time when the current suspension was applied. + }, + }, "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. "tools": [ # Optional. The tools available to the agent. { # A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { "type": "mcp_server", "name": "my-mcp-server", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer token123" } } @@ -262,7 +343,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Optional. The tool's Google Cloud resource name, used to resolve the tool. Applicable when `type` is `mcp_server` or `endpoint` (a tool registered in Agent Registry), for example `projects/{project}/locations/{location}/.../mcpServers/{id}` or `projects/{project}/locations/{location}/.../endpoints/{id}`. - "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "type": "A String", # Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation` "url": "A String", # Optional. Fallback for the tool's runtime reference, consumed by `CreateAgent` to create the downstream AI App. Applicable when `type` is `mcp_server` or `endpoint`, and optional: the Agent service derives the runtime reference from `name` via Agent Registry (`GetMcpServer` / `GetEndpoint`), and reads this only when that lookup yields none. }, ], @@ -326,13 +407,36 @@

Method Details

{ # Response message for AgentService.ListAgents. "agents": [ # The agents matching the request. { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. + "agentIdentity": { # Identity configuration for an agent. # Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition). + "email": "A String", # Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain. + "gaiaId": "A String", # Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`. + "tenant": { # Represents an enterprise tenant. # Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. "C0123abcd"). + "id": "A String", # Optional. The unique raw ID of the tenant. + "type": "A String", # Optional. The type of the tenant. + }, + }, "aiApplication": "A String", # Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`. + "allowedTeammates": { # The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports. # Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`. + "teammates": [ # Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge. + { # One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none. + "email": "A String", # Optional. Email address of the teammate. + "expansionMode": "A String", # Optional. Expansion mode for group or space teammates. + "gaiaId": "A String", # Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number. + }, + ], + }, "base_agent": "A String", # Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead. "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. "effectiveIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE principal) of the agent. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "memoryConfig": { # Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks. # Optional. Memory settings for the agent. + "disableMemory": True or False, # Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them. + }, "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, @@ -346,6 +450,24 @@

Method Details

"observabilityEnabled": True or False, # Optional. Enables observability for this agent's sessions: OpenTelemetry span emission covering tool names, model names, token counts, latencies and status. If `false`, the other fields here are ignored. "sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (prompts, model completions, tool argument payloads and tool responses). If `false`, those are sanitized and only structural attributes are recorded. No effect unless `observability_enabled` is true. Settable and returned, but NOT YET ENFORCED. Nothing reads it at runtime, so `true` does not currently cause content to be captured, and `false` is not what keeps content from being captured. Treat it as a recorded intention that takes effect when enforcement lands. }, + "owner": { # Represents an identity principal (user or service). # Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy — so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner. + "id": "A String", # Optional. The system unique identifier of the principal. + "type": "A String", # Optional. The type of the principal. + }, + "persona": { # The persona (presentation) of an agent. # Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal. + "avatarUrl": "A String", # Optional. The URL of the agent's avatar. + "displayName": "A String", # Required. The display name of the agent. + "personality": "A String", # Optional. The personality style or behavioral trait of the agent. + "role": "A String", # Optional. The role of the agent (e.g., "Financial Analyst"). + }, + "status": { # Operational state of the agent. # Output only. The current operational state of the agent. + "deleteTime": "A String", # Output only. The time at which the agent was soft-deleted. + "state": "A String", # Output only. The current state of the agent. + "suspensionReason": { # Details about the active suspension. This message is only populated if the state is SUSPENDED. # Output only. Context about the current active suspension. + "reason": "A String", # Output only. The reason for the current suspension. + "suspensionTime": "A String", # Output only. The time when the current suspension was applied. + }, + }, "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. "tools": [ # Optional. The tools available to the agent. { # A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { "type": "mcp_server", "name": "my-mcp-server", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer token123" } } @@ -353,7 +475,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Optional. The tool's Google Cloud resource name, used to resolve the tool. Applicable when `type` is `mcp_server` or `endpoint` (a tool registered in Agent Registry), for example `projects/{project}/locations/{location}/.../mcpServers/{id}` or `projects/{project}/locations/{location}/.../endpoints/{id}`. - "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "type": "A String", # Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation` "url": "A String", # Optional. Fallback for the tool's runtime reference, consumed by `CreateAgent` to create the downstream AI App. Applicable when `type` is `mcp_server` or `endpoint`, and optional: the Agent service derives the runtime reference from `name` via Agent Registry (`GetMcpServer` / `GetEndpoint`), and reads this only when that lookup yields none. }, ], @@ -388,13 +510,36 @@

Method Details

The object takes the form of: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. + "agentIdentity": { # Identity configuration for an agent. # Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition). + "email": "A String", # Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain. + "gaiaId": "A String", # Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`. + "tenant": { # Represents an enterprise tenant. # Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. "C0123abcd"). + "id": "A String", # Optional. The unique raw ID of the tenant. + "type": "A String", # Optional. The type of the tenant. + }, + }, "aiApplication": "A String", # Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`. + "allowedTeammates": { # The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports. # Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`. + "teammates": [ # Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge. + { # One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none. + "email": "A String", # Optional. Email address of the teammate. + "expansionMode": "A String", # Optional. Expansion mode for group or space teammates. + "gaiaId": "A String", # Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number. + }, + ], + }, "base_agent": "A String", # Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead. "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. "effectiveIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE principal) of the agent. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "memoryConfig": { # Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks. # Optional. Memory settings for the agent. + "disableMemory": True or False, # Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them. + }, "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, @@ -408,6 +553,24 @@

Method Details

"observabilityEnabled": True or False, # Optional. Enables observability for this agent's sessions: OpenTelemetry span emission covering tool names, model names, token counts, latencies and status. If `false`, the other fields here are ignored. "sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (prompts, model completions, tool argument payloads and tool responses). If `false`, those are sanitized and only structural attributes are recorded. No effect unless `observability_enabled` is true. Settable and returned, but NOT YET ENFORCED. Nothing reads it at runtime, so `true` does not currently cause content to be captured, and `false` is not what keeps content from being captured. Treat it as a recorded intention that takes effect when enforcement lands. }, + "owner": { # Represents an identity principal (user or service). # Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy — so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner. + "id": "A String", # Optional. The system unique identifier of the principal. + "type": "A String", # Optional. The type of the principal. + }, + "persona": { # The persona (presentation) of an agent. # Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal. + "avatarUrl": "A String", # Optional. The URL of the agent's avatar. + "displayName": "A String", # Required. The display name of the agent. + "personality": "A String", # Optional. The personality style or behavioral trait of the agent. + "role": "A String", # Optional. The role of the agent (e.g., "Financial Analyst"). + }, + "status": { # Operational state of the agent. # Output only. The current operational state of the agent. + "deleteTime": "A String", # Output only. The time at which the agent was soft-deleted. + "state": "A String", # Output only. The current state of the agent. + "suspensionReason": { # Details about the active suspension. This message is only populated if the state is SUSPENDED. # Output only. Context about the current active suspension. + "reason": "A String", # Output only. The reason for the current suspension. + "suspensionTime": "A String", # Output only. The time when the current suspension was applied. + }, + }, "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. "tools": [ # Optional. The tools available to the agent. { # A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { "type": "mcp_server", "name": "my-mcp-server", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer token123" } } @@ -415,7 +578,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Optional. The tool's Google Cloud resource name, used to resolve the tool. Applicable when `type` is `mcp_server` or `endpoint` (a tool registered in Agent Registry), for example `projects/{project}/locations/{location}/.../mcpServers/{id}` or `projects/{project}/locations/{location}/.../endpoints/{id}`. - "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "type": "A String", # Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation` "url": "A String", # Optional. Fallback for the tool's runtime reference, consumed by `CreateAgent` to create the downstream AI App. Applicable when `type` is `mcp_server` or `endpoint`, and optional: the Agent service derives the runtime reference from `name` via Agent Registry (`GetMcpServer` / `GetEndpoint`), and reads this only when that lookup yields none. }, ], diff --git a/docs/dyn/aiplatform_v1.projects.locations.endpoints.html b/docs/dyn/aiplatform_v1.projects.locations.endpoints.html index c8c9635a02..0466d6fd8c 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.endpoints.html +++ b/docs/dyn/aiplatform_v1.projects.locations.endpoints.html @@ -447,6 +447,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2013,6 +2014,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4533,6 +4535,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1.projects.locations.evaluationMetrics.html b/docs/dyn/aiplatform_v1.projects.locations.evaluationMetrics.html index 252ac49444..79e34a185e 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.evaluationMetrics.html +++ b/docs/dyn/aiplatform_v1.projects.locations.evaluationMetrics.html @@ -164,6 +164,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -349,6 +350,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -616,6 +618,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -801,6 +804,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1109,6 +1113,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1294,6 +1299,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1573,6 +1579,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1758,6 +1765,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1.projects.locations.evaluationRuns.html b/docs/dyn/aiplatform_v1.projects.locations.evaluationRuns.html index 7fec7186b9..2cfeeb8831 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.evaluationRuns.html +++ b/docs/dyn/aiplatform_v1.projects.locations.evaluationRuns.html @@ -191,6 +191,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -398,6 +399,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -578,6 +580,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -782,6 +785,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -967,6 +971,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1209,6 +1214,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1383,6 +1389,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1586,6 +1593,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1759,6 +1767,9 @@

Method Details

"a_key": { # Defines the configuration for a candidate model or agent being evaluated. `InferenceConfig` encapsulates all the necessary information to invoke or scrape the candidate during the evaluation run. This includes direct model inference parameters, agent execution settings, and multi-turn scraping configurations (such as user simulators). It serves as the primary representation of the candidate across different stages of the evaluation process. "agentRunConfig": { # Configuration for Agent Run. # Optional. Agent run config. "agentEngine": "A String", # Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456 + "dataAgentConfig": { # Config for scraping a Gemini Data Analytics data agent. # Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation. + "dataAgent": "A String", # Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`. + }, "geminiAgentConfig": { # Config for scraping a Gemini Agent (a Vertex AI Agent resource scraped via the Vertex Interactions API). # Optional. Config for scraping a Gemini Agent via the Interactions API. The scraping service creates interactions against the agent and returns the resulting interaction traces for evaluation. "geminiAgent": "A String", # Required. The resource name of the Gemini Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. For example: `projects/123/locations/us-central1/agents/my-agent`. }, @@ -1794,6 +1805,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2210,6 +2222,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2369,6 +2382,7 @@

Method Details

}, "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` + "serviceAccount": "A String", # Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it. "state": "A String", # Output only. The state of the evaluation run. } @@ -2437,6 +2451,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2644,6 +2659,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2824,6 +2840,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3028,6 +3045,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3213,6 +3231,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3455,6 +3474,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3629,6 +3649,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3832,6 +3853,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4005,6 +4027,9 @@

Method Details

"a_key": { # Defines the configuration for a candidate model or agent being evaluated. `InferenceConfig` encapsulates all the necessary information to invoke or scrape the candidate during the evaluation run. This includes direct model inference parameters, agent execution settings, and multi-turn scraping configurations (such as user simulators). It serves as the primary representation of the candidate across different stages of the evaluation process. "agentRunConfig": { # Configuration for Agent Run. # Optional. Agent run config. "agentEngine": "A String", # Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456 + "dataAgentConfig": { # Config for scraping a Gemini Data Analytics data agent. # Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation. + "dataAgent": "A String", # Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`. + }, "geminiAgentConfig": { # Config for scraping a Gemini Agent (a Vertex AI Agent resource scraped via the Vertex Interactions API). # Optional. Config for scraping a Gemini Agent via the Interactions API. The scraping service creates interactions against the agent and returns the resulting interaction traces for evaluation. "geminiAgent": "A String", # Required. The resource name of the Gemini Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. For example: `projects/123/locations/us-central1/agents/my-agent`. }, @@ -4040,6 +4065,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4456,6 +4482,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4615,6 +4642,7 @@

Method Details

}, "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` + "serviceAccount": "A String", # Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it. "state": "A String", # Output only. The state of the evaluation run. }
@@ -4725,6 +4753,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4932,6 +4961,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5112,6 +5142,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5316,6 +5347,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5501,6 +5533,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5743,6 +5776,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5917,6 +5951,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6120,6 +6155,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6293,6 +6329,9 @@

Method Details

"a_key": { # Defines the configuration for a candidate model or agent being evaluated. `InferenceConfig` encapsulates all the necessary information to invoke or scrape the candidate during the evaluation run. This includes direct model inference parameters, agent execution settings, and multi-turn scraping configurations (such as user simulators). It serves as the primary representation of the candidate across different stages of the evaluation process. "agentRunConfig": { # Configuration for Agent Run. # Optional. Agent run config. "agentEngine": "A String", # Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456 + "dataAgentConfig": { # Config for scraping a Gemini Data Analytics data agent. # Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation. + "dataAgent": "A String", # Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`. + }, "geminiAgentConfig": { # Config for scraping a Gemini Agent (a Vertex AI Agent resource scraped via the Vertex Interactions API). # Optional. Config for scraping a Gemini Agent via the Interactions API. The scraping service creates interactions against the agent and returns the resulting interaction traces for evaluation. "geminiAgent": "A String", # Required. The resource name of the Gemini Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. For example: `projects/123/locations/us-central1/agents/my-agent`. }, @@ -6328,6 +6367,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6744,6 +6784,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6903,6 +6944,7 @@

Method Details

}, "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` + "serviceAccount": "A String", # Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it. "state": "A String", # Output only. The state of the evaluation run. } @@ -6984,6 +7026,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7191,6 +7234,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7371,6 +7415,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7575,6 +7620,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7760,6 +7806,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8002,6 +8049,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8176,6 +8224,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8379,6 +8428,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8552,6 +8602,9 @@

Method Details

"a_key": { # Defines the configuration for a candidate model or agent being evaluated. `InferenceConfig` encapsulates all the necessary information to invoke or scrape the candidate during the evaluation run. This includes direct model inference parameters, agent execution settings, and multi-turn scraping configurations (such as user simulators). It serves as the primary representation of the candidate across different stages of the evaluation process. "agentRunConfig": { # Configuration for Agent Run. # Optional. Agent run config. "agentEngine": "A String", # Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456 + "dataAgentConfig": { # Config for scraping a Gemini Data Analytics data agent. # Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation. + "dataAgent": "A String", # Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`. + }, "geminiAgentConfig": { # Config for scraping a Gemini Agent (a Vertex AI Agent resource scraped via the Vertex Interactions API). # Optional. Config for scraping a Gemini Agent via the Interactions API. The scraping service creates interactions against the agent and returns the resulting interaction traces for evaluation. "geminiAgent": "A String", # Required. The resource name of the Gemini Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. For example: `projects/123/locations/us-central1/agents/my-agent`. }, @@ -8587,6 +8640,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -9003,6 +9057,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -9162,6 +9217,7 @@

Method Details

}, "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` + "serviceAccount": "A String", # Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it. "state": "A String", # Output only. The state of the evaluation run. }, ], diff --git a/docs/dyn/aiplatform_v1.projects.locations.evaluationSets.html b/docs/dyn/aiplatform_v1.projects.locations.evaluationSets.html index 05167b91c3..38231cacf3 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.evaluationSets.html +++ b/docs/dyn/aiplatform_v1.projects.locations.evaluationSets.html @@ -1252,7 +1252,7 @@

Method Details

"name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` "updateTime": "A String", # Output only. Timestamp when this item was last updated. }, - "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Required. The Cloud Storage location where the resulting EvaluationItem payloads will be stored. + "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Optional. The Cloud Storage location where the resulting EvaluationItem payloads will be stored. Required for every source except `harbor_dataset`, which must not set it. "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist. }, "gcsSource": { # Source for loading data from Cloud Storage. # Google Cloud Storage location. diff --git a/docs/dyn/aiplatform_v1.projects.locations.html b/docs/dyn/aiplatform_v1.projects.locations.html index 496286414c..d079baa406 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.html +++ b/docs/dyn/aiplatform_v1.projects.locations.html @@ -1656,6 +1656,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1862,6 +1863,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2047,6 +2049,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2291,6 +2294,7 @@

Method Details

The object takes the form of: { # Request message for EvaluationService.EvaluateInstances. + "allowCrossRegionModel": True or False, # Optional. Allows the evaluation run to use cross region models. When this flag is set, the service may route traffic to other regions if a model is unavailable in the current region (e.g., to a `global` endpoint). If a fully-qualified model endpoint resource name with a different region than the request location is provided elsewhere in the request, this flag must be set to true or the request will fail. "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored. "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. @@ -2315,6 +2319,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5074,6 +5079,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5259,6 +5265,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5506,6 +5513,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5691,6 +5699,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7172,6 +7181,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1.projects.locations.interactions.html b/docs/dyn/aiplatform_v1.projects.locations.interactions.html index 16511204fb..d1dd364e82 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.interactions.html +++ b/docs/dyn/aiplatform_v1.projects.locations.interactions.html @@ -507,7 +507,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -731,7 +731,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -2004,7 +2004,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -2189,6 +2189,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -2630,7 +2631,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -2854,7 +2855,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -4127,7 +4128,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -4312,6 +4313,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -4755,7 +4757,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -4979,7 +4981,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -6252,7 +6254,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -6437,6 +6439,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -6887,7 +6890,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -7111,7 +7114,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -8384,7 +8387,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -8569,6 +8572,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -9000,7 +9004,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -9224,7 +9228,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -10497,7 +10501,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -10682,6 +10686,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -10725,6 +10730,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -11689,6 +11695,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -11727,6 +11734,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. diff --git a/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimeTemplates.html b/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimeTemplates.html index d4f82b3ecf..3ce072d9c6 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimeTemplates.html +++ b/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimeTemplates.html @@ -103,6 +103,9 @@

Instance Methods

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates a NotebookRuntimeTemplate.

+

+ setDefault(parent, body=None, x__xgafv=None)

+

Sets the default NotebookRuntimeTemplate for a Location.

setIamPolicy(resource, body=None, x__xgafv=None)

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

@@ -692,6 +695,109 @@

Method Details

} +
+ setDefault(parent, body=None, x__xgafv=None) +
Sets the default NotebookRuntimeTemplate for a Location.
+
+Args:
+  parent: string, Required. The resource name of the Location to set the default NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for NotebookService.SetDefaultNotebookRuntimeTemplate.
+  "name": "A String", # Required. The resource name of the NotebookRuntimeTemplate to set as default. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for NotebookService.SetDefaultNotebookRuntimeTemplate.
+  "notebookRuntimeTemplate": { # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. # The NotebookRuntimeTemplate that was set as default.
+    "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created.
+    "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage.
+      "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB).
+      "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput)
+    },
+    "description": "A String", # The description of the NotebookRuntimeTemplate.
+    "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters.
+    "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Customer-managed encryption key spec for the notebook runtime.
+      "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+    },
+    "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
+    "eucConfig": { # The euc configuration of NotebookRuntimeTemplate. # EUC configuration of the NotebookRuntimeTemplate.
+      "bypassActasCheck": True or False, # Output only. Whether ActAs check is bypassed for service account attached to the VM. If false, we need ActAs check for the default Compute Engine Service account. When a Runtime is created, a VM is allocated using Default Compute Engine Service Account. Any user requesting to use this Runtime requires Service Account User (ActAs) permission over this SA. If true, Runtime owner is using EUC and does not require the above permission as VM no longer use default Compute Engine SA, but a P4SA.
+      "eucDisabled": True or False, # Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. In proto3, the default value of a boolean is false. In this way, by default EUC will be enabled for NotebookRuntimeTemplate.
+    },
+    "idleShutdownConfig": { # The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field. # The idle shutdown configuration of NotebookRuntimeTemplate. This config will only be set when idle shutdown is enabled.
+      "idleShutdownDisabled": True or False, # Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate.
+      "idleTimeout": "A String", # Required. Duration is accurate to the second. In Notebook, Idle Timeout is accurate to minute so the range of idle_timeout (second) is: 10 * 60 ~ 1440 * 60.
+    },
+    "isDefault": True or False, # Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified.
+    "labels": { # The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
+      "a_key": "A String",
+    },
+    "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template.
+      "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled.
+      "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count.
+      "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1.
+      "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
+      "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation.
+        "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value.
+        "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type.
+        "values": [ # Optional. Corresponds to the label values of a reservation resource. This must be the resource name of the reservation, reservation block, or reservation sub- block.
+          "A String",
+        ],
+      },
+      "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
+    },
+    "name": "A String", # The resource name of the NotebookRuntimeTemplate.
+    "networkSpec": { # Network spec. # Optional. Network spec.
+      "enableInternetAccess": True or False, # Whether to enable public internet access. Default false.
+      "network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks)
+      "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}`
+    },
+    "networkTags": [ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).
+      "A String",
+    ],
+    "notebookRuntimeType": "A String", # Optional. Immutable. The type of the notebook runtime template.
+    "reservationAffinity": { # Notebook Reservation Affinity for consuming Zonal reservation. # Optional. Reservation Affinity of the notebook runtime template.
+      "consumeReservationType": "A String", # Required. Specifies the type of reservation from which this instance can consume resources: RESERVATION_ANY (default), RESERVATION_SPECIFIC, or RESERVATION_NONE. See Consuming reserved instances for examples.
+      "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a RESERVATION_SPECIFIC by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
+      "values": [ # Optional. Corresponds to the label values of a reservation resource. This must be the full path name of Reservation.
+        "A String",
+      ],
+    },
+    "serviceAccount": "A String", # Deprecated: This field is ignored and the "Vertex AI Notebook Service Account" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.
+    "shieldedVmConfig": { # A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). # Optional. Immutable. Runtime Shielded VM spec.
+      "enableSecureBoot": True or False, # Defines whether the instance has [Secure Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.
+    },
+    "softwareConfig": { # Notebook Software Config. This is passed to the backend when user makes software configurations in UI. # Optional. The notebook software configuration of the notebook runtime.
+      "colabImage": { # Colab image of the runtime. # Optional. Google-managed NotebookRuntime colab image.
+        "description": "A String", # Output only. A human-readable description of the specified colab image release, populated by the system. Example: "Python 3.10", "Latest - current Python 3.11"
+        "releaseName": "A String", # Optional. The release name of the NotebookRuntime Colab image, e.g. "py310". If not specified, detault to the latest release.
+      },
+      "env": [ # Optional. Environment variables to be passed to the container. Maximum limit is 100.
+        { # Represents an environment variable present in a Container or Python Module.
+          "name": "A String", # Required. Name of the environment variable. Must be a valid C identifier.
+          "value": "A String", # Required. Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
+        },
+      ],
+      "postStartupScriptConfig": { # Post startup script config. # Optional. Post startup script config.
+        "postStartupScript": "A String", # Optional. Post startup script to run after runtime is started.
+        "postStartupScriptBehavior": "A String", # Optional. Post startup script behavior that defines download and execution behavior.
+        "postStartupScriptUrl": "A String", # Optional. Post startup script url to download. Example: `gs://bucket/script.sh`
+      },
+    },
+    "updateTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was most recently updated.
+  },
+}
+
+
setIamPolicy(resource, body=None, x__xgafv=None)
Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
diff --git a/docs/dyn/aiplatform_v1.projects.locations.onlineEvaluators.html b/docs/dyn/aiplatform_v1.projects.locations.onlineEvaluators.html
index 33f45fe32c..663c518173 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.onlineEvaluators.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.onlineEvaluators.html
@@ -288,6 +288,7 @@ 

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -473,6 +474,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -887,6 +889,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1072,6 +1075,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1430,6 +1434,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1615,6 +1620,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1977,6 +1983,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2162,6 +2169,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1.projects.locations.publishers.files.html b/docs/dyn/aiplatform_v1.projects.locations.publishers.files.html index 2f408f4c58..8d9ed90d88 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.publishers.files.html +++ b/docs/dyn/aiplatform_v1.projects.locations.publishers.files.html @@ -90,7 +90,7 @@

Instance Methods

get(name, x__xgafv=None)

Gets the metadata for the given file.

- list(parent, publishersId, ids=None, limit=None, page=None, x__xgafv=None)

+ list(parent, publishersId, limit=None, page=None, x__xgafv=None)

Lists the files owned by the requesting project and location. Supports two mutually exclusive modes: paginated listing via an opaque `page` cursor, or batch fetch by `ids`. See `ListFilesRequest`.

upload(parent, publishersId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)

@@ -183,13 +183,12 @@

Method Details

- list(parent, publishersId, ids=None, limit=None, page=None, x__xgafv=None) + list(parent, publishersId, limit=None, page=None, x__xgafv=None)
Lists the files owned by the requesting project and location. Supports two mutually exclusive modes: paginated listing via an opaque `page` cursor, or batch fetch by `ids`. See `ListFilesRequest`.
 
 Args:
   parent: string, Required. The location to list files under. Format: `projects/{project}/locations/{location}` (required)
   publishersId: string, A parameter (required)
-  ids: string, Optional. Batch fetch: return only these files, up to 100 IDs after de-duplication. Mutually exclusive with both `page` and `limit`. Serialised as a repeated `ids` query parameter, one occurrence per ID. (repeated)
   limit: integer, Optional. The number of files to return per page. Defaults to 20 if unset, maximum 1000. Mutually exclusive with `ids`.
   page: string, Optional. Opaque pagination cursor. Pass the previous response's `next_page` to fetch the next page. Mutually exclusive with `ids`.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html b/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
index b4ac73e47e..3f84b73514 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
@@ -558,6 +558,7 @@ 

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1397,6 +1398,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2663,6 +2665,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.html b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.html index a3bd3a75ee..07b29fef2d 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.html +++ b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.html @@ -504,6 +504,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -915,6 +920,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1257,6 +1267,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1569,6 +1584,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", diff --git a/docs/dyn/aiplatform_v1.projects.locations.tuningJobs.html b/docs/dyn/aiplatform_v1.projects.locations.tuningJobs.html index 35962ddfce..1266891acb 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.tuningJobs.html +++ b/docs/dyn/aiplatform_v1.projects.locations.tuningJobs.html @@ -279,6 +279,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -454,6 +455,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -647,6 +649,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -832,6 +835,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1643,6 +1647,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1818,6 +1823,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2011,6 +2017,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2196,6 +2203,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3014,6 +3022,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3189,6 +3198,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3382,6 +3392,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3567,6 +3578,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4391,6 +4403,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4566,6 +4579,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4759,6 +4773,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4944,6 +4959,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5783,6 +5799,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5958,6 +5975,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6151,6 +6169,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6336,6 +6355,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1.publishers.models.html b/docs/dyn/aiplatform_v1.publishers.models.html index ed91274cb2..6e7053340b 100644 --- a/docs/dyn/aiplatform_v1.publishers.models.html +++ b/docs/dyn/aiplatform_v1.publishers.models.html @@ -367,6 +367,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1037,6 +1038,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2650,6 +2652,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1.reasoningEngines.html b/docs/dyn/aiplatform_v1.reasoningEngines.html index be05f70c3b..7af0d519c5 100644 --- a/docs/dyn/aiplatform_v1.reasoningEngines.html +++ b/docs/dyn/aiplatform_v1.reasoningEngines.html @@ -494,6 +494,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -906,6 +911,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1213,6 +1223,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1525,6 +1540,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", diff --git a/docs/dyn/aiplatform_v1.v1.html b/docs/dyn/aiplatform_v1.v1.html index 33759361de..3bffc8b0e9 100644 --- a/docs/dyn/aiplatform_v1.v1.html +++ b/docs/dyn/aiplatform_v1.v1.html @@ -125,6 +125,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -331,6 +332,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -516,6 +518,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -759,6 +762,7 @@

Method Details

The object takes the form of: { # Request message for EvaluationService.EvaluateInstances. + "allowCrossRegionModel": True or False, # Optional. Allows the evaluation run to use cross region models. When this flag is set, the service may route traffic to other regions if a model is unavailable in the current region (e.g., to a `global` endpoint). If a fully-qualified model endpoint resource name with a different region than the request location is provided elsewhere in the request, this flag must be set to true or the request will fail. "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored. "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. @@ -783,6 +787,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3542,6 +3547,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3727,6 +3733,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3974,6 +3981,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4159,6 +4167,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5639,6 +5648,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1beta1.collaborativeProjects.html b/docs/dyn/aiplatform_v1beta1.collaborativeProjects.html new file mode 100644 index 0000000000..32916bd453 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.collaborativeProjects.html @@ -0,0 +1,91 @@ + + + +

Agent Platform API . collaborativeProjects

+

Instance Methods

+

+ operations() +

+

Returns the operations Resource.

+ +

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.collaborativeProjects.operations.html b/docs/dyn/aiplatform_v1beta1.collaborativeProjects.operations.html new file mode 100644 index 0000000000..48eaefd272 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.collaborativeProjects.operations.html @@ -0,0 +1,205 @@ + + + +

Agent Platform API . collaborativeProjects . operations

+

Instance Methods

+

+ cancel(name, x__xgafv=None)

+

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`.

+

+ close()

+

Close httplib2 connections.

+

+ delete(name, x__xgafv=None)

+

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.

+

+ get(name, x__xgafv=None)

+

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.

+

+ wait(name, timeout=None, x__xgafv=None)

+

Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.

+

Method Details

+
+ cancel(name, x__xgafv=None) +
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`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ delete(name, x__xgafv=None) +
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`.
+
+Args:
+  name: string, The name of the operation resource to be deleted. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ get(name, x__xgafv=None) +
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.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ wait(name, timeout=None, x__xgafv=None) +
Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.
+
+Args:
+  name: string, The name of the operation resource to wait on. (required)
+  timeout: string, The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.endpoints.html b/docs/dyn/aiplatform_v1beta1.endpoints.html index e62d3a45a2..08b813b382 100644 --- a/docs/dyn/aiplatform_v1beta1.endpoints.html +++ b/docs/dyn/aiplatform_v1beta1.endpoints.html @@ -376,6 +376,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1058,6 +1059,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2109,6 +2111,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1beta1.html b/docs/dyn/aiplatform_v1beta1.html index 258eec4a09..d282b97e2b 100644 --- a/docs/dyn/aiplatform_v1beta1.html +++ b/docs/dyn/aiplatform_v1beta1.html @@ -89,6 +89,11 @@

Instance Methods

Returns the batchPredictionJobs Resource.

+

+ collaborativeProjects() +

+

Returns the collaborativeProjects Resource.

+

customJobs()

@@ -189,6 +194,11 @@

Instance Methods

Returns the interactions Resource.

+

+ learningSets() +

+

Returns the learningSets Resource.

+

media()

diff --git a/docs/dyn/aiplatform_v1beta1.interactions.html b/docs/dyn/aiplatform_v1beta1.interactions.html index 403384c341..d77f3af5b6 100644 --- a/docs/dyn/aiplatform_v1beta1.interactions.html +++ b/docs/dyn/aiplatform_v1beta1.interactions.html @@ -324,6 +324,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -534,7 +535,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -758,7 +759,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -2433,7 +2434,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -2620,6 +2621,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -2893,6 +2895,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -3103,7 +3106,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -3327,7 +3330,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -5002,7 +5005,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -5189,6 +5192,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -5466,6 +5470,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -5676,7 +5681,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -5900,7 +5905,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -7575,7 +7580,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -7762,6 +7767,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -8013,6 +8019,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -8223,7 +8230,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -8447,7 +8454,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -10122,7 +10129,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -10309,6 +10316,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -10353,6 +10361,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -11716,6 +11725,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -11754,6 +11764,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. diff --git a/docs/dyn/aiplatform_v1beta1.learningSets.html b/docs/dyn/aiplatform_v1beta1.learningSets.html new file mode 100644 index 0000000000..bfdc829c21 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.learningSets.html @@ -0,0 +1,91 @@ + + + +

Agent Platform API . learningSets

+

Instance Methods

+

+ operations() +

+

Returns the operations Resource.

+ +

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.learningSets.operations.html b/docs/dyn/aiplatform_v1beta1.learningSets.operations.html new file mode 100644 index 0000000000..fd6d209330 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.learningSets.operations.html @@ -0,0 +1,272 @@ + + + +

Agent Platform API . learningSets . operations

+

Instance Methods

+

+ cancel(name, x__xgafv=None)

+

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`.

+

+ close()

+

Close httplib2 connections.

+

+ delete(name, x__xgafv=None)

+

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.

+

+ get(name, x__xgafv=None)

+

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.

+

+ list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ wait(name, timeout=None, x__xgafv=None)

+

Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.

+

Method Details

+
+ cancel(name, x__xgafv=None) +
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`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ delete(name, x__xgafv=None) +
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`.
+
+Args:
+  name: string, The name of the operation resource to be deleted. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ get(name, x__xgafv=None) +
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.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation's parent resource. (required)
+  filter: string, The standard list filter.
+  pageSize: integer, The standard list page size.
+  pageToken: string, The standard list page token.
+  returnPartialSuccess: boolean, 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.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Operations.ListOperations.
+  "nextPageToken": "A String", # The standard List next-page token.
+  "operations": [ # A list of operations that matches the specified filter in the request.
+    { # This resource represents a long-running operation that is the result of a network API call.
+      "done": True or False, # 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.
+      "error": { # 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). # The error result of the operation in case of failure or cancellation.
+        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+          {
+            "a_key": "", # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+        "message": "A String", # 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.
+      },
+      "metadata": { # 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.
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+      "name": "A String", # 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}`.
+      "response": { # 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`.
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+  "unreachable": [ # 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.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ wait(name, timeout=None, x__xgafv=None) +
Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.
+
+Args:
+  name: string, The name of the operation resource to wait on. (required)
+  timeout: string, The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.media.html b/docs/dyn/aiplatform_v1beta1.media.html index f708e972d8..0b91585445 100644 --- a/docs/dyn/aiplatform_v1beta1.media.html +++ b/docs/dyn/aiplatform_v1beta1.media.html @@ -78,8 +78,11 @@

Instance Methods

close()

Close httplib2 connections.

- upload(parent, body=None, media_body=None, media_mime_type=None, x__xgafv=None)

-

Upload a file into a RagCorpus.

+ download(name, path=None, processingConfig_outputMimeType=None, x__xgafv=None)

+

Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.

+

+ download_media(name, path=None, processingConfig_outputMimeType=None, x__xgafv=None)

+

Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.

Method Details

close() @@ -87,269 +90,284 @@

Method Details

- upload(parent, body=None, media_body=None, media_mime_type=None, x__xgafv=None) -
Upload a file into a RagCorpus.
+    download(name, path=None, processingConfig_outputMimeType=None, x__xgafv=None)
+  
Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.
 
 Args:
-  parent: string, Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` (required)
-  body: object, The request body.
-    The object takes the form of:
+  name: string, Required. The task or collaborative project to download from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  path: string, Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.md`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.
+  processingConfig_outputMimeType: string, Required. The media type of the rendition: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid. Any other value fails with `INVALID_ARGUMENT`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
 
-{ # Request message for VertexRagDataService.UploadRagFile.
-  "ragFile": { # A RagFile contains user data for chunking, embedding and indexing. # Required. The RagFile to upload.
-    "createTime": "A String", # Output only. Timestamp when this RagFile was created.
-    "description": "A String", # Optional. The description of the RagFile.
-    "directUploadSource": { # The input content is encapsulated and uploaded in the request. # Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request.
-    },
-    "displayName": "A String", # Required. The display name of the RagFile. The name can be up to 128 characters long and can consist of any UTF-8 characters.
-    "fileStatus": { # RagFile status. # Output only. State of the RagFile.
-      "errorStatus": "A String", # Output only. Only when the `state` field is ERROR.
-      "state": "A String", # Output only. RagFile state.
-    },
-    "gcsSource": { # The Google Cloud Storage location for the input content. # Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now.
-      "uris": [ # Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.
-        "A String",
-      ],
-    },
-    "googleDriveSource": { # The Google Drive location for the input content. # Output only. Google Drive location. Supports importing individual files as well as Google Drive folders.
-      "resourceIds": [ # Required. Google Drive resource IDs.
-        { # The type and ID of the Google Drive resource.
-          "resourceId": "A String", # Required. The ID of the Google Drive resource.
-          "resourceType": "A String", # Required. The type of the Google Drive resource.
-        },
-      ],
-    },
-    "jiraSource": { # The Jira source for the ImportRagFilesRequest. # The RagFile is imported from a Jira query.
-      "jiraQueries": [ # Required. The Jira queries.
-        { # JiraQueries contains the Jira queries and corresponding authentication.
-          "apiKeyConfig": { # The API secret. # Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/).
-            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
-            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
-          },
-          "customQueries": [ # A list of custom Jira queries to import. For information about JQL (Jira Query Language), see https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/
-            "A String",
-          ],
-          "email": "A String", # Required. The Jira email address.
-          "projects": [ # A list of Jira projects to import in their entirety.
-            "A String",
-          ],
-          "serverUri": "A String", # Required. The Jira server URI.
-        },
-      ],
-    },
-    "name": "A String", # Output only. The resource name of the RagFile.
-    "ragFileType": "A String", # Output only. The type of the RagFile.
-    "sharePointSources": { # The SharePointSources to pass to ImportRagFiles. # The RagFile is imported from a SharePoint source.
-      "sharePointSources": [ # The SharePoint sources.
-        { # An individual SharePointSource.
-          "clientId": "A String", # The Application ID for the app registered in Microsoft Azure Portal. The application must also be configured with MS Graph permissions "Files.ReadAll", "Sites.ReadAll" and BrowserSiteLists.Read.All.
-          "clientSecret": { # The API secret. # The application secret for the app registered in Azure.
-            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
-            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
-          },
-          "driveId": "A String", # The ID of the drive to download from.
-          "driveName": "A String", # The name of the drive to download from.
-          "fileId": "A String", # Output only. The SharePoint file id. Output only.
-          "sharepointFolderId": "A String", # The ID of the SharePoint folder to download from.
-          "sharepointFolderPath": "A String", # The path of the SharePoint folder to download from.
-          "sharepointSiteName": "A String", # The name of the SharePoint site to download from. This can be the site name or the site id.
-          "tenantId": "A String", # Unique identifier of the Azure Active Directory Instance.
-        },
-      ],
-    },
-    "sizeBytes": "A String", # Output only. The size of the RagFile in bytes.
-    "slackSource": { # The Slack source for the ImportRagFilesRequest. # The RagFile is imported from a Slack channel.
-      "channels": [ # Required. The Slack channels.
-        { # SlackChannels contains the Slack channels and corresponding access token.
-          "apiKeyConfig": { # The API secret. # Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Slack channel access token that has access to the slack channel IDs. See: https://api.slack.com/tutorials/tracks/getting-a-token.
-            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
-            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
-          },
-          "channels": [ # Required. The Slack channel IDs.
-            { # SlackChannel contains the Slack channel ID and the time range to import.
-              "channelId": "A String", # Required. The Slack channel ID.
-              "endTime": "A String", # Optional. The ending timestamp for messages to import.
-              "startTime": "A String", # Optional. The starting timestamp for messages to import.
-            },
-          ],
-        },
-      ],
+Returns:
+  An object of the form:
+
+    { # A reference to data stored on the filesystem, on GFS or in blobstore.
+  "algorithm": "A String", # Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, "MD5" is the only possible value for this field. New values may be added at any time.
+  "bigstoreObjectRef": "A String", # Use object_id instead.
+  "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+  "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+    "blobGeneration": "A String", # The blob generation id.
+    "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+    "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+    "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+    "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+    "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+    "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+  },
+  "compositeMedia": [ # A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified.
+    { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
     },
-    "updateTime": "A String", # Output only. Timestamp when this RagFile was last updated.
-    "userMetadata": "A String", # Output only. The metadata for metadata search. The user_metadata Needs to be in JSON format.
+  ],
+  "contentType": "A String", # MIME type of the data
+  "contentTypeInfo": { # Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty. # Extended content type information provided for Scotty uploads.
+    "bestGuess": "A String", # Scotty's best guess of what the content type of the file is.
+    "fromBytes": "A String", # The content type of the file derived by looking at specific bytes (i.e. "magic bytes") of the actual file.
+    "fromFileName": "A String", # The content type of the file derived from the file extension of the original file name used by the client.
+    "fromFusionId": "A String", # The content type of the file detected by Fusion ID. go/fusionid
+    "fromHeader": "A String", # The content type of the file as specified in the request headers, multipart headers, or RUPIO start request.
+    "fromUrlPath": "A String", # The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API).
+    "fusionIdDetectionMetadata": "A String", # Metadata information from Fusion ID detection. Serialized FusionIdDetectionMetadata proto. Only set if from_fusion_id is set.
   },
-  "uploadRagFileConfig": { # Config for uploading RagFile. # Required. The config for the RagFiles to be uploaded into the RagCorpus. VertexRagDataService.UploadRagFile.
-    "ragFileChunkingConfig": { # Specifies the size and overlap of chunks for RagFiles. # Specifies the size and overlap of chunks after uploading RagFile.
-      "chunkOverlap": 42, # The overlap between chunks.
-      "chunkSize": 42, # The size of the chunks.
-      "fixedLengthChunking": { # Specifies the fixed length chunking config. # Specifies the fixed length chunking config.
-        "chunkOverlap": 42, # The overlap between chunks.
-        "chunkSize": 42, # The size of the chunks.
+  "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+  "crc32cHash": 42, # For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported.
+  "diffChecksumsResponse": { # Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_CHECKSUMS_RESPONSE.
+    "checksumsLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
       },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
     },
-    "ragFileMetadataConfig": { # Metadata config for RagFile. # Optional. Specifies the metadata config for RagFiles. Including paths for metadata schema and metadata. Alteratively, inline metadata schema and metadata can be provided. Deprecated: Not in use.
-      "gcsMetadataSchemaSource": { # The Google Cloud Storage location for the input content. # Google Cloud Storage location. Supports importing individual files as well as entire Google Cloud Storage directories. Sample formats: - `gs://bucket_name/my_directory/object_name/metadata_schema.json` - `gs://bucket_name/my_directory` If the user provides a directory, the metadata schema will be read from the files that ends with "metadata_schema.json" in the directory.
-        "uris": [ # Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.
-          "A String",
-        ],
+    "chunkSizeBytes": "A String", # The chunk size of checksums. Must be a multiple of 256KB.
+    "objectLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # If set, calculate the checksums based on the contents and return them to the caller.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
       },
-      "gcsMetadataSource": { # The Google Cloud Storage location for the input content. # Google Cloud Storage location. Supports importing individual files as well as entire Google Cloud Storage directories. Sample formats: - `gs://bucket_name/my_directory/object_name/metadata.json` - `gs://bucket_name/my_directory` If the user provides a directory, the metadata will be read from the files that ends with "metadata.json" in the directory.
-        "uris": [ # Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.
-          "A String",
-        ],
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
       },
-      "googleDriveMetadataSchemaSource": { # The Google Drive location for the input content. # Google Drive location. Supports importing individual files as well as Google Drive folders. If the user provides a folder, the metadata schema will be read from the files that ends with "metadata_schema.json" in the directory.
-        "resourceIds": [ # Required. Google Drive resource IDs.
-          { # The type and ID of the Google Drive resource.
-            "resourceId": "A String", # Required. The ID of the Google Drive resource.
-            "resourceType": "A String", # Required. The type of the Google Drive resource.
-          },
-        ],
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+    "objectSizeBytes": "A String", # The total size of the server object.
+    "objectVersion": "A String", # The object version of the object the checksums are being returned for.
+  },
+  "diffDownloadResponse": { # Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_DOWNLOAD_RESPONSE.
+    "objectLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The original object location.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
       },
-      "googleDriveMetadataSource": { # The Google Drive location for the input content. # Google Drive location. Supports importing individual files as well as Google Drive folders. If the user provides a directory, the metadata will be read from the files that ends with "metadata.json" in the directory.
-        "resourceIds": [ # Required. Google Drive resource IDs.
-          { # The type and ID of the Google Drive resource.
-            "resourceId": "A String", # Required. The ID of the Google Drive resource.
-            "resourceType": "A String", # Required. The type of the Google Drive resource.
-          },
-        ],
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
       },
-      "inlineMetadataSchemaSource": "A String", # Inline metadata schema source. Must be a JSON string.
-      "inlineMetadataSource": "A String", # Inline metadata source. Must be a JSON string.
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
     },
-    "ragFileParsingConfig": { # Specifies the parsing config for RagFiles. # Optional. Specifies the parsing config for RagFiles. RAG will use the default parser if this field is not set.
-      "advancedParser": { # Specifies the advanced parsing for RagFiles. # The Advanced Parser to use for RagFiles.
-        "useAdvancedPdfParsing": True or False, # Whether to use advanced PDF parsing.
+  },
+  "diffUploadRequest": { # A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_UPLOAD_REQUEST.
+    "checksumsInfo": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
       },
-      "layoutParser": { # Document AI Layout Parser config. # The Layout Parser to use for RagFiles.
-        "globalMaxParsingRequestsPerMin": 42, # The maximum number of requests the job is allowed to make to the Document AI processor per minute in this project. Consult https://cloud.google.com/document-ai/quotas and the Quota page for your project to set an appropriate value here. If this value is not specified, max_parsing_requests_per_min will be used by indexing pipeline as the global limit.
-        "maxParsingRequestsPerMin": 42, # The maximum number of requests the job is allowed to make to the Document AI processor per minute. Consult https://cloud.google.com/document-ai/quotas and the Quota page for your project to set an appropriate value here. If unspecified, a default value of 120 QPM would be used.
-        "processorName": "A String", # The full resource name of a Document AI processor or processor version. The processor must have type `LAYOUT_PARSER_PROCESSOR`. If specified, the `additional_config.parse_as_scanned_pdf` field must be false. Format: * `projects/{project_id}/locations/{location}/processors/{processor_id}` * `projects/{project_id}/locations/{location}/processors/{processor_id}/processorVersions/{processor_version_id}`
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+    "objectInfo": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
       },
-      "llmParser": { # Specifies the LLM parsing for RagFiles. # The LLM Parser to use for RagFiles.
-        "customParsingPrompt": "A String", # The prompt to use for parsing. If not specified, a default prompt will be used.
-        "globalMaxParsingRequestsPerMin": 42, # The maximum number of requests the job is allowed to make to the LLM model per minute in this project. Consult https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your document size to set an appropriate value here. If this value is not specified, max_parsing_requests_per_min will be used by indexing pipeline job as the global limit.
-        "maxParsingRequestsPerMin": 42, # The maximum number of requests the job is allowed to make to the LLM model per minute. Consult https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your document size to set an appropriate value here. If unspecified, a default value of 5000 QPM would be used.
-        "modelName": "A String", # The name of a LLM model used for parsing. Format: * `projects/{project_id}/locations/{location}/publishers/{publisher}/models/{model}`
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
       },
-      "useAdvancedPdfParsing": True or False, # Whether to use advanced PDF parsing.
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
     },
-    "ragFileTransformationConfig": { # Specifies the transformation config for RagFiles. # Specifies the transformation config for RagFiles.
-      "ragFileChunkingConfig": { # Specifies the size and overlap of chunks for RagFiles. # Specifies the chunking config for RagFiles.
-        "chunkOverlap": 42, # The overlap between chunks.
-        "chunkSize": 42, # The size of the chunks.
-        "fixedLengthChunking": { # Specifies the fixed length chunking config. # Specifies the fixed length chunking config.
-          "chunkOverlap": 42, # The overlap between chunks.
-          "chunkSize": 42, # The size of the chunks.
-        },
+    "objectVersion": "A String", # The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in.
+  },
+  "diffUploadResponse": { # Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_UPLOAD_RESPONSE.
+    "objectVersion": "A String", # The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload.
+    "originalObject": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
       },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
     },
   },
-}
+  "diffVersionResponse": { # Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_VERSION_RESPONSE.
+    "objectSizeBytes": "A String", # The total size of the server object.
+    "objectVersion": "A String", # The version of the object stored at the server.
+  },
+  "downloadParameters": { # Parameters specific to media downloads. # Parameters for a media download.
+    "allowGzipCompression": True or False, # A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client.
+    "ignoreRange": True or False, # Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty.
+  },
+  "filename": "A String", # Original file name
+  "hash": "A String", # Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media.
+  "hashVerified": True or False, # For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification.
+  "inline": "A String", # Media data, set if reference_type is INLINE
+  "isPotentialRetry": True or False, # |is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence.
+  "length": "A String", # Size of the data, in bytes
+  "md5Hash": "A String", # Scotty-provided MD5 hash for an upload.
+  "mediaId": "A String", # Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA.
+  "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+    "bucketName": "A String", # The name of the bucket to which this object belongs.
+    "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+    "objectName": "A String", # The name of the object.
+  },
+  "path": "A String", # Path to the data, set if reference_type is PATH
+  "referenceType": "A String", # Describes what the field reference contains.
+  "sha1Hash": "A String", # Scotty-provided SHA1 hash for an upload.
+  "sha256Hash": "A String", # Scotty-provided SHA256 hash for an upload.
+  "sha512Hash": "A String", # Scotty-provided SHA512 hash for an upload.
+  "timestamp": "A String", # Time at which the media data was last updated, in milliseconds since UNIX epoch
+  "token": "A String", # A unique fingerprint/version id for the media data
+}
+
+ +
+ download_media(name, path=None, processingConfig_outputMimeType=None, x__xgafv=None) +
Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.
 
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
+Args:
+  name: string, Required. The task or collaborative project to download from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  path: string, Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.md`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.
+  processingConfig_outputMimeType: string, Required. The media type of the rendition: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid. Any other value fails with `INVALID_ARGUMENT`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
 
 Returns:
-  An object of the form:
+  The media object as a string.
 
-    { # Response message for VertexRagDataService.UploadRagFile.
-  "error": { # 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). # The error that occurred while processing the RagFile.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # 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.
-  },
-  "ragFile": { # A RagFile contains user data for chunking, embedding and indexing. # The RagFile that had been uploaded into the RagCorpus.
-    "createTime": "A String", # Output only. Timestamp when this RagFile was created.
-    "description": "A String", # Optional. The description of the RagFile.
-    "directUploadSource": { # The input content is encapsulated and uploaded in the request. # Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request.
-    },
-    "displayName": "A String", # Required. The display name of the RagFile. The name can be up to 128 characters long and can consist of any UTF-8 characters.
-    "fileStatus": { # RagFile status. # Output only. State of the RagFile.
-      "errorStatus": "A String", # Output only. Only when the `state` field is ERROR.
-      "state": "A String", # Output only. RagFile state.
-    },
-    "gcsSource": { # The Google Cloud Storage location for the input content. # Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now.
-      "uris": [ # Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.
-        "A String",
-      ],
-    },
-    "googleDriveSource": { # The Google Drive location for the input content. # Output only. Google Drive location. Supports importing individual files as well as Google Drive folders.
-      "resourceIds": [ # Required. Google Drive resource IDs.
-        { # The type and ID of the Google Drive resource.
-          "resourceId": "A String", # Required. The ID of the Google Drive resource.
-          "resourceType": "A String", # Required. The type of the Google Drive resource.
-        },
-      ],
-    },
-    "jiraSource": { # The Jira source for the ImportRagFilesRequest. # The RagFile is imported from a Jira query.
-      "jiraQueries": [ # Required. The Jira queries.
-        { # JiraQueries contains the Jira queries and corresponding authentication.
-          "apiKeyConfig": { # The API secret. # Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/).
-            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
-            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
-          },
-          "customQueries": [ # A list of custom Jira queries to import. For information about JQL (Jira Query Language), see https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/
-            "A String",
-          ],
-          "email": "A String", # Required. The Jira email address.
-          "projects": [ # A list of Jira projects to import in their entirety.
-            "A String",
-          ],
-          "serverUri": "A String", # Required. The Jira server URI.
-        },
-      ],
-    },
-    "name": "A String", # Output only. The resource name of the RagFile.
-    "ragFileType": "A String", # Output only. The type of the RagFile.
-    "sharePointSources": { # The SharePointSources to pass to ImportRagFiles. # The RagFile is imported from a SharePoint source.
-      "sharePointSources": [ # The SharePoint sources.
-        { # An individual SharePointSource.
-          "clientId": "A String", # The Application ID for the app registered in Microsoft Azure Portal. The application must also be configured with MS Graph permissions "Files.ReadAll", "Sites.ReadAll" and BrowserSiteLists.Read.All.
-          "clientSecret": { # The API secret. # The application secret for the app registered in Azure.
-            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
-            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
-          },
-          "driveId": "A String", # The ID of the drive to download from.
-          "driveName": "A String", # The name of the drive to download from.
-          "fileId": "A String", # Output only. The SharePoint file id. Output only.
-          "sharepointFolderId": "A String", # The ID of the SharePoint folder to download from.
-          "sharepointFolderPath": "A String", # The path of the SharePoint folder to download from.
-          "sharepointSiteName": "A String", # The name of the SharePoint site to download from. This can be the site name or the site id.
-          "tenantId": "A String", # Unique identifier of the Azure Active Directory Instance.
-        },
-      ],
-    },
-    "sizeBytes": "A String", # Output only. The size of the RagFile in bytes.
-    "slackSource": { # The Slack source for the ImportRagFilesRequest. # The RagFile is imported from a Slack channel.
-      "channels": [ # Required. The Slack channels.
-        { # SlackChannels contains the Slack channels and corresponding access token.
-          "apiKeyConfig": { # The API secret. # Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Slack channel access token that has access to the slack channel IDs. See: https://api.slack.com/tutorials/tracks/getting-a-token.
-            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
-            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
-          },
-          "channels": [ # Required. The Slack channel IDs.
-            { # SlackChannel contains the Slack channel ID and the time range to import.
-              "channelId": "A String", # Required. The Slack channel ID.
-              "endTime": "A String", # Optional. The ending timestamp for messages to import.
-              "startTime": "A String", # Optional. The starting timestamp for messages to import.
-            },
-          ],
-        },
-      ],
-    },
-    "updateTime": "A String", # Output only. Timestamp when this RagFile was last updated.
-    "userMetadata": "A String", # Output only. The metadata for metadata search. The user_metadata Needs to be in JSON format.
-  },
-}
+
\ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html index 0c9e5be627..f025b247e1 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html @@ -79,11 +79,16 @@

Instance Methods

Returns the operations Resource.

+

+ tasks() +

+

Returns the tasks Resource.

+

close()

Close httplib2 connections.

- create(parent, body=None, idpNonce=None, x__xgafv=None)

+ create(parent, body=None, x__xgafv=None)

Creates an agent.

delete(name, force=None, x__xgafv=None)

@@ -116,7 +121,7 @@

Method Details

- create(parent, body=None, idpNonce=None, x__xgafv=None) + create(parent, body=None, x__xgafv=None)
Creates an agent.
 
 Args:
@@ -125,13 +130,36 @@ 

Method Details

The object takes the form of: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. + "agentIdentity": { # Identity configuration for an agent. # Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition). + "email": "A String", # Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain. + "gaiaId": "A String", # Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`. + "tenant": { # Represents an enterprise tenant. # Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. "C0123abcd"). + "id": "A String", # Optional. The unique raw ID of the tenant. + "type": "A String", # Optional. The type of the tenant. + }, + }, "aiApplication": "A String", # Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`. + "allowedTeammates": { # The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports. # Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`. + "teammates": [ # Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge. + { # One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none. + "email": "A String", # Optional. Email address of the teammate. + "expansionMode": "A String", # Optional. Expansion mode for group or space teammates. + "gaiaId": "A String", # Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number. + }, + ], + }, "base_agent": "A String", # Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead. "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. "effectiveIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE principal) of the agent. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "memoryConfig": { # Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks. # Optional. Memory settings for the agent. + "disableMemory": True or False, # Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them. + }, "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, @@ -145,6 +173,24 @@

Method Details

"observabilityEnabled": True or False, # Optional. Enables observability for this agent's sessions: OpenTelemetry span emission covering tool names, model names, token counts, latencies and status. If `false`, the other fields here are ignored. "sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (prompts, model completions, tool argument payloads and tool responses). If `false`, those are sanitized and only structural attributes are recorded. No effect unless `observability_enabled` is true. Settable and returned, but NOT YET ENFORCED. Nothing reads it at runtime, so `true` does not currently cause content to be captured, and `false` is not what keeps content from being captured. Treat it as a recorded intention that takes effect when enforcement lands. }, + "owner": { # Represents an identity principal (user or service). # Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy — so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner. + "id": "A String", # Optional. The system unique identifier of the principal. + "type": "A String", # Optional. The type of the principal. + }, + "persona": { # The persona (presentation) of an agent. # Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal. + "avatarUrl": "A String", # Optional. The URL of the agent's avatar. + "displayName": "A String", # Required. The display name of the agent. + "personality": "A String", # Optional. The personality style or behavioral trait of the agent. + "role": "A String", # Optional. The role of the agent (e.g., "Financial Analyst"). + }, + "status": { # Operational state of the agent. # Output only. The current operational state of the agent. + "deleteTime": "A String", # Output only. The time at which the agent was soft-deleted. + "state": "A String", # Output only. The current state of the agent. + "suspensionReason": { # Details about the active suspension. This message is only populated if the state is SUSPENDED. # Output only. Context about the current active suspension. + "reason": "A String", # Output only. The reason for the current suspension. + "suspensionTime": "A String", # Output only. The time when the current suspension was applied. + }, + }, "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. "tools": [ # Optional. The tools available to the agent. { # A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { "type": "mcp_server", "name": "my-mcp-server", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer token123" } } @@ -152,14 +198,13 @@

Method Details

"a_key": "A String", }, "name": "A String", # Optional. The tool's Google Cloud resource name, used to resolve the tool. Applicable when `type` is `mcp_server` or `endpoint` (a tool registered in Agent Registry), for example `projects/{project}/locations/{location}/.../mcpServers/{id}` or `projects/{project}/locations/{location}/.../endpoints/{id}`. - "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "type": "A String", # Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation` "url": "A String", # Optional. Fallback for the tool's runtime reference, consumed by `CreateAgent` to create the downstream AI App. Applicable when `type` is `mcp_server` or `endpoint`, and optional: the Agent service derives the runtime reference from `name` via Agent Registry (`GetMcpServer` / `GetEndpoint`), and reads this only when that lookup yields none. }, ], "updated": "A String", # Output only. The time the agent was last updated. } - idpNonce: string, Optional. Optional. One-time cryptographic nonce issued by the trusted IdP provisioning iframe for session and device non-repudiation. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -240,13 +285,36 @@

Method Details

An object of the form: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. + "agentIdentity": { # Identity configuration for an agent. # Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition). + "email": "A String", # Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain. + "gaiaId": "A String", # Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`. + "tenant": { # Represents an enterprise tenant. # Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. "C0123abcd"). + "id": "A String", # Optional. The unique raw ID of the tenant. + "type": "A String", # Optional. The type of the tenant. + }, + }, "aiApplication": "A String", # Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`. + "allowedTeammates": { # The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports. # Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`. + "teammates": [ # Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge. + { # One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none. + "email": "A String", # Optional. Email address of the teammate. + "expansionMode": "A String", # Optional. Expansion mode for group or space teammates. + "gaiaId": "A String", # Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number. + }, + ], + }, "base_agent": "A String", # Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead. "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. "effectiveIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE principal) of the agent. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "memoryConfig": { # Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks. # Optional. Memory settings for the agent. + "disableMemory": True or False, # Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them. + }, "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, @@ -260,6 +328,24 @@

Method Details

"observabilityEnabled": True or False, # Optional. Enables observability for this agent's sessions: OpenTelemetry span emission covering tool names, model names, token counts, latencies and status. If `false`, the other fields here are ignored. "sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (prompts, model completions, tool argument payloads and tool responses). If `false`, those are sanitized and only structural attributes are recorded. No effect unless `observability_enabled` is true. Settable and returned, but NOT YET ENFORCED. Nothing reads it at runtime, so `true` does not currently cause content to be captured, and `false` is not what keeps content from being captured. Treat it as a recorded intention that takes effect when enforcement lands. }, + "owner": { # Represents an identity principal (user or service). # Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy — so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner. + "id": "A String", # Optional. The system unique identifier of the principal. + "type": "A String", # Optional. The type of the principal. + }, + "persona": { # The persona (presentation) of an agent. # Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal. + "avatarUrl": "A String", # Optional. The URL of the agent's avatar. + "displayName": "A String", # Required. The display name of the agent. + "personality": "A String", # Optional. The personality style or behavioral trait of the agent. + "role": "A String", # Optional. The role of the agent (e.g., "Financial Analyst"). + }, + "status": { # Operational state of the agent. # Output only. The current operational state of the agent. + "deleteTime": "A String", # Output only. The time at which the agent was soft-deleted. + "state": "A String", # Output only. The current state of the agent. + "suspensionReason": { # Details about the active suspension. This message is only populated if the state is SUSPENDED. # Output only. Context about the current active suspension. + "reason": "A String", # Output only. The reason for the current suspension. + "suspensionTime": "A String", # Output only. The time when the current suspension was applied. + }, + }, "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. "tools": [ # Optional. The tools available to the agent. { # A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { "type": "mcp_server", "name": "my-mcp-server", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer token123" } } @@ -267,7 +353,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Optional. The tool's Google Cloud resource name, used to resolve the tool. Applicable when `type` is `mcp_server` or `endpoint` (a tool registered in Agent Registry), for example `projects/{project}/locations/{location}/.../mcpServers/{id}` or `projects/{project}/locations/{location}/.../endpoints/{id}`. - "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "type": "A String", # Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation` "url": "A String", # Optional. Fallback for the tool's runtime reference, consumed by `CreateAgent` to create the downstream AI App. Applicable when `type` is `mcp_server` or `endpoint`, and optional: the Agent service derives the runtime reference from `name` via Agent Registry (`GetMcpServer` / `GetEndpoint`), and reads this only when that lookup yields none. }, ], @@ -331,13 +417,36 @@

Method Details

{ # Response message for AgentService.ListAgents. "agents": [ # The agents matching the request. { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. + "agentIdentity": { # Identity configuration for an agent. # Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition). + "email": "A String", # Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain. + "gaiaId": "A String", # Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`. + "tenant": { # Represents an enterprise tenant. # Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. "C0123abcd"). + "id": "A String", # Optional. The unique raw ID of the tenant. + "type": "A String", # Optional. The type of the tenant. + }, + }, "aiApplication": "A String", # Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`. + "allowedTeammates": { # The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports. # Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`. + "teammates": [ # Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge. + { # One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none. + "email": "A String", # Optional. Email address of the teammate. + "expansionMode": "A String", # Optional. Expansion mode for group or space teammates. + "gaiaId": "A String", # Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number. + }, + ], + }, "base_agent": "A String", # Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead. "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. "effectiveIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE principal) of the agent. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "memoryConfig": { # Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks. # Optional. Memory settings for the agent. + "disableMemory": True or False, # Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them. + }, "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, @@ -351,6 +460,24 @@

Method Details

"observabilityEnabled": True or False, # Optional. Enables observability for this agent's sessions: OpenTelemetry span emission covering tool names, model names, token counts, latencies and status. If `false`, the other fields here are ignored. "sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (prompts, model completions, tool argument payloads and tool responses). If `false`, those are sanitized and only structural attributes are recorded. No effect unless `observability_enabled` is true. Settable and returned, but NOT YET ENFORCED. Nothing reads it at runtime, so `true` does not currently cause content to be captured, and `false` is not what keeps content from being captured. Treat it as a recorded intention that takes effect when enforcement lands. }, + "owner": { # Represents an identity principal (user or service). # Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy — so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner. + "id": "A String", # Optional. The system unique identifier of the principal. + "type": "A String", # Optional. The type of the principal. + }, + "persona": { # The persona (presentation) of an agent. # Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal. + "avatarUrl": "A String", # Optional. The URL of the agent's avatar. + "displayName": "A String", # Required. The display name of the agent. + "personality": "A String", # Optional. The personality style or behavioral trait of the agent. + "role": "A String", # Optional. The role of the agent (e.g., "Financial Analyst"). + }, + "status": { # Operational state of the agent. # Output only. The current operational state of the agent. + "deleteTime": "A String", # Output only. The time at which the agent was soft-deleted. + "state": "A String", # Output only. The current state of the agent. + "suspensionReason": { # Details about the active suspension. This message is only populated if the state is SUSPENDED. # Output only. Context about the current active suspension. + "reason": "A String", # Output only. The reason for the current suspension. + "suspensionTime": "A String", # Output only. The time when the current suspension was applied. + }, + }, "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. "tools": [ # Optional. The tools available to the agent. { # A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { "type": "mcp_server", "name": "my-mcp-server", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer token123" } } @@ -358,7 +485,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Optional. The tool's Google Cloud resource name, used to resolve the tool. Applicable when `type` is `mcp_server` or `endpoint` (a tool registered in Agent Registry), for example `projects/{project}/locations/{location}/.../mcpServers/{id}` or `projects/{project}/locations/{location}/.../endpoints/{id}`. - "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "type": "A String", # Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation` "url": "A String", # Optional. Fallback for the tool's runtime reference, consumed by `CreateAgent` to create the downstream AI App. Applicable when `type` is `mcp_server` or `endpoint`, and optional: the Agent service derives the runtime reference from `name` via Agent Registry (`GetMcpServer` / `GetEndpoint`), and reads this only when that lookup yields none. }, ], @@ -393,13 +520,36 @@

Method Details

The object takes the form of: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. + "agentIdentity": { # Identity configuration for an agent. # Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition). + "email": "A String", # Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain. + "gaiaId": "A String", # Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`. + "tenant": { # Represents an enterprise tenant. # Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. "C0123abcd"). + "id": "A String", # Optional. The unique raw ID of the tenant. + "type": "A String", # Optional. The type of the tenant. + }, + }, "aiApplication": "A String", # Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`. + "allowedTeammates": { # The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports. # Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`. + "teammates": [ # Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge. + { # One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none. + "email": "A String", # Optional. Email address of the teammate. + "expansionMode": "A String", # Optional. Expansion mode for group or space teammates. + "gaiaId": "A String", # Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number. + }, + ], + }, "base_agent": "A String", # Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead. "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. "effectiveIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE principal) of the agent. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "memoryConfig": { # Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks. # Optional. Memory settings for the agent. + "disableMemory": True or False, # Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them. + }, "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, @@ -413,6 +563,24 @@

Method Details

"observabilityEnabled": True or False, # Optional. Enables observability for this agent's sessions: OpenTelemetry span emission covering tool names, model names, token counts, latencies and status. If `false`, the other fields here are ignored. "sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (prompts, model completions, tool argument payloads and tool responses). If `false`, those are sanitized and only structural attributes are recorded. No effect unless `observability_enabled` is true. Settable and returned, but NOT YET ENFORCED. Nothing reads it at runtime, so `true` does not currently cause content to be captured, and `false` is not what keeps content from being captured. Treat it as a recorded intention that takes effect when enforcement lands. }, + "owner": { # Represents an identity principal (user or service). # Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy — so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner. + "id": "A String", # Optional. The system unique identifier of the principal. + "type": "A String", # Optional. The type of the principal. + }, + "persona": { # The persona (presentation) of an agent. # Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal. + "avatarUrl": "A String", # Optional. The URL of the agent's avatar. + "displayName": "A String", # Required. The display name of the agent. + "personality": "A String", # Optional. The personality style or behavioral trait of the agent. + "role": "A String", # Optional. The role of the agent (e.g., "Financial Analyst"). + }, + "status": { # Operational state of the agent. # Output only. The current operational state of the agent. + "deleteTime": "A String", # Output only. The time at which the agent was soft-deleted. + "state": "A String", # Output only. The current state of the agent. + "suspensionReason": { # Details about the active suspension. This message is only populated if the state is SUSPENDED. # Output only. Context about the current active suspension. + "reason": "A String", # Output only. The reason for the current suspension. + "suspensionTime": "A String", # Output only. The time when the current suspension was applied. + }, + }, "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. "tools": [ # Optional. The tools available to the agent. { # A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { "type": "mcp_server", "name": "my-mcp-server", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer token123" } } @@ -420,7 +588,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Optional. The tool's Google Cloud resource name, used to resolve the tool. Applicable when `type` is `mcp_server` or `endpoint` (a tool registered in Agent Registry), for example `projects/{project}/locations/{location}/.../mcpServers/{id}` or `projects/{project}/locations/{location}/.../endpoints/{id}`. - "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "type": "A String", # Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation` "url": "A String", # Optional. Fallback for the tool's runtime reference, consumed by `CreateAgent` to create the downstream AI App. Applicable when `type` is `mcp_server` or `endpoint`, and optional: the Agent service derives the runtime reference from `name` via Agent Registry (`GetMcpServer` / `GetEndpoint`), and reads this only when that lookup yields none. }, ], diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.agents.tasks.artifacts.html b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.tasks.artifacts.html new file mode 100644 index 0000000000..685d37b084 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.tasks.artifacts.html @@ -0,0 +1,248 @@ + + + +

Agent Platform API . projects . locations . agents . tasks . artifacts

+

Instance Methods

+

+ add(task, body=None, x__xgafv=None)

+

Adds a file, folder or site stored in Google Drive, OneDrive, SharePoint or another third-party store as an artifact. The service persists `link_json_metadata` to Cloud Storage as a JSON metadata reference (a `.link.json` file), and links it to a parent resource: a task, named by `task`, or a collaborative project, named by `collaborative_project`. This method is idempotent with respect to the linked entity, identified by `link_json_metadata.provider` and `link_json_metadata.source_artifact_id`, or `link_json_metadata.uri` when `source_artifact_id` is unset: adding an entity that the parent already has does not add another artifact, and returns the same `artifact_id`.

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, path=None, recursive=None, x__xgafv=None)

+

Lists the files and directories in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries that match `filter` are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ preview(parent, outputMimeType=None, path=None, x__xgafv=None)

+

Returns a file converted for a preview, such as a PDF of a .pptx. A server-streaming RPC. The response body is the converted file's bytes, with its media type as the `Content-Type`. The server converts the file as it is stored now, on every call, and stores nothing. A PDF asked for as a PDF is returned as stored. Fails with `INVALID_ARGUMENT` or `FAILED_PRECONDITION` when the file cannot be converted (an unsupported format, too large, or unreadable), with `DEADLINE_EXCEEDED` when the conversion takes too long, and with `UNAVAILABLE` when conversion is busy or not available; the last two may succeed on a retry.

+

+ remove(parent, body=None, x__xgafv=None)

+

Deletes a file from a task's workspace. `path` must be an absolute path to a file in the task's workspace, under `/workspace/`, e.g. `/workspace/userdata/input.csv`. A path outside `/workspace/`, including a relative path, or a path with a `..` segment fails with `INVALID_ARGUMENT`. A directory path, or a task in a terminal state, fails with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is `true`, in which case the call succeeds and changes nothing.

+

Method Details

+
+ add(task, body=None, x__xgafv=None) +
Adds a file, folder or site stored in Google Drive, OneDrive, SharePoint or another third-party store as an artifact. The service persists `link_json_metadata` to Cloud Storage as a JSON metadata reference (a `.link.json` file), and links it to a parent resource: a task, named by `task`, or a collaborative project, named by `collaborative_project`. This method is idempotent with respect to the linked entity, identified by `link_json_metadata.provider` and `link_json_metadata.source_artifact_id`, or `link_json_metadata.uri` when `source_artifact_id` is unset: adding an entity that the parent already has does not add another artifact, and returns the same `artifact_id`.
+
+Args:
+  task: string, Optional. The task to link the file to. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Exactly one of `task` and `collaborative_project` must be set. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for ArtifactService.AddArtifact.
+  "collaborativeProject": "A String", # Optional. The collaborative project to link the file to. Format: projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} Exactly one of `task` and `collaborative_project` must be set.
+  "linkJsonMetadata": { # A file, folder, site or other item in a first-party or third-party store, as its `.link.json` file in the workspace records it. A link file is this message as proto JSON with the field names below, e.g. `{"source_artifact_id":"1AbC","provider":"GOOGLE_DRIVE","artifact_type": "GOOGLE_DRIVE_FILE","uri":"https://drive.google.com/file/d/1AbC/view"}`. A link file may hold fields this message does not have; they are ignored. `path` and `update_time` are not part of a link file: the service sets both on a link it lists, from the link file it read the link from, and `AddArtifact` clears both from a request. # Required. The linked entity, stored as its `.link.json` file.
+    "artifactType": "A String", # Optional. The provider-specific kind of entity, in upper snake case. Known values are GOOGLE_DRIVE_DOC, GOOGLE_DRIVE_SHEET, GOOGLE_DRIVE_SLIDES, GOOGLE_DRIVE_FILE, GOOGLE_DRIVE_FOLDER, ONE_DRIVE_FILE, ONE_DRIVE_FOLDER, SHAREPOINT_FILE, SHAREPOINT_FOLDER and SHAREPOINT_SITE; a connector may use others. Must match `A-Z*`. At most 64 characters.
+    "mimeType": "A String", # Optional. The entity's media type, e.g. "application/vnd.ms-excel". Empty for an entity that has none, such as a SharePoint site.
+    "path": "A String", # Output only. Absolute path of the link file in the workspace, e.g. `/workspace/userdata/{artifact_id}.link.json` in a task or `/workspace/project/{artifact_id}.link.json` in a collaborative project. Always under `/workspace` and never contains `..`. Set by `ArtifactService.ListWorkspaceArtifacts`. `ArtifactService.AddArtifact` clears it from a request, so it is never written to the link file.
+    "provider": "A String", # Required. The store that holds the entity.
+    "sourceArtifactId": "A String", # Optional. The entity's ID in its store, unique within `provider`: a Drive file ID, a Jira issue ID, or, for OneDrive and SharePoint, whose item IDs are unique only within a drive, the drive ID and the drive item ID, e.g. "{drive-id}/{item-id}". At most 1024 characters. With `provider`, it identifies the entity: it names the link file and is the idempotency key for `AddArtifact`. When it is unset, `uri` takes its place, so two URIs of one entity, such as a Drive file's /view and /edit URIs, are two entities.
+    "updateTime": "A String", # Output only. Last modification time of the link file at `path`, as `ArtifactService.ListWorkspaceArtifacts` read it. Not part of a link file. It is what tells two listings of one entity apart after the entity was updated in place. Such an update leaves every other field alone -- the entity keeps its `uri` and its `source_artifact_id`, so the link file keeps its name -- and it leaves the link file's bytes alone too, because a link file records WHICH entity is linked and not what state that entity is in. The time the file was rewritten is the only thing that moves.
+    "uri": "A String", # Required. URI of the entity, e.g. "https://drive.google.com/file/d/FILE_ID/view". At most 2048 characters.
+  },
+  "task": "A String", # Optional. The task to link the file to. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Exactly one of `task` and `collaborative_project` must be set.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ArtifactService.AddArtifact.
+  "artifactId": "A String", # The ID of the added artifact.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, path=None, recursive=None, x__xgafv=None) +
Lists the files and directories in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries that match `filter` are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.
+
+Args:
+  parent: string, Required. The task or collaborative project whose workspace to list. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  filter: string, Optional. An AIP-160 filter expression that entries must match, e.g. `type = FILE AND mime_type = "image/*"`. Empty matches every entry. Supported fields: * `type` -- `FILE` or `DIRECTORY` (see `TaskArtifactFile.Type`), case-sensitive. * `mime_type` -- a media type in double quotes, e.g. `"text/csv"`. `*` is a wildcard, so `"image/*"` matches every image type. Directories have an empty `mime_type`. Comparisons use `=` or `!=` and combine with `AND`, `OR`, `NOT` (or `-`) and parentheses. A filter that is not valid AIP-160, or that uses another field or operator, is rejected with `INVALID_ARGUMENT`. The filter selects which entries are returned, not which directories are walked: with `recursive`, `type = FILE` still returns the files in subdirectories.
+  pageSize: integer, Optional. The maximum number of entries to return. The service may return fewer than this value, including none on a page that is not the last. If unspecified or 0, at most 100 are returned. The maximum is 1000; values above 1000 are coerced to 1000. A negative value is rejected with `INVALID_ARGUMENT`.
+  pageToken: string, Optional. A page token, received from a previous ListWorkspaceArtifacts call. Provide this to retrieve the subsequent page. When paginating, all other fields of the request except `page_size` must match the call that provided the page token. The workspace is live: the agent can write between pages, so a paged listing is not a snapshot. An entry added during the walk may or may not appear, and one removed may still be listed and then fail to download.
+  path: string, Optional. Absolute path of the directory to list, e.g. `/workspace/userdata`. Must be `/workspace` or under it, at most 1024 characters, and not contain a `..` segment. Defaults to `/workspace`.
+  recursive: boolean, Optional. If `true`, descends into subdirectories. Results are breadth-first.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ArtifactService.ListWorkspaceArtifacts.
+  "nextPageToken": "A String", # A token to retrieve the next page; empty if there are no more pages.
+  "workspaceArtifacts": [ # The artifacts under the requested directory that match `filter`. Each is a file or directory in the workspace, or a link to an entity in a first-party or third-party store, such as Google Drive or OneDrive.
+    { # An artifact listed by ArtifactService.ListWorkspaceArtifacts: a file or directory in the workspace, or a link to an entity in a first-party or third-party store.
+      "linkJsonMetadata": { # A file, folder, site or other item in a first-party or third-party store, as its `.link.json` file in the workspace records it. A link file is this message as proto JSON with the field names below, e.g. `{"source_artifact_id":"1AbC","provider":"GOOGLE_DRIVE","artifact_type": "GOOGLE_DRIVE_FILE","uri":"https://drive.google.com/file/d/1AbC/view"}`. A link file may hold fields this message does not have; they are ignored. `path` and `update_time` are not part of a link file: the service sets both on a link it lists, from the link file it read the link from, and `AddArtifact` clears both from a request. # A link to a file, folder or site in a first-party or third-party store, such as Google Drive or OneDrive, as passed to ArtifactService.AddArtifact.
+        "artifactType": "A String", # Optional. The provider-specific kind of entity, in upper snake case. Known values are GOOGLE_DRIVE_DOC, GOOGLE_DRIVE_SHEET, GOOGLE_DRIVE_SLIDES, GOOGLE_DRIVE_FILE, GOOGLE_DRIVE_FOLDER, ONE_DRIVE_FILE, ONE_DRIVE_FOLDER, SHAREPOINT_FILE, SHAREPOINT_FOLDER and SHAREPOINT_SITE; a connector may use others. Must match `A-Z*`. At most 64 characters.
+        "mimeType": "A String", # Optional. The entity's media type, e.g. "application/vnd.ms-excel". Empty for an entity that has none, such as a SharePoint site.
+        "path": "A String", # Output only. Absolute path of the link file in the workspace, e.g. `/workspace/userdata/{artifact_id}.link.json` in a task or `/workspace/project/{artifact_id}.link.json` in a collaborative project. Always under `/workspace` and never contains `..`. Set by `ArtifactService.ListWorkspaceArtifacts`. `ArtifactService.AddArtifact` clears it from a request, so it is never written to the link file.
+        "provider": "A String", # Required. The store that holds the entity.
+        "sourceArtifactId": "A String", # Optional. The entity's ID in its store, unique within `provider`: a Drive file ID, a Jira issue ID, or, for OneDrive and SharePoint, whose item IDs are unique only within a drive, the drive ID and the drive item ID, e.g. "{drive-id}/{item-id}". At most 1024 characters. With `provider`, it identifies the entity: it names the link file and is the idempotency key for `AddArtifact`. When it is unset, `uri` takes its place, so two URIs of one entity, such as a Drive file's /view and /edit URIs, are two entities.
+        "updateTime": "A String", # Output only. Last modification time of the link file at `path`, as `ArtifactService.ListWorkspaceArtifacts` read it. Not part of a link file. It is what tells two listings of one entity apart after the entity was updated in place. Such an update leaves every other field alone -- the entity keeps its `uri` and its `source_artifact_id`, so the link file keeps its name -- and it leaves the link file's bytes alone too, because a link file records WHICH entity is linked and not what state that entity is in. The time the file was rewritten is the only thing that moves.
+        "uri": "A String", # Required. URI of the entity, e.g. "https://drive.google.com/file/d/FILE_ID/view". At most 2048 characters.
+      },
+      "taskArtifactFile": { # A file or directory in a task's workspace. # A file or directory in the workspace.
+        "mimeType": "A String", # Output only. The detected media type. Empty for directories.
+        "path": "A String", # Output only. Absolute path in the task's sandbox, e.g. "/workspace/userdata/input.csv" or "/workspace/report.md". Always under "/workspace" and never contains "..". Can be passed as-is to DownloadTaskArtifact.
+        "sizeBytes": "A String", # Output only. Size of the file in bytes. Zero for directories.
+        "type": "A String", # Output only. Whether this entry is a file or a directory.
+        "updateTime": "A String", # Output only. Last modification time of the file as it was read: the sandbox's when read from a running sandbox, otherwise the stored object's.
+      },
+    },
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ preview(parent, outputMimeType=None, path=None, x__xgafv=None) +
Returns a file converted for a preview, such as a PDF of a .pptx. A server-streaming RPC. The response body is the converted file's bytes, with its media type as the `Content-Type`. The server converts the file as it is stored now, on every call, and stores nothing. A PDF asked for as a PDF is returned as stored. Fails with `INVALID_ARGUMENT` or `FAILED_PRECONDITION` when the file cannot be converted (an unsupported format, too large, or unreadable), with `DEADLINE_EXCEEDED` when the conversion takes too long, and with `UNAVAILABLE` when conversion is busy or not available; the last two may succeed on a retry.
+
+Args:
+  parent: string, Required. The task or collaborative project whose workspace holds the file. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  outputMimeType: string, Required. The media type to convert the file to: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid.
+  path: string, Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.pptx`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.pptx`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
+  "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
+  "data": "A String", # The HTTP request/response body as raw binary.
+  "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
+    {
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+  ],
+}
+
+ +
+ remove(parent, body=None, x__xgafv=None) +
Deletes a file from a task's workspace. `path` must be an absolute path to a file in the task's workspace, under `/workspace/`, e.g. `/workspace/userdata/input.csv`. A path outside `/workspace/`, including a relative path, or a path with a `..` segment fails with `INVALID_ARGUMENT`. A directory path, or a task in a terminal state, fails with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is `true`, in which case the call succeeds and changes nothing.
+
+Args:
+  parent: string, Required. The task or collaborative project whose workspace holds the file. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for ArtifactService.RemoveWorkspaceArtifact.
+  "allowMissing": True or False, # Optional. If `true`, deleting a file that does not exist succeeds and changes nothing.
+  "path": "A String", # Required. Absolute path of the file to delete, e.g. `/workspace/userdata/input.csv`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace/`, at most 1024 characters, and not contain a `..` segment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ArtifactService.RemoveWorkspaceArtifact.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.agents.tasks.html b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.tasks.html new file mode 100644 index 0000000000..23dd145d96 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.tasks.html @@ -0,0 +1,12994 @@ + + + +

Agent Platform API . projects . locations . agents . tasks

+

Instance Methods

+

+ artifacts() +

+

Returns the artifacts Resource.

+ +

+ cancel(name, body=None, x__xgafv=None)

+

Deprecated: use `CancelTaskLro` instead. This method keeps the same cancellation semantics but returns `Task` directly, which forecloses the future cascade behaviour on recurring parents that only an `Operation` return type can express. Cancels a task, out-of-band by id. Drains any in-progress work and moves the task to CANCELLED. Use this when there is no active stream (e.g. a scheduled or background task) or when a caller other than the streaming client cancels. A task may also be cancelled in-band via the bidi cancel_task end_request; the two paths are equivalent. Cancellation semantics: * Idempotent: cancelling an already-terminal task is a no-op that returns the current Task; concurrent/duplicate cancels collapse to one CANCELLED. * First terminal state wins: once the task is CANCELLED/COMPLETED/FAILED, later cancels have no effect. * Cancel takes precedence over complete_task: a cancel arriving while (or after) a client half-closes with complete_task still drives the task to CANCELLED rather than letting it finish.

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, uniqueCreationToken=None, userContext_channel=None, userContext_location=None, userContext_timeZone=None, x__xgafv=None)

+

Creates a task without opening a live channel. Convenient for scheduled/background tasks where the caller does not need to drive the execution interactively; observe progress later via StreamTask (or by reconnecting to CreateTaskBidiStream with a `subscribe_task` request).

+

+ delete(name, operateOnSelf=None, x__xgafv=None)

+

Deletes a task. Long-running because deletion cascades: it cancels any active run (WORKING / REQUIRES_ACTION / SUSPENDED tasks are cancelled-then-deleted, not rejected), and cleans up the task's bound resources -- environment, generated artifacts, and the runtime trajectory/sessions. The operation completes when the cascade finishes; on success the response is google.protobuf.Empty.

+

+ deleteArtifact(task, body=None, x__xgafv=None)

+

Deletes a file from a task's workspace. `path` must be an absolute path to a file under `/workspace/userdata/` (for example, `/workspace/userdata/input.csv`). Paths outside `/workspace/userdata/`, `/workspace/userdata` itself, relative paths, or paths with `.` or `..` segments fail with `INVALID_ARGUMENT`. Directory paths and tasks in a terminal state fail with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is true, in which case the call succeeds with an empty response.

+

+ download(name, path=None, processingConfig_outputMimeType=None, x__xgafv=None)

+

Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.

+

+ downloadArtifact(task, path=None, processingConfig_outputMimeType=None, x__xgafv=None)

+

Downloads a file from a task's workspace as a stream of chunks. A server-streaming RPC. The response body is the file's raw bytes, with the file's own media type as the `Content-Type`. At most 1 GiB. Like ListTaskArtifacts, reads from the running sandbox when there is one, so a file the agent has just written is returned even before it reaches storage.

+

+ download_media(name, path=None, processingConfig_outputMimeType=None, x__xgafv=None)

+

Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.

+

+ get(name, x__xgafv=None)

+

Gets a task.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists tasks under a parent. Supports filtering (e.g. by status or assigned_agent) so a surface can show "my tasks".

+

+ listArtifacts(task, pageSize=None, pageToken=None, path=None, recursive=None, x__xgafv=None)

+

Lists the files in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.

+

+ listArtifacts_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates a task's mutable fields (e.g. schedule, priority, title). Typically allowed while the task is IDLE.

+

+ resume(name, body=None, x__xgafv=None)

+

Resumes a suspended task, transitioning it back to an active state (WORKING or QUEUED).

+

+ stream(name, continuationToken=None, nextStepSeqNum=None, snapshot=None, x__xgafv=None)

+

Read-only server-stream of a task's execution by id: trajectory steps and status changes, resumable from a step sequence number. Unlike CreateTaskBidiStream, it does not accept client inputs -- use it to observe or replay a task (the trajectory is not stored on the Task resource). This is the entry point for *observers*: it tails the trajectory from interaction storage without restoring the runtime actor, so it adds no restore latency and continues to follow output that a participant driving the task on a CreateTaskBidiStream connection produces. Observe-only clients should prefer this over a subscribe_task connect on CreateTaskBidiStream, which restores the actor and is meant for clients that will send input.

+

+ suspend(name, body=None, x__xgafv=None)

+

Suspends a task, pausing its active turn or scheduling loop and transitioning the status to SUSPENDED. The underlying runtime session remains resumable.

+

+ upload(name, body=None, media_body=None, media_mime_type=None, x__xgafv=None)

+

Uploads a file. The file is sent as media: post it to this method's URL with an `/upload` prefix, e.g. `/upload/v1beta1/{name}:upload`, carrying `path` as request metadata and the file's bytes as the media content. The task must not be in a terminal state, and an existing file at `path` is replaced. At most 10 GiB.

+

+ uploadArtifact(task, body=None, path=None, x__xgafv=None)

+

Uploads a file into a task's workspace. A client-streaming RPC: the request body is the file's raw bytes, relayed to storage a chunk at a time, so neither ESF nor this server holds the whole file. A broken connection restarts the upload from zero. `path` must be an absolute path under `/workspace/userdata/`. The task must not be in a terminal state. An existing file at `path` is replaced. At most 1 GiB.

+

Method Details

+
+ cancel(name, body=None, x__xgafv=None) +
Deprecated: use `CancelTaskLro` instead. This method keeps the same cancellation semantics but returns `Task` directly, which forecloses the future cascade behaviour on recurring parents that only an `Operation` return type can express. Cancels a task, out-of-band by id. Drains any in-progress work and moves the task to CANCELLED. Use this when there is no active stream (e.g. a scheduled or background task) or when a caller other than the streaming client cancels. A task may also be cancelled in-band via the bidi cancel_task end_request; the two paths are equivalent. Cancellation semantics: * Idempotent: cancelling an already-terminal task is a no-op that returns the current Task; concurrent/duplicate cancels collapse to one CANCELLED. * First terminal state wins: once the task is CANCELLED/COMPLETED/FAILED, later cancels have no effect. * Cancel takes precedence over complete_task: a cancel arriving while (or after) a client half-closes with complete_task still drives the task to CANCELLED rather than letting it finish.
+
+Args:
+  name: string, Required. The name of the task to cancel. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for TaskService.CancelTask.
+  "operateOnSelf": True or False, # Optional. Whether to skip cascading cancellation to all descendant subtasks. Defaults to false (cascades to all descendants by default). Matches google.cloud.aiplatform.master.SuspendTaskRequest.operate_on_self. Behavior for CancelTaskLro (cascade semantics do not apply to the deprecated sync CancelTask method, which is always self-only): UNSET or false ⇒ cascade to non-terminal descendants (gated by Mendel flag sobi_enable_cascading_cancel_task; returns FAILED_PRECONDITION when the flag is OFF and the task has non-terminal children). true ⇒ cancel this task only.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+  "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+  "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+    "attributions": [ # Output only. Spend broken down by consumer.
+      { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+        "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+        },
+        "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+          "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+          "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+        },
+        "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+          "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+        },
+      },
+    ],
+    "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+    "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+  },
+  "createTime": "A String", # Output only. The time the task was created.
+  "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+    { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+      "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+      "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+      "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+      "state": "A String", # Output only. The goal's state.
+      "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+        { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+          "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+          },
+          "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+          "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+            "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+          },
+          "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+          "state": "A String", # Output only. The verifier's latest verdict.
+        },
+      ],
+    },
+  ],
+  "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name of the task.
+  "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+  "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+  "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+  "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+  "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+  "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+    "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+      "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+      "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+      "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+    },
+    "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+    "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+      "audio": { # Configuration for audio output format.
+        "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+        "delivery": "A String", # The delivery mode for the audio output.
+        "mimeType": "A String", # The MIME type of the audio output.
+        "sampleRate": 42, # Sample rate in Hz.
+      },
+      "image": { # Configuration for image output format.
+        "aspectRatio": "A String", # The aspect ratio for the image output.
+        "delivery": "A String", # The delivery mode for the image output.
+        "imageSize": "A String", # The size of the image output.
+        "mimeType": "A String", # The MIME type of the image output.
+      },
+      "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+        "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+          { # Represents a single field in a struct.
+            "name": "A String",
+            "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+        ],
+      },
+      "text": { # Configuration for text output format.
+        "mimeType": "A String", # The MIME type of the text output.
+        "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+          "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+            { # Represents a single field in a struct.
+              "name": "A String",
+              "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+          ],
+        },
+      },
+      "video": { # Configuration for video output format.
+        "aspectRatio": "A String", # The aspect ratio for the video output.
+        "delivery": "A String", # The delivery mode for the video output.
+        "duration": "A String", # The duration for the video output.
+        "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+        "resolution": "A String", # The video output resolution. Defaults to 720p.
+      },
+    },
+    "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+      "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+    },
+    "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+      { # A step in the interaction.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+    ],
+    "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+    "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+      "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+      "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+      "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+      "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+      "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+    },
+    "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+    "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+      "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+        "delay": "A String", # Relative delay before the single run.
+        "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+      },
+      "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+        "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+          "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+          "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+        },
+        "endTime": "A String", # Optional. Do not fire after this time.
+        "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+          "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+        },
+        "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+        "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+        "startTime": "A String", # Optional. Do not fire before this time.
+      },
+    },
+    "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+      "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+        "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+      },
+      "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+        "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+          "a_key": "A String",
+        },
+        "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+      },
+      "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+        "env": { # Environment variables to set in the sandbox environment.
+          "a_key": { # An environment variable to set in the execution environment.
+            "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+            "value": "A String", # Direct string value for plain environment variables.
+          },
+        },
+        "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+        "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+          { # A memory store mounted into the environment under `/memory/`.
+            "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+            "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+            "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+            "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+          },
+        ],
+        "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+          "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+            { # A single domain allowlist rule with optional header injection.
+              "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+              "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+              "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+              "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                "a_key": "A String",
+              },
+            },
+          ],
+        },
+        "networkMode": "A String", # Network egress mode.
+        "sources": [
+          { # A source to be mounted into the environment.
+            "content": "A String", # The inline content if `type` is `INLINE`.
+            "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+            "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+            "target": "A String", # Where the source should appear in the environment.
+            "type": "A String",
+          },
+        ],
+      },
+      "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+      },
+      "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+        "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+        "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+      },
+      "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+      },
+      "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+        "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+        "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+          "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+            "A String",
+          ],
+          "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+          "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+        },
+      },
+    },
+    "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+      "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+    },
+    "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+  },
+  "status": "A String", # Output only. The coarse, durable status of the task.
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+  "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+  "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+  "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+  "updateTime": "A String", # Output only. The time the task was last updated.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, uniqueCreationToken=None, userContext_channel=None, userContext_location=None, userContext_timeZone=None, x__xgafv=None) +
Creates a task without opening a live channel. Convenient for scheduled/background tasks where the caller does not need to drive the execution interactively; observe progress later via StreamTask (or by reconnecting to CreateTaskBidiStream with a `subscribe_task` request).
+
+Args:
+  parent: string, Required. The parent agent that owns this task. Format: projects/{project}/locations/{location}/agents/{agent} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+  "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+  "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+    "attributions": [ # Output only. Spend broken down by consumer.
+      { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+        "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+        },
+        "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+          "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+          "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+        },
+        "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+          "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+        },
+      },
+    ],
+    "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+    "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+  },
+  "createTime": "A String", # Output only. The time the task was created.
+  "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+    { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+      "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+      "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+      "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+      "state": "A String", # Output only. The goal's state.
+      "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+        { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+          "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+          },
+          "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+          "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+            "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+          },
+          "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+          "state": "A String", # Output only. The verifier's latest verdict.
+        },
+      ],
+    },
+  ],
+  "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name of the task.
+  "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+  "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+  "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+  "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+  "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+  "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+    "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+      "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+      "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+      "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+    },
+    "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+    "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+      "audio": { # Configuration for audio output format.
+        "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+        "delivery": "A String", # The delivery mode for the audio output.
+        "mimeType": "A String", # The MIME type of the audio output.
+        "sampleRate": 42, # Sample rate in Hz.
+      },
+      "image": { # Configuration for image output format.
+        "aspectRatio": "A String", # The aspect ratio for the image output.
+        "delivery": "A String", # The delivery mode for the image output.
+        "imageSize": "A String", # The size of the image output.
+        "mimeType": "A String", # The MIME type of the image output.
+      },
+      "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+        "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+          { # Represents a single field in a struct.
+            "name": "A String",
+            "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+        ],
+      },
+      "text": { # Configuration for text output format.
+        "mimeType": "A String", # The MIME type of the text output.
+        "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+          "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+            { # Represents a single field in a struct.
+              "name": "A String",
+              "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+          ],
+        },
+      },
+      "video": { # Configuration for video output format.
+        "aspectRatio": "A String", # The aspect ratio for the video output.
+        "delivery": "A String", # The delivery mode for the video output.
+        "duration": "A String", # The duration for the video output.
+        "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+        "resolution": "A String", # The video output resolution. Defaults to 720p.
+      },
+    },
+    "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+      "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+    },
+    "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+      { # A step in the interaction.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+    ],
+    "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+    "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+      "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+      "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+      "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+      "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+      "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+    },
+    "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+    "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+      "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+        "delay": "A String", # Relative delay before the single run.
+        "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+      },
+      "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+        "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+          "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+          "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+        },
+        "endTime": "A String", # Optional. Do not fire after this time.
+        "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+          "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+        },
+        "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+        "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+        "startTime": "A String", # Optional. Do not fire before this time.
+      },
+    },
+    "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+      "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+        "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+      },
+      "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+        "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+          "a_key": "A String",
+        },
+        "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+      },
+      "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+        "env": { # Environment variables to set in the sandbox environment.
+          "a_key": { # An environment variable to set in the execution environment.
+            "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+            "value": "A String", # Direct string value for plain environment variables.
+          },
+        },
+        "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+        "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+          { # A memory store mounted into the environment under `/memory/`.
+            "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+            "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+            "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+            "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+          },
+        ],
+        "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+          "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+            { # A single domain allowlist rule with optional header injection.
+              "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+              "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+              "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+              "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                "a_key": "A String",
+              },
+            },
+          ],
+        },
+        "networkMode": "A String", # Network egress mode.
+        "sources": [
+          { # A source to be mounted into the environment.
+            "content": "A String", # The inline content if `type` is `INLINE`.
+            "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+            "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+            "target": "A String", # Where the source should appear in the environment.
+            "type": "A String",
+          },
+        ],
+      },
+      "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+      },
+      "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+        "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+        "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+      },
+      "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+      },
+      "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+        "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+        "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+          "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+            "A String",
+          ],
+          "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+          "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+        },
+      },
+    },
+    "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+      "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+    },
+    "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+  },
+  "status": "A String", # Output only. The coarse, durable status of the task.
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+  "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+  "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+  "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+  "updateTime": "A String", # Output only. The time the task was last updated.
+}
+
+  uniqueCreationToken: string, Optional. Optional idempotency token to guarantee the task is created only once. Suggest a UUID. A create carrying a token that a live task of the same agent already holds fails with `ALREADY_EXISTS`, naming that task in the response. The token is free again once that task finishes.
+  userContext_channel: string, Optional. How the user's input reached the agent. Leave unset when the user talks to the agent directly in an AI-native interface.
+    Allowed values
+      CHANNEL_UNSPECIFIED - Default. The user is talking to the agent directly in an AI-native interface (e.g. the Gemini Enterprise app, Workspace Studio, or the Gemini app), or the channel is unknown. The agent applies no channel-specific behavior.
+      CHAT - A threaded conversation on a communication product where the agent is one participant, e.g. a Google Chat DM or space, or a comment thread on a document. The agent keeps its reply short and conversational, suited to a thread that others can read, and may ask a follow-up question.
+      EMAIL - An email message. The agent writes a complete, self-contained reply suited to email, and avoids follow-up questions it could anticipate, since each round trip is slow.
+  userContext_location: string, Optional. The user's coarse, human-readable location, e.g. "Mountain View, CA, US". Must be no more precise than city level; never send street addresses, postal codes, or coordinates. The agent uses it for location-dependent requests, e.g. weather or nearby places.
+  userContext_timeZone: string, Optional. The user's IANA time zone name, e.g. "America/Los_Angeles". The agent uses it to interpret and present dates and times, e.g. to resolve "tomorrow morning".
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+  "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+  "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+    "attributions": [ # Output only. Spend broken down by consumer.
+      { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+        "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+        },
+        "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+          "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+          "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+        },
+        "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+          "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+        },
+      },
+    ],
+    "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+    "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+  },
+  "createTime": "A String", # Output only. The time the task was created.
+  "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+    { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+      "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+      "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+      "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+      "state": "A String", # Output only. The goal's state.
+      "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+        { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+          "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+          },
+          "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+          "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+            "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+          },
+          "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+          "state": "A String", # Output only. The verifier's latest verdict.
+        },
+      ],
+    },
+  ],
+  "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name of the task.
+  "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+  "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+  "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+  "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+  "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+  "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+    "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+      "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+      "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+      "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+    },
+    "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+    "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+      "audio": { # Configuration for audio output format.
+        "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+        "delivery": "A String", # The delivery mode for the audio output.
+        "mimeType": "A String", # The MIME type of the audio output.
+        "sampleRate": 42, # Sample rate in Hz.
+      },
+      "image": { # Configuration for image output format.
+        "aspectRatio": "A String", # The aspect ratio for the image output.
+        "delivery": "A String", # The delivery mode for the image output.
+        "imageSize": "A String", # The size of the image output.
+        "mimeType": "A String", # The MIME type of the image output.
+      },
+      "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+        "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+          { # Represents a single field in a struct.
+            "name": "A String",
+            "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+        ],
+      },
+      "text": { # Configuration for text output format.
+        "mimeType": "A String", # The MIME type of the text output.
+        "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+          "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+            { # Represents a single field in a struct.
+              "name": "A String",
+              "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+          ],
+        },
+      },
+      "video": { # Configuration for video output format.
+        "aspectRatio": "A String", # The aspect ratio for the video output.
+        "delivery": "A String", # The delivery mode for the video output.
+        "duration": "A String", # The duration for the video output.
+        "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+        "resolution": "A String", # The video output resolution. Defaults to 720p.
+      },
+    },
+    "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+      "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+    },
+    "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+      { # A step in the interaction.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+    ],
+    "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+    "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+      "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+      "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+      "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+      "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+      "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+    },
+    "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+    "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+      "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+        "delay": "A String", # Relative delay before the single run.
+        "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+      },
+      "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+        "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+          "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+          "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+        },
+        "endTime": "A String", # Optional. Do not fire after this time.
+        "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+          "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+        },
+        "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+        "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+        "startTime": "A String", # Optional. Do not fire before this time.
+      },
+    },
+    "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+      "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+        "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+      },
+      "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+        "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+          "a_key": "A String",
+        },
+        "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+      },
+      "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+        "env": { # Environment variables to set in the sandbox environment.
+          "a_key": { # An environment variable to set in the execution environment.
+            "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+            "value": "A String", # Direct string value for plain environment variables.
+          },
+        },
+        "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+        "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+          { # A memory store mounted into the environment under `/memory/`.
+            "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+            "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+            "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+            "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+          },
+        ],
+        "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+          "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+            { # A single domain allowlist rule with optional header injection.
+              "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+              "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+              "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+              "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                "a_key": "A String",
+              },
+            },
+          ],
+        },
+        "networkMode": "A String", # Network egress mode.
+        "sources": [
+          { # A source to be mounted into the environment.
+            "content": "A String", # The inline content if `type` is `INLINE`.
+            "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+            "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+            "target": "A String", # Where the source should appear in the environment.
+            "type": "A String",
+          },
+        ],
+      },
+      "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+      },
+      "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+        "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+        "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+      },
+      "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+      },
+      "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+        "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+        "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+          "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+            "A String",
+          ],
+          "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+          "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+        },
+      },
+    },
+    "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+      "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+    },
+    "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+  },
+  "status": "A String", # Output only. The coarse, durable status of the task.
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+  "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+  "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+  "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+  "updateTime": "A String", # Output only. The time the task was last updated.
+}
+
+ +
+ delete(name, operateOnSelf=None, x__xgafv=None) +
Deletes a task. Long-running because deletion cascades: it cancels any active run (WORKING / REQUIRES_ACTION / SUSPENDED tasks are cancelled-then-deleted, not rejected), and cleans up the task's bound resources -- environment, generated artifacts, and the runtime trajectory/sessions. The operation completes when the cascade finishes; on success the response is google.protobuf.Empty.
+
+Args:
+  name: string, Required. The name of the task to delete. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  operateOnSelf: boolean, Optional. Whether to skip cascading deletion to all descendant subtasks. Defaults to false (cascades to all descendants by default). Matches google.cloud.aiplatform.master.CancelTaskRequest.operate_on_self. Behavior: UNSET or false ⇒ cascade: delete this task and every non-terminal descendant (gated by Mendel flag sobi_enable_cascading_delete_task; returns FAILED_PRECONDITION when the flag is OFF and the task has non-terminal children). true ⇒ delete this task only. Each descendant deletion signals the runtime for the live-session case (Actor.OnCancel finalizes trajectory + reclaims sandbox VM) before removing the Sobi DB rows, matching the single-DeleteTask contract.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ deleteArtifact(task, body=None, x__xgafv=None) +
Deletes a file from a task's workspace. `path` must be an absolute path to a file under `/workspace/userdata/` (for example, `/workspace/userdata/input.csv`). Paths outside `/workspace/userdata/`, `/workspace/userdata` itself, relative paths, or paths with `.` or `..` segments fail with `INVALID_ARGUMENT`. Directory paths and tasks in a terminal state fail with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is true, in which case the call succeeds with an empty response.
+
+Args:
+  task: string, Required. The task to delete from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for TaskService.DeleteTaskArtifact.
+  "allowMissing": True or False, # Optional. If set to true, and the file is not found, the request will succeed without error.
+  "path": "A String", # Required. Absolute path of the file to delete, e.g. "/workspace/userdata/input.csv". Must be under "/workspace/userdata/", at most 1024 characters, and not contain a ".." segment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for TaskService.DeleteTaskArtifact.
+}
+
+ +
+ download(name, path=None, processingConfig_outputMimeType=None, x__xgafv=None) +
Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.
+
+Args:
+  name: string, Required. The task or collaborative project to download from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  path: string, Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.md`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.
+  processingConfig_outputMimeType: string, Required. The media type of the rendition: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid. Any other value fails with `INVALID_ARGUMENT`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A reference to data stored on the filesystem, on GFS or in blobstore.
+  "algorithm": "A String", # Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, "MD5" is the only possible value for this field. New values may be added at any time.
+  "bigstoreObjectRef": "A String", # Use object_id instead.
+  "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+  "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+    "blobGeneration": "A String", # The blob generation id.
+    "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+    "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+    "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+    "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+    "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+    "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+  },
+  "compositeMedia": [ # A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified.
+    { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+  ],
+  "contentType": "A String", # MIME type of the data
+  "contentTypeInfo": { # Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty. # Extended content type information provided for Scotty uploads.
+    "bestGuess": "A String", # Scotty's best guess of what the content type of the file is.
+    "fromBytes": "A String", # The content type of the file derived by looking at specific bytes (i.e. "magic bytes") of the actual file.
+    "fromFileName": "A String", # The content type of the file derived from the file extension of the original file name used by the client.
+    "fromFusionId": "A String", # The content type of the file detected by Fusion ID. go/fusionid
+    "fromHeader": "A String", # The content type of the file as specified in the request headers, multipart headers, or RUPIO start request.
+    "fromUrlPath": "A String", # The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API).
+    "fusionIdDetectionMetadata": "A String", # Metadata information from Fusion ID detection. Serialized FusionIdDetectionMetadata proto. Only set if from_fusion_id is set.
+  },
+  "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+  "crc32cHash": 42, # For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported.
+  "diffChecksumsResponse": { # Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_CHECKSUMS_RESPONSE.
+    "checksumsLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+    "chunkSizeBytes": "A String", # The chunk size of checksums. Must be a multiple of 256KB.
+    "objectLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # If set, calculate the checksums based on the contents and return them to the caller.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+    "objectSizeBytes": "A String", # The total size of the server object.
+    "objectVersion": "A String", # The object version of the object the checksums are being returned for.
+  },
+  "diffDownloadResponse": { # Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_DOWNLOAD_RESPONSE.
+    "objectLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The original object location.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+  },
+  "diffUploadRequest": { # A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_UPLOAD_REQUEST.
+    "checksumsInfo": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+    "objectInfo": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+    "objectVersion": "A String", # The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in.
+  },
+  "diffUploadResponse": { # Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_UPLOAD_RESPONSE.
+    "objectVersion": "A String", # The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload.
+    "originalObject": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification.
+      "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
+      "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
+        "blobGeneration": "A String", # The blob generation id.
+        "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
+        "downloadExternalReadToken": "A String", # A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
+        "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
+        "uploadFragmentListCreationInfo": "A String", # A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+        "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
+      },
+      "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
+      "crc32cHash": 42, # crc32.c hash for the payload.
+      "inline": "A String", # Media data, set if reference_type is INLINE
+      "length": "A String", # Size of the data, in bytes
+      "md5Hash": "A String", # MD5 hash for the payload.
+      "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+        "bucketName": "A String", # The name of the bucket to which this object belongs.
+        "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+        "objectName": "A String", # The name of the object.
+      },
+      "path": "A String", # Path to the data, set if reference_type is PATH
+      "referenceType": "A String", # Describes what the field reference contains.
+      "sha1Hash": "A String", # SHA-1 hash for the payload.
+    },
+  },
+  "diffVersionResponse": { # Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_VERSION_RESPONSE.
+    "objectSizeBytes": "A String", # The total size of the server object.
+    "objectVersion": "A String", # The version of the object stored at the server.
+  },
+  "downloadParameters": { # Parameters specific to media downloads. # Parameters for a media download.
+    "allowGzipCompression": True or False, # A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client.
+    "ignoreRange": True or False, # Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty.
+  },
+  "filename": "A String", # Original file name
+  "hash": "A String", # Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media.
+  "hashVerified": True or False, # For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification.
+  "inline": "A String", # Media data, set if reference_type is INLINE
+  "isPotentialRetry": True or False, # |is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence.
+  "length": "A String", # Size of the data, in bytes
+  "md5Hash": "A String", # Scotty-provided MD5 hash for an upload.
+  "mediaId": "A String", # Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA.
+  "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
+    "bucketName": "A String", # The name of the bucket to which this object belongs.
+    "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
+    "objectName": "A String", # The name of the object.
+  },
+  "path": "A String", # Path to the data, set if reference_type is PATH
+  "referenceType": "A String", # Describes what the field reference contains.
+  "sha1Hash": "A String", # Scotty-provided SHA1 hash for an upload.
+  "sha256Hash": "A String", # Scotty-provided SHA256 hash for an upload.
+  "sha512Hash": "A String", # Scotty-provided SHA512 hash for an upload.
+  "timestamp": "A String", # Time at which the media data was last updated, in milliseconds since UNIX epoch
+  "token": "A String", # A unique fingerprint/version id for the media data
+}
+
+ +
+ downloadArtifact(task, path=None, processingConfig_outputMimeType=None, x__xgafv=None) +
Downloads a file from a task's workspace as a stream of chunks. A server-streaming RPC. The response body is the file's raw bytes, with the file's own media type as the `Content-Type`. At most 1 GiB. Like ListTaskArtifacts, reads from the running sandbox when there is one, so a file the agent has just written is returned even before it reaches storage.
+
+Args:
+  task: string, Required. The task to download from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  path: string, Required. Absolute path of the file to read, e.g. "/workspace/report.md". Must be under "/workspace", at most 1024 characters, and not contain a ".." segment.
+  processingConfig_outputMimeType: string, Required. The media type to return: * `application/pdf`: the file as a PDF, e.g. a .docx or .pptx. * `application/json`: a spreadsheet, e.g. a .xlsx, as JSON describing its sheets and cells, from which a client draws the workbook as a grid. Any other value fails with `INVALID_ARGUMENT`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
+  "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
+  "data": "A String", # The HTTP request/response body as raw binary.
+  "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
+    {
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+  ],
+}
+
+ +
+ download_media(name, path=None, processingConfig_outputMimeType=None, x__xgafv=None) +
Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.
+
+Args:
+  name: string, Required. The task or collaborative project to download from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  path: string, Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.md`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.
+  processingConfig_outputMimeType: string, Required. The media type of the rendition: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid. Any other value fails with `INVALID_ARGUMENT`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  The media object as a string.
+
+    
+
+ +
+ get(name, x__xgafv=None) +
Gets a task.
+
+Args:
+  name: string, Required. The name of the task to retrieve. Both name forms are accepted: * projects/{project}/locations/{location}/agents/{agent}/tasks/{task} * projects/{project}/locations/{location}/tasks/{task} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+  "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+  "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+    "attributions": [ # Output only. Spend broken down by consumer.
+      { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+        "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+        },
+        "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+          "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+          "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+        },
+        "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+          "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+        },
+      },
+    ],
+    "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+    "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+  },
+  "createTime": "A String", # Output only. The time the task was created.
+  "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+    { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+      "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+      "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+      "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+      "state": "A String", # Output only. The goal's state.
+      "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+        { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+          "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+          },
+          "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+          "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+            "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+          },
+          "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+          "state": "A String", # Output only. The verifier's latest verdict.
+        },
+      ],
+    },
+  ],
+  "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name of the task.
+  "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+  "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+  "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+  "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+  "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+  "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+    "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+      "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+      "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+      "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+    },
+    "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+    "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+      "audio": { # Configuration for audio output format.
+        "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+        "delivery": "A String", # The delivery mode for the audio output.
+        "mimeType": "A String", # The MIME type of the audio output.
+        "sampleRate": 42, # Sample rate in Hz.
+      },
+      "image": { # Configuration for image output format.
+        "aspectRatio": "A String", # The aspect ratio for the image output.
+        "delivery": "A String", # The delivery mode for the image output.
+        "imageSize": "A String", # The size of the image output.
+        "mimeType": "A String", # The MIME type of the image output.
+      },
+      "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+        "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+          { # Represents a single field in a struct.
+            "name": "A String",
+            "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+        ],
+      },
+      "text": { # Configuration for text output format.
+        "mimeType": "A String", # The MIME type of the text output.
+        "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+          "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+            { # Represents a single field in a struct.
+              "name": "A String",
+              "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+          ],
+        },
+      },
+      "video": { # Configuration for video output format.
+        "aspectRatio": "A String", # The aspect ratio for the video output.
+        "delivery": "A String", # The delivery mode for the video output.
+        "duration": "A String", # The duration for the video output.
+        "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+        "resolution": "A String", # The video output resolution. Defaults to 720p.
+      },
+    },
+    "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+      "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+    },
+    "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+      { # A step in the interaction.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+    ],
+    "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+    "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+      "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+      "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+      "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+      "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+      "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+    },
+    "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+    "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+      "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+        "delay": "A String", # Relative delay before the single run.
+        "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+      },
+      "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+        "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+          "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+          "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+        },
+        "endTime": "A String", # Optional. Do not fire after this time.
+        "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+          "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+        },
+        "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+        "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+        "startTime": "A String", # Optional. Do not fire before this time.
+      },
+    },
+    "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+      "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+        "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+      },
+      "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+        "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+          "a_key": "A String",
+        },
+        "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+      },
+      "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+        "env": { # Environment variables to set in the sandbox environment.
+          "a_key": { # An environment variable to set in the execution environment.
+            "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+            "value": "A String", # Direct string value for plain environment variables.
+          },
+        },
+        "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+        "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+          { # A memory store mounted into the environment under `/memory/`.
+            "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+            "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+            "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+            "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+          },
+        ],
+        "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+          "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+            { # A single domain allowlist rule with optional header injection.
+              "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+              "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+              "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+              "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                "a_key": "A String",
+              },
+            },
+          ],
+        },
+        "networkMode": "A String", # Network egress mode.
+        "sources": [
+          { # A source to be mounted into the environment.
+            "content": "A String", # The inline content if `type` is `INLINE`.
+            "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+            "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+            "target": "A String", # Where the source should appear in the environment.
+            "type": "A String",
+          },
+        ],
+      },
+      "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+      },
+      "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+        "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+        "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+      },
+      "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+      },
+      "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+        "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+        "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+          "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+            "A String",
+          ],
+          "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+          "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+        },
+      },
+    },
+    "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+      "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+    },
+    "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+  },
+  "status": "A String", # Output only. The coarse, durable status of the task.
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+  "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+  "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+  "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+  "updateTime": "A String", # Output only. The time the task was last updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists tasks under a parent. Supports filtering (e.g. by status or assigned_agent) so a surface can show "my tasks".
+
+Args:
+  parent: string, Required. The parent to list tasks under. Both forms are accepted and scope the listing differently: * projects/{project}/locations/{location}/agents/{agent} -- tasks assigned to that agent. * projects/{project}/locations/{location} -- all tasks in the location. (required)
+  filter: string, Optional. A filter expression, e.g. "status=WORKING". Lineage filters pick how much of a task tree to fetch: * "parent_task_id=" -- direct children only (progressive disclosure, one level per call). * "root_task_id=" -- the whole tree in one flat collection. Label filters support filtering by task labels: * "labels.=" -- match tasks with the given label key and value. Multiple label filters can be combined with AND. Multiple values for the same key can be combined with OR, e.g., "labels.foo=bar OR labels.foo=baz". Status filters restrict the listing to tasks in the given statuses: * "status=" -- e.g. "status=WORKING". Multiple statuses can be combined with OR, e.g., "status=WORKING OR status=IDLE". Both page normally via `page_size`/`page_token`, and both are ordered by `order_by` (default "create_time desc"), not by tree shape. A whole-tree page is therefore not a subtree: a child can arrive before its parent, so the client buffers by `parent_task_id` and renders as parents resolve.
+  orderBy: string, Optional. Sort order, e.g. "create_time desc". The sortable fields are `create_time` and `update_time`. Defaults to "create_time desc".
+  pageSize: integer, Optional. The maximum number of tasks to return. The service may return fewer. If unspecified (or <= 0), at most 50 are returned. The maximum is 100; larger values are capped to 100.
+  pageToken: string, Optional. A page token from a previous ListTasks call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for TaskService.ListTasks.
+  "nextPageToken": "A String", # A token to retrieve the next page; empty if there are no more pages.
+  "tasks": [ # The tasks from the requested collection.
+    { # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+      "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+      "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+      "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+        "attributions": [ # Output only. Spend broken down by consumer.
+          { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+            "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+            },
+            "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+              "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+              "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+            },
+            "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+              "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+            },
+          },
+        ],
+        "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+          "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+          "spent": "A String", # Output only. Amount consumed so far.
+        },
+        "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+          "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+          "spent": "A String", # Output only. Amount consumed so far.
+        },
+      },
+      "createTime": "A String", # Output only. The time the task was created.
+      "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+        { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+          "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+          "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+          "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+          "state": "A String", # Output only. The goal's state.
+          "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+            { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+              "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+              },
+              "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+              "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+                "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+              },
+              "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+              "state": "A String", # Output only. The verifier's latest verdict.
+            },
+          ],
+        },
+      ],
+      "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. Resource name of the task.
+      "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+      "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+      "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+      "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+      "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+      "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+        "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+          "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+          "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+          "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+        },
+        "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+        "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+          "audio": { # Configuration for audio output format.
+            "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+            "delivery": "A String", # The delivery mode for the audio output.
+            "mimeType": "A String", # The MIME type of the audio output.
+            "sampleRate": 42, # Sample rate in Hz.
+          },
+          "image": { # Configuration for image output format.
+            "aspectRatio": "A String", # The aspect ratio for the image output.
+            "delivery": "A String", # The delivery mode for the image output.
+            "imageSize": "A String", # The size of the image output.
+            "mimeType": "A String", # The MIME type of the image output.
+          },
+          "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+            "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+              { # Represents a single field in a struct.
+                "name": "A String",
+                "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                  "boolValue": True or False, # Represents a boolean value.
+                  "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                    "audio": { # An audio content block.
+                      "channels": 42, # The number of audio channels.
+                      "data": "A String", # The audio content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "sampleRate": 42, # The sample rate of the audio.
+                      "uri": "A String", # The URI of the audio.
+                    },
+                    "document": { # A document content block.
+                      "data": "A String", # The document content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "uri": "A String", # The URI of the document.
+                    },
+                    "image": { # An image content block.
+                      "data": "A String", # The image content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the image.
+                    },
+                    "text": { # A text content block.
+                      "annotations": [ # Citation information for model-generated content.
+                        { # Citation information for model-generated content.
+                          "endIndex": 42, # End of the attributed segment, exclusive.
+                          "fileCitation": { # A file citation annotation. # A file citation annotation.
+                            "customMetadata": { # User provided metadata about the retrieved context.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "documentUri": "A String", # The URI of the file.
+                            "fileName": "A String", # The name of the file.
+                            "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                            "pageNumber": 42, # Page number of the cited document, if applicable.
+                            "source": "A String", # Source attributed for a portion of the text.
+                          },
+                          "placeCitation": { # A place citation annotation. # A place citation annotation.
+                            "name": "A String", # Title of the place.
+                            "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                            "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                              { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                "reviewId": "A String", # The ID of the review snippet.
+                                "title": "A String", # Title of the review.
+                                "url": "A String", # A link that corresponds to the user review on Google Maps.
+                              },
+                            ],
+                            "url": "A String", # URI reference of the place.
+                          },
+                          "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                            "speaker": "A String", # The speaker to associate with this turn.
+                            "style": "A String", # Style instruction for the speech synthesis.
+                          },
+                          "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                          "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                            "title": "A String", # The title of the URL.
+                            "url": "A String", # The URL.
+                          },
+                          "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                            "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                            "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "text": "A String", # The transcribed word.
+                          },
+                        },
+                      ],
+                      "text": "A String", # Required. The text content.
+                    },
+                    "video": { # A video content block.
+                      "data": "A String", # The video content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                      "processingConfig": {
+                        "static": {
+                          "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                          "fps": 3.14, # Optional. Video frame-rate sampling density.
+                          "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                        },
+                      },
+                      "processingType": "A String",
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the video.
+                    },
+                  },
+                  "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                    "values": [ # Repeated field of dynamically typed values.
+                      # Object with schema name: GenaiValue
+                    ],
+                  },
+                  "nullValue": "A String", # Represents a null value.
+                  "numberValue": 3.14, # Represents a double value.
+                  "stringValue": "A String", # Represents a string value.
+                  "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                },
+              },
+            ],
+          },
+          "text": { # Configuration for text output format.
+            "mimeType": "A String", # The MIME type of the text output.
+            "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+          },
+          "video": { # Configuration for video output format.
+            "aspectRatio": "A String", # The aspect ratio for the video output.
+            "delivery": "A String", # The delivery mode for the video output.
+            "duration": "A String", # The duration for the video output.
+            "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+            "resolution": "A String", # The video output resolution. Defaults to 720p.
+          },
+        },
+        "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+          "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+        },
+        "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+          { # A step in the interaction.
+            "modelOutput": { # Output generated by the model.
+              "content": [
+                { # The content of the response.
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+              ],
+              "error": { # 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). # The error result of the operation in case of failure or cancellation.
+                "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+                "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                  {
+                    "a_key": "", # Properties of the object. Contains field @type with type URL.
+                  },
+                ],
+                "message": "A String", # 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.
+              },
+            },
+            "thought": { # A thought step.
+              "signature": "A String", # A signature hash for backend validation.
+              "summary": [ # A summary of the thought.
+                { # The content of the response.
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+              ],
+            },
+            "toolCall": { # Tool call step.
+              "codeExecutionCall": { # Code execution call step.
+                "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+                  "code": "A String", # The code to be executed.
+                  "language": "A String", # Programming language of the `code`.
+                },
+              },
+              "fileSearchCall": { # File Search call step.
+              },
+              "functionCall": { # A function tool call step.
+                "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+                  "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                    { # Represents a single field in a struct.
+                      "name": "A String",
+                      "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                          "audio": { # An audio content block.
+                            "channels": 42, # The number of audio channels.
+                            "data": "A String", # The audio content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "sampleRate": 42, # The sample rate of the audio.
+                            "uri": "A String", # The URI of the audio.
+                          },
+                          "document": { # A document content block.
+                            "data": "A String", # The document content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "uri": "A String", # The URI of the document.
+                          },
+                          "image": { # An image content block.
+                            "data": "A String", # The image content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "resolution": "A String", # The resolution of the media.
+                            "uri": "A String", # The URI of the image.
+                          },
+                          "text": { # A text content block.
+                            "annotations": [ # Citation information for model-generated content.
+                              { # Citation information for model-generated content.
+                                "endIndex": 42, # End of the attributed segment, exclusive.
+                                "fileCitation": { # A file citation annotation. # A file citation annotation.
+                                  "customMetadata": { # User provided metadata about the retrieved context.
+                                    "a_key": "", # Properties of the object.
+                                  },
+                                  "documentUri": "A String", # The URI of the file.
+                                  "fileName": "A String", # The name of the file.
+                                  "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                                  "pageNumber": 42, # Page number of the cited document, if applicable.
+                                  "source": "A String", # Source attributed for a portion of the text.
+                                },
+                                "placeCitation": { # A place citation annotation. # A place citation annotation.
+                                  "name": "A String", # Title of the place.
+                                  "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                                  "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                    { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                      "reviewId": "A String", # The ID of the review snippet.
+                                      "title": "A String", # Title of the review.
+                                      "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                    },
+                                  ],
+                                  "url": "A String", # URI reference of the place.
+                                },
+                                "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                                  "speaker": "A String", # The speaker to associate with this turn.
+                                  "style": "A String", # Style instruction for the speech synthesis.
+                                },
+                                "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                                "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                                  "title": "A String", # The title of the URL.
+                                  "url": "A String", # The URL.
+                                },
+                                "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                                  "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                  "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                                  "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                  "text": "A String", # The transcribed word.
+                                },
+                              },
+                            ],
+                            "text": "A String", # Required. The text content.
+                          },
+                          "video": { # A video content block.
+                            "data": "A String", # The video content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                            "processingConfig": {
+                              "static": {
+                                "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                                "fps": 3.14, # Optional. Video frame-rate sampling density.
+                                "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                              },
+                            },
+                            "processingType": "A String",
+                            "resolution": "A String", # The resolution of the media.
+                            "uri": "A String", # The URI of the video.
+                          },
+                        },
+                        "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                          "values": [ # Repeated field of dynamically typed values.
+                            # Object with schema name: GenaiValue
+                          ],
+                        },
+                        "nullValue": "A String", # Represents a null value.
+                        "numberValue": 3.14, # Represents a double value.
+                        "stringValue": "A String", # Represents a string value.
+                        "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                      },
+                    },
+                  ],
+                },
+                "name": "A String", # Required. The name of the tool to call.
+              },
+              "googleMapsCall": { # Google Maps call step.
+                "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+                  "queries": [ # The queries to be executed.
+                    "A String",
+                  ],
+                },
+              },
+              "googleSearchCall": { # Google Search call step.
+                "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+                  "queries": [ # Web search queries for the following-up web search.
+                    "A String",
+                  ],
+                },
+                "searchType": "A String", # The type of search grounding enabled.
+              },
+              "id": "A String", # Required. A unique ID for this specific tool call.
+              "mcpServerToolCall": { # MCPServer tool call step.
+                "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+                  "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                    { # Represents a single field in a struct.
+                      "name": "A String",
+                      "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                          "audio": { # An audio content block.
+                            "channels": 42, # The number of audio channels.
+                            "data": "A String", # The audio content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "sampleRate": 42, # The sample rate of the audio.
+                            "uri": "A String", # The URI of the audio.
+                          },
+                          "document": { # A document content block.
+                            "data": "A String", # The document content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "uri": "A String", # The URI of the document.
+                          },
+                          "image": { # An image content block.
+                            "data": "A String", # The image content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "resolution": "A String", # The resolution of the media.
+                            "uri": "A String", # The URI of the image.
+                          },
+                          "text": { # A text content block.
+                            "annotations": [ # Citation information for model-generated content.
+                              { # Citation information for model-generated content.
+                                "endIndex": 42, # End of the attributed segment, exclusive.
+                                "fileCitation": { # A file citation annotation. # A file citation annotation.
+                                  "customMetadata": { # User provided metadata about the retrieved context.
+                                    "a_key": "", # Properties of the object.
+                                  },
+                                  "documentUri": "A String", # The URI of the file.
+                                  "fileName": "A String", # The name of the file.
+                                  "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                                  "pageNumber": 42, # Page number of the cited document, if applicable.
+                                  "source": "A String", # Source attributed for a portion of the text.
+                                },
+                                "placeCitation": { # A place citation annotation. # A place citation annotation.
+                                  "name": "A String", # Title of the place.
+                                  "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                                  "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                    { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                      "reviewId": "A String", # The ID of the review snippet.
+                                      "title": "A String", # Title of the review.
+                                      "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                    },
+                                  ],
+                                  "url": "A String", # URI reference of the place.
+                                },
+                                "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                                  "speaker": "A String", # The speaker to associate with this turn.
+                                  "style": "A String", # Style instruction for the speech synthesis.
+                                },
+                                "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                                "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                                  "title": "A String", # The title of the URL.
+                                  "url": "A String", # The URL.
+                                },
+                                "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                                  "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                  "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                                  "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                  "text": "A String", # The transcribed word.
+                                },
+                              },
+                            ],
+                            "text": "A String", # Required. The text content.
+                          },
+                          "video": { # A video content block.
+                            "data": "A String", # The video content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                            "processingConfig": {
+                              "static": {
+                                "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                                "fps": 3.14, # Optional. Video frame-rate sampling density.
+                                "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                              },
+                            },
+                            "processingType": "A String",
+                            "resolution": "A String", # The resolution of the media.
+                            "uri": "A String", # The URI of the video.
+                          },
+                        },
+                        "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                          "values": [ # Repeated field of dynamically typed values.
+                            # Object with schema name: GenaiValue
+                          ],
+                        },
+                        "nullValue": "A String", # Represents a null value.
+                        "numberValue": 3.14, # Represents a double value.
+                        "stringValue": "A String", # Represents a string value.
+                        "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                      },
+                    },
+                  ],
+                },
+                "name": "A String", # Required. The name of the tool which was called.
+                "serverName": "A String", # Required. The name of the used MCP server.
+              },
+              "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+              },
+              "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+                "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+                  "queries": [ # Queries for Retrieval information.
+                    "A String",
+                  ],
+                },
+                "retrievalType": "A String", # The type of retrieval tools.
+              },
+              "signature": "A String", # A signature hash for backend validation.
+              "urlContextCall": { # URL context call step.
+                "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+                  "urls": [ # The URLs to fetch.
+                    "A String",
+                  ],
+                },
+              },
+            },
+            "toolResult": { # Tool result step.
+              "callId": "A String", # Required. ID to match the ID from the function call block.
+              "codeExecutionResult": { # Code execution result step.
+                "isError": True or False, # Whether the code execution resulted in an error.
+                "result": "A String", # Required. The output of the code execution.
+              },
+              "fileSearchResult": { # File Search result step.
+              },
+              "functionResult": { # Result of a function tool call.
+                "isError": True or False, # Whether the tool call resulted in an error.
+                "name": "A String", # The name of the tool that was called.
+                "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+                  "boolValue": True or False, # Represents a boolean value.
+                  "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                    "audio": { # An audio content block.
+                      "channels": 42, # The number of audio channels.
+                      "data": "A String", # The audio content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "sampleRate": 42, # The sample rate of the audio.
+                      "uri": "A String", # The URI of the audio.
+                    },
+                    "document": { # A document content block.
+                      "data": "A String", # The document content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "uri": "A String", # The URI of the document.
+                    },
+                    "image": { # An image content block.
+                      "data": "A String", # The image content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the image.
+                    },
+                    "text": { # A text content block.
+                      "annotations": [ # Citation information for model-generated content.
+                        { # Citation information for model-generated content.
+                          "endIndex": 42, # End of the attributed segment, exclusive.
+                          "fileCitation": { # A file citation annotation. # A file citation annotation.
+                            "customMetadata": { # User provided metadata about the retrieved context.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "documentUri": "A String", # The URI of the file.
+                            "fileName": "A String", # The name of the file.
+                            "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                            "pageNumber": 42, # Page number of the cited document, if applicable.
+                            "source": "A String", # Source attributed for a portion of the text.
+                          },
+                          "placeCitation": { # A place citation annotation. # A place citation annotation.
+                            "name": "A String", # Title of the place.
+                            "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                            "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                              { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                "reviewId": "A String", # The ID of the review snippet.
+                                "title": "A String", # Title of the review.
+                                "url": "A String", # A link that corresponds to the user review on Google Maps.
+                              },
+                            ],
+                            "url": "A String", # URI reference of the place.
+                          },
+                          "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                            "speaker": "A String", # The speaker to associate with this turn.
+                            "style": "A String", # Style instruction for the speech synthesis.
+                          },
+                          "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                          "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                            "title": "A String", # The title of the URL.
+                            "url": "A String", # The URL.
+                          },
+                          "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                            "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                            "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "text": "A String", # The transcribed word.
+                          },
+                        },
+                      ],
+                      "text": "A String", # Required. The text content.
+                    },
+                    "video": { # A video content block.
+                      "data": "A String", # The video content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                      "processingConfig": {
+                        "static": {
+                          "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                          "fps": 3.14, # Optional. Video frame-rate sampling density.
+                          "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                        },
+                      },
+                      "processingType": "A String",
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the video.
+                    },
+                  },
+                  "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                    "values": [ # Repeated field of dynamically typed values.
+                      # Object with schema name: GenaiValue
+                    ],
+                  },
+                  "nullValue": "A String", # Represents a null value.
+                  "numberValue": 3.14, # Represents a double value.
+                  "stringValue": "A String", # Represents a string value.
+                  "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                },
+              },
+              "googleMapsResult": { # Google Maps result step.
+                "result": [
+                  { # The result of the Google Maps.
+                    "places": [
+                      {
+                        "name": "A String",
+                        "placeId": "A String",
+                        "reviewSnippets": [
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String",
+                      },
+                    ],
+                    "widgetContextToken": "A String",
+                  },
+                ],
+              },
+              "googleSearchResult": { # Google Search result step.
+                "isError": True or False, # Whether the Google Search resulted in an error.
+                "result": [ # Required. The results of the Google Search.
+                  { # The result of the Google Search.
+                    "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+                  },
+                ],
+              },
+              "mcpServerToolResult": { # MCPServer tool result step.
+                "name": "A String", # Name of the tool which is called for this specific tool call.
+                "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+                  "boolValue": True or False, # Represents a boolean value.
+                  "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                    "audio": { # An audio content block.
+                      "channels": 42, # The number of audio channels.
+                      "data": "A String", # The audio content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "sampleRate": 42, # The sample rate of the audio.
+                      "uri": "A String", # The URI of the audio.
+                    },
+                    "document": { # A document content block.
+                      "data": "A String", # The document content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "uri": "A String", # The URI of the document.
+                    },
+                    "image": { # An image content block.
+                      "data": "A String", # The image content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the image.
+                    },
+                    "text": { # A text content block.
+                      "annotations": [ # Citation information for model-generated content.
+                        { # Citation information for model-generated content.
+                          "endIndex": 42, # End of the attributed segment, exclusive.
+                          "fileCitation": { # A file citation annotation. # A file citation annotation.
+                            "customMetadata": { # User provided metadata about the retrieved context.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "documentUri": "A String", # The URI of the file.
+                            "fileName": "A String", # The name of the file.
+                            "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                            "pageNumber": 42, # Page number of the cited document, if applicable.
+                            "source": "A String", # Source attributed for a portion of the text.
+                          },
+                          "placeCitation": { # A place citation annotation. # A place citation annotation.
+                            "name": "A String", # Title of the place.
+                            "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                            "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                              { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                "reviewId": "A String", # The ID of the review snippet.
+                                "title": "A String", # Title of the review.
+                                "url": "A String", # A link that corresponds to the user review on Google Maps.
+                              },
+                            ],
+                            "url": "A String", # URI reference of the place.
+                          },
+                          "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                            "speaker": "A String", # The speaker to associate with this turn.
+                            "style": "A String", # Style instruction for the speech synthesis.
+                          },
+                          "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                          "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                            "title": "A String", # The title of the URL.
+                            "url": "A String", # The URL.
+                          },
+                          "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                            "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                            "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "text": "A String", # The transcribed word.
+                          },
+                        },
+                      ],
+                      "text": "A String", # Required. The text content.
+                    },
+                    "video": { # A video content block.
+                      "data": "A String", # The video content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                      "processingConfig": {
+                        "static": {
+                          "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                          "fps": 3.14, # Optional. Video frame-rate sampling density.
+                          "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                        },
+                      },
+                      "processingType": "A String",
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the video.
+                    },
+                  },
+                  "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                    "values": [ # Repeated field of dynamically typed values.
+                      # Object with schema name: GenaiValue
+                    ],
+                  },
+                  "nullValue": "A String", # Represents a null value.
+                  "numberValue": 3.14, # Represents a double value.
+                  "stringValue": "A String", # Represents a string value.
+                  "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                },
+                "serverName": "A String", # The name of the used MCP server.
+              },
+              "processingResult": { # The result of a server-initiated media processing step.
+              },
+              "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+                "isError": True or False, # Whether the retrieval resulted in an error.
+              },
+              "signature": "A String", # A signature hash for backend validation.
+              "urlContextResult": { # URL context result step.
+                "isError": True or False, # Whether the URL context resulted in an error.
+                "result": [ # Required. The results of the URL context.
+                  { # The result of the URL context.
+                    "status": "A String", # The status of the URL retrieval.
+                    "url": "A String", # The URL that was fetched.
+                  },
+                ],
+              },
+            },
+            "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+              "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+                "contents": [ # The contents of the list.
+                  { # The content of the response.
+                    "audio": { # An audio content block.
+                      "channels": 42, # The number of audio channels.
+                      "data": "A String", # The audio content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "sampleRate": 42, # The sample rate of the audio.
+                      "uri": "A String", # The URI of the audio.
+                    },
+                    "document": { # A document content block.
+                      "data": "A String", # The document content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "uri": "A String", # The URI of the document.
+                    },
+                    "image": { # An image content block.
+                      "data": "A String", # The image content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the image.
+                    },
+                    "text": { # A text content block.
+                      "annotations": [ # Citation information for model-generated content.
+                        { # Citation information for model-generated content.
+                          "endIndex": 42, # End of the attributed segment, exclusive.
+                          "fileCitation": { # A file citation annotation. # A file citation annotation.
+                            "customMetadata": { # User provided metadata about the retrieved context.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "documentUri": "A String", # The URI of the file.
+                            "fileName": "A String", # The name of the file.
+                            "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                            "pageNumber": 42, # Page number of the cited document, if applicable.
+                            "source": "A String", # Source attributed for a portion of the text.
+                          },
+                          "placeCitation": { # A place citation annotation. # A place citation annotation.
+                            "name": "A String", # Title of the place.
+                            "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                            "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                              { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                "reviewId": "A String", # The ID of the review snippet.
+                                "title": "A String", # Title of the review.
+                                "url": "A String", # A link that corresponds to the user review on Google Maps.
+                              },
+                            ],
+                            "url": "A String", # URI reference of the place.
+                          },
+                          "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                            "speaker": "A String", # The speaker to associate with this turn.
+                            "style": "A String", # Style instruction for the speech synthesis.
+                          },
+                          "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                          "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                            "title": "A String", # The title of the URL.
+                            "url": "A String", # The URL.
+                          },
+                          "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                            "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                            "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "text": "A String", # The transcribed word.
+                          },
+                        },
+                      ],
+                      "text": "A String", # Required. The text content.
+                    },
+                    "video": { # A video content block.
+                      "data": "A String", # The video content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                      "processingConfig": {
+                        "static": {
+                          "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                          "fps": 3.14, # Optional. Video frame-rate sampling density.
+                          "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                        },
+                      },
+                      "processingType": "A String",
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the video.
+                    },
+                  },
+                ],
+              },
+              "contentString": "A String", # The content of the step. A single string.
+            },
+          },
+        ],
+        "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+        "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+          "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+          "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+          "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+          "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+          "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+        },
+        "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+        "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+          "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+            "delay": "A String", # Relative delay before the single run.
+            "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+          },
+          "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+            "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+              "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+              "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+            },
+            "endTime": "A String", # Optional. Do not fire after this time.
+            "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+              "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+            },
+            "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+            "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+            "startTime": "A String", # Optional. Do not fire before this time.
+          },
+        },
+        "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+          "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+            "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+              "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+                "A String",
+              ],
+            },
+            "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+              "A String",
+            ],
+            "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+              { # A specific resource boundary restricting an agent's access to designated entities.
+                "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+                  "A String",
+                ],
+                "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+                "resourceType": "A String", # Required. The type of resource being scoped.
+                "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+              },
+            ],
+            "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+              "A String",
+            ],
+          },
+          "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+            "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+          },
+          "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+            "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+              "a_key": "A String",
+            },
+            "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+          },
+          "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+            "env": { # Environment variables to set in the sandbox environment.
+              "a_key": { # An environment variable to set in the execution environment.
+                "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+                "value": "A String", # Direct string value for plain environment variables.
+              },
+            },
+            "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+            "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+              { # A memory store mounted into the environment under `/memory/`.
+                "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+                "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+                "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+                "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+              },
+            ],
+            "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+              "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+                { # A single domain allowlist rule with optional header injection.
+                  "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+                  "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+                  "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+                  "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                    "a_key": "A String",
+                  },
+                },
+              ],
+            },
+            "networkMode": "A String", # Network egress mode.
+            "sources": [
+              { # A source to be mounted into the environment.
+                "content": "A String", # The inline content if `type` is `INLINE`.
+                "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+                "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+                "target": "A String", # Where the source should appear in the environment.
+                "type": "A String",
+              },
+            ],
+          },
+          "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+            "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+              "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+                "A String",
+              ],
+            },
+            "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+              "A String",
+            ],
+            "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+              { # A specific resource boundary restricting an agent's access to designated entities.
+                "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+                  "A String",
+                ],
+                "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+                "resourceType": "A String", # Required. The type of resource being scoped.
+                "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+              },
+            ],
+            "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+              "A String",
+            ],
+          },
+          "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+          },
+          "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+            "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+            "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+          },
+          "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+          },
+          "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+            "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+            "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+              "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+                "A String",
+              ],
+              "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+              "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+            },
+          },
+        },
+        "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+          "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+        },
+        "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+      },
+      "status": "A String", # Output only. The coarse, durable status of the task.
+      "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+        "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+        "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+      },
+      "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+      "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+      "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+      "updateTime": "A String", # Output only. The time the task was last updated.
+    },
+  ],
+}
+
+ +
+ listArtifacts(task, pageSize=None, pageToken=None, path=None, recursive=None, x__xgafv=None) +
Lists the files in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.
+
+Args:
+  task: string, Required. The task whose workspace to list. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  pageSize: integer, Optional. The maximum number of entries to return. The service may return fewer. If unspecified (or <= 0), at most 100 are returned. The maximum is 1000; larger values are capped to 1000.
+  pageToken: string, Optional. A page token from a previous ListTaskArtifacts call. The workspace is live: the agent can write between pages, so a paged listing is not a snapshot. An entry added during the walk may or may not appear, and one removed may still be listed and then fail to download.
+  path: string, Optional. Absolute path of the directory to list, e.g. "/workspace/userdata". Must be "/workspace" or under it, at most 1024 characters, and not contain a ".." segment. Defaults to "/workspace".
+  recursive: boolean, Optional. If true, descends into subdirectories. Results are breadth-first.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for TaskService.ListTaskArtifacts.
+  "artifacts": [ # The entries under the requested directory.
+    { # A file or directory in a task's workspace.
+      "mimeType": "A String", # Output only. The detected media type. Empty for directories.
+      "path": "A String", # Output only. Absolute path in the task's sandbox, e.g. "/workspace/userdata/input.csv" or "/workspace/report.md". Always under "/workspace" and never contains "..". Can be passed as-is to DownloadTaskArtifact.
+      "sizeBytes": "A String", # Output only. Size of the file in bytes. Zero for directories.
+      "type": "A String", # Output only. Whether this entry is a file or a directory.
+      "updateTime": "A String", # Output only. Last modification time of the file as it was read: the sandbox's when read from a running sandbox, otherwise the stored object's.
+    },
+  ],
+  "nextPageToken": "A String", # A token to retrieve the next page; empty if there are no more pages.
+}
+
+ +
+ listArtifacts_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ patch(name, body=None, updateMask=None, x__xgafv=None) +
Updates a task's mutable fields (e.g. schedule, priority, title). Typically allowed while the task is IDLE.
+
+Args:
+  name: string, Identifier. Resource name of the task. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+  "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+  "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+    "attributions": [ # Output only. Spend broken down by consumer.
+      { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+        "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+        },
+        "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+          "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+          "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+        },
+        "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+          "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+        },
+      },
+    ],
+    "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+    "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+  },
+  "createTime": "A String", # Output only. The time the task was created.
+  "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+    { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+      "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+      "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+      "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+      "state": "A String", # Output only. The goal's state.
+      "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+        { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+          "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+          },
+          "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+          "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+            "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+          },
+          "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+          "state": "A String", # Output only. The verifier's latest verdict.
+        },
+      ],
+    },
+  ],
+  "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name of the task.
+  "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+  "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+  "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+  "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+  "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+  "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+    "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+      "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+      "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+      "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+    },
+    "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+    "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+      "audio": { # Configuration for audio output format.
+        "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+        "delivery": "A String", # The delivery mode for the audio output.
+        "mimeType": "A String", # The MIME type of the audio output.
+        "sampleRate": 42, # Sample rate in Hz.
+      },
+      "image": { # Configuration for image output format.
+        "aspectRatio": "A String", # The aspect ratio for the image output.
+        "delivery": "A String", # The delivery mode for the image output.
+        "imageSize": "A String", # The size of the image output.
+        "mimeType": "A String", # The MIME type of the image output.
+      },
+      "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+        "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+          { # Represents a single field in a struct.
+            "name": "A String",
+            "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+        ],
+      },
+      "text": { # Configuration for text output format.
+        "mimeType": "A String", # The MIME type of the text output.
+        "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+          "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+            { # Represents a single field in a struct.
+              "name": "A String",
+              "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+          ],
+        },
+      },
+      "video": { # Configuration for video output format.
+        "aspectRatio": "A String", # The aspect ratio for the video output.
+        "delivery": "A String", # The delivery mode for the video output.
+        "duration": "A String", # The duration for the video output.
+        "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+        "resolution": "A String", # The video output resolution. Defaults to 720p.
+      },
+    },
+    "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+      "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+    },
+    "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+      { # A step in the interaction.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+    ],
+    "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+    "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+      "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+      "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+      "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+      "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+      "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+    },
+    "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+    "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+      "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+        "delay": "A String", # Relative delay before the single run.
+        "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+      },
+      "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+        "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+          "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+          "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+        },
+        "endTime": "A String", # Optional. Do not fire after this time.
+        "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+          "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+        },
+        "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+        "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+        "startTime": "A String", # Optional. Do not fire before this time.
+      },
+    },
+    "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+      "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+        "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+      },
+      "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+        "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+          "a_key": "A String",
+        },
+        "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+      },
+      "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+        "env": { # Environment variables to set in the sandbox environment.
+          "a_key": { # An environment variable to set in the execution environment.
+            "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+            "value": "A String", # Direct string value for plain environment variables.
+          },
+        },
+        "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+        "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+          { # A memory store mounted into the environment under `/memory/`.
+            "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+            "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+            "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+            "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+          },
+        ],
+        "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+          "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+            { # A single domain allowlist rule with optional header injection.
+              "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+              "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+              "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+              "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                "a_key": "A String",
+              },
+            },
+          ],
+        },
+        "networkMode": "A String", # Network egress mode.
+        "sources": [
+          { # A source to be mounted into the environment.
+            "content": "A String", # The inline content if `type` is `INLINE`.
+            "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+            "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+            "target": "A String", # Where the source should appear in the environment.
+            "type": "A String",
+          },
+        ],
+      },
+      "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+      },
+      "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+        "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+        "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+      },
+      "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+      },
+      "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+        "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+        "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+          "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+            "A String",
+          ],
+          "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+          "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+        },
+      },
+    },
+    "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+      "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+    },
+    "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+  },
+  "status": "A String", # Output only. The coarse, durable status of the task.
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+  "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+  "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+  "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+  "updateTime": "A String", # Output only. The time the task was last updated.
+}
+
+  updateMask: string, Required. The list of fields to update.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+  "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+  "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+    "attributions": [ # Output only. Spend broken down by consumer.
+      { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+        "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+        },
+        "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+          "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+          "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+        },
+        "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+          "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+        },
+      },
+    ],
+    "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+    "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+  },
+  "createTime": "A String", # Output only. The time the task was created.
+  "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+    { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+      "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+      "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+      "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+      "state": "A String", # Output only. The goal's state.
+      "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+        { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+          "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+          },
+          "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+          "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+            "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+          },
+          "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+          "state": "A String", # Output only. The verifier's latest verdict.
+        },
+      ],
+    },
+  ],
+  "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name of the task.
+  "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+  "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+  "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+  "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+  "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+  "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+    "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+      "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+      "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+      "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+    },
+    "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+    "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+      "audio": { # Configuration for audio output format.
+        "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+        "delivery": "A String", # The delivery mode for the audio output.
+        "mimeType": "A String", # The MIME type of the audio output.
+        "sampleRate": 42, # Sample rate in Hz.
+      },
+      "image": { # Configuration for image output format.
+        "aspectRatio": "A String", # The aspect ratio for the image output.
+        "delivery": "A String", # The delivery mode for the image output.
+        "imageSize": "A String", # The size of the image output.
+        "mimeType": "A String", # The MIME type of the image output.
+      },
+      "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+        "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+          { # Represents a single field in a struct.
+            "name": "A String",
+            "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+        ],
+      },
+      "text": { # Configuration for text output format.
+        "mimeType": "A String", # The MIME type of the text output.
+        "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+          "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+            { # Represents a single field in a struct.
+              "name": "A String",
+              "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+          ],
+        },
+      },
+      "video": { # Configuration for video output format.
+        "aspectRatio": "A String", # The aspect ratio for the video output.
+        "delivery": "A String", # The delivery mode for the video output.
+        "duration": "A String", # The duration for the video output.
+        "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+        "resolution": "A String", # The video output resolution. Defaults to 720p.
+      },
+    },
+    "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+      "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+    },
+    "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+      { # A step in the interaction.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+    ],
+    "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+    "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+      "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+      "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+      "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+      "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+      "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+    },
+    "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+    "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+      "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+        "delay": "A String", # Relative delay before the single run.
+        "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+      },
+      "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+        "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+          "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+          "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+        },
+        "endTime": "A String", # Optional. Do not fire after this time.
+        "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+          "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+        },
+        "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+        "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+        "startTime": "A String", # Optional. Do not fire before this time.
+      },
+    },
+    "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+      "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+        "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+      },
+      "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+        "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+          "a_key": "A String",
+        },
+        "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+      },
+      "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+        "env": { # Environment variables to set in the sandbox environment.
+          "a_key": { # An environment variable to set in the execution environment.
+            "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+            "value": "A String", # Direct string value for plain environment variables.
+          },
+        },
+        "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+        "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+          { # A memory store mounted into the environment under `/memory/`.
+            "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+            "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+            "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+            "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+          },
+        ],
+        "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+          "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+            { # A single domain allowlist rule with optional header injection.
+              "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+              "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+              "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+              "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                "a_key": "A String",
+              },
+            },
+          ],
+        },
+        "networkMode": "A String", # Network egress mode.
+        "sources": [
+          { # A source to be mounted into the environment.
+            "content": "A String", # The inline content if `type` is `INLINE`.
+            "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+            "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+            "target": "A String", # Where the source should appear in the environment.
+            "type": "A String",
+          },
+        ],
+      },
+      "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+      },
+      "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+        "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+        "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+      },
+      "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+      },
+      "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+        "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+        "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+          "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+            "A String",
+          ],
+          "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+          "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+        },
+      },
+    },
+    "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+      "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+    },
+    "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+  },
+  "status": "A String", # Output only. The coarse, durable status of the task.
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+  "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+  "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+  "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+  "updateTime": "A String", # Output only. The time the task was last updated.
+}
+
+ +
+ resume(name, body=None, x__xgafv=None) +
Resumes a suspended task, transitioning it back to an active state (WORKING or QUEUED).
+
+Args:
+  name: string, Required. The name of the task to resume. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for TaskService.ResumeTask.
+  "additionalBudget": { # Holistic resource caps metered across the entire task. # Optional. Additional budget to append to the task upon resumption. Used when resuming a task that was `SUSPENDED` due to reaching its budget limits. Not required (or desired) when resuming tasks suspended for other reasons (e.g., via an explicit `SuspendTask` call).
+    "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+    "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+    "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+  "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+  "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+    "attributions": [ # Output only. Spend broken down by consumer.
+      { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+        "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+        },
+        "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+          "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+          "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+        },
+        "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+          "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+        },
+      },
+    ],
+    "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+    "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+  },
+  "createTime": "A String", # Output only. The time the task was created.
+  "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+    { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+      "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+      "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+      "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+      "state": "A String", # Output only. The goal's state.
+      "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+        { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+          "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+          },
+          "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+          "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+            "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+          },
+          "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+          "state": "A String", # Output only. The verifier's latest verdict.
+        },
+      ],
+    },
+  ],
+  "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name of the task.
+  "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+  "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+  "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+  "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+  "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+  "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+    "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+      "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+      "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+      "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+    },
+    "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+    "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+      "audio": { # Configuration for audio output format.
+        "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+        "delivery": "A String", # The delivery mode for the audio output.
+        "mimeType": "A String", # The MIME type of the audio output.
+        "sampleRate": 42, # Sample rate in Hz.
+      },
+      "image": { # Configuration for image output format.
+        "aspectRatio": "A String", # The aspect ratio for the image output.
+        "delivery": "A String", # The delivery mode for the image output.
+        "imageSize": "A String", # The size of the image output.
+        "mimeType": "A String", # The MIME type of the image output.
+      },
+      "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+        "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+          { # Represents a single field in a struct.
+            "name": "A String",
+            "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+        ],
+      },
+      "text": { # Configuration for text output format.
+        "mimeType": "A String", # The MIME type of the text output.
+        "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+          "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+            { # Represents a single field in a struct.
+              "name": "A String",
+              "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+          ],
+        },
+      },
+      "video": { # Configuration for video output format.
+        "aspectRatio": "A String", # The aspect ratio for the video output.
+        "delivery": "A String", # The delivery mode for the video output.
+        "duration": "A String", # The duration for the video output.
+        "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+        "resolution": "A String", # The video output resolution. Defaults to 720p.
+      },
+    },
+    "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+      "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+    },
+    "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+      { # A step in the interaction.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+    ],
+    "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+    "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+      "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+      "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+      "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+      "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+      "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+    },
+    "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+    "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+      "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+        "delay": "A String", # Relative delay before the single run.
+        "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+      },
+      "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+        "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+          "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+          "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+        },
+        "endTime": "A String", # Optional. Do not fire after this time.
+        "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+          "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+        },
+        "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+        "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+        "startTime": "A String", # Optional. Do not fire before this time.
+      },
+    },
+    "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+      "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+        "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+      },
+      "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+        "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+          "a_key": "A String",
+        },
+        "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+      },
+      "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+        "env": { # Environment variables to set in the sandbox environment.
+          "a_key": { # An environment variable to set in the execution environment.
+            "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+            "value": "A String", # Direct string value for plain environment variables.
+          },
+        },
+        "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+        "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+          { # A memory store mounted into the environment under `/memory/`.
+            "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+            "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+            "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+            "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+          },
+        ],
+        "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+          "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+            { # A single domain allowlist rule with optional header injection.
+              "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+              "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+              "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+              "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                "a_key": "A String",
+              },
+            },
+          ],
+        },
+        "networkMode": "A String", # Network egress mode.
+        "sources": [
+          { # A source to be mounted into the environment.
+            "content": "A String", # The inline content if `type` is `INLINE`.
+            "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+            "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+            "target": "A String", # Where the source should appear in the environment.
+            "type": "A String",
+          },
+        ],
+      },
+      "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+      },
+      "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+        "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+        "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+      },
+      "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+      },
+      "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+        "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+        "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+          "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+            "A String",
+          ],
+          "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+          "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+        },
+      },
+    },
+    "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+      "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+    },
+    "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+  },
+  "status": "A String", # Output only. The coarse, durable status of the task.
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+  "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+  "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+  "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+  "updateTime": "A String", # Output only. The time the task was last updated.
+}
+
+ +
+ stream(name, continuationToken=None, nextStepSeqNum=None, snapshot=None, x__xgafv=None) +
Read-only server-stream of a task's execution by id: trajectory steps and status changes, resumable from a step sequence number. Unlike CreateTaskBidiStream, it does not accept client inputs -- use it to observe or replay a task (the trajectory is not stored on the Task resource). This is the entry point for *observers*: it tails the trajectory from interaction storage without restoring the runtime actor, so it adds no restore latency and continues to follow output that a participant driving the task on a CreateTaskBidiStream connection produces. Observe-only clients should prefer this over a subscribe_task connect on CreateTaskBidiStream, which restores the actor and is meant for clients that will send input.
+
+Args:
+  name: string, Required. The name of the task to stream. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  continuationToken: string, Optional. Opaque resume cursor, as issued on TaskServerEvent.continuation_token. Replay continues immediately after the event that carried the token. Takes precedence over next_step_seq_num when both are set. A token this stream cannot redeem is rejected with INVALID_ARGUMENT rather than silently falling back to the numeric cursor, so a client cannot mistake a rejected resume for a replay from the start; reconnect without a token instead. That covers a malformed token, one issued by a connection whose delta streaming differs from this one's (see TaskSpec.delta_streaming), one issued while the server derived task status differently, and any token on a recurring task. A token names a position in the task it was issued on; send it only to that task. It carries no task id, so a token from another task is not rejected, and what it returns is undefined. A token whose position is past the events stored so far is not an error either, because storage can trail the live stream that issued the token: the replay skips everything up to that position, so a snapshot may return no events.
+  nextStepSeqNum: string, Optional. The next step sequence number to resume from. When zero, streams from the beginning of the available trajectory.
+  snapshot: boolean, Optional. If true, streams only the events produced up to the current point in time and terminates the stream once all existing events are sent, rather than tailing and waiting for future events.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Server -> Client message for TaskService.CreateTaskBidiStream. * The first message carries a connect_reply (task_created or task_subscribed). * The steady-state pattern is repeated `events` (steps, status). * The last message carries an end_signal.
+  "ackInputSeqNum": "A String", # Optional. When non-zero, confirms cumulative receipt of client input through this seq_num (inclusive).
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on the first message of the stream.
+  "events": [ # Steady-state events from the server (trajectory steps -- including elicitation/tool-call HITL requests -- and status changes).
+    { # A single Server -> Client event. There is intentionally no non-terminal error/notice branch. Transient, retriable failures (tool-fetch retry, rate-limit, scheduler retry) are handled by runtime retry (bounded by TaskSpec.max_retries) and, if surfaced at all, appear as trajectory steps; the terminal error is reported once via TaskCompletedEvent.outcome.status (google.rpc.Status). This follows the Interactions events.proto, which deprecated its dedicated non-terminal InteractionPausedEvent and reports terminal status on InteractionCompletedEvent.
+      "continuationToken": "A String", # Optional. Opaque resume cursor covering everything delivered through this event, inclusive. A client that keeps the token from the last event it processed and passes it back on SubscribeTaskEvent.continuation_token or StreamTaskRequest.continuation_token resumes at the next event, with no gap and no duplicate. Opaque: the encoding is a server implementation detail and may change without notice. Do not parse it, compare two of them, or derive ordering from it -- order by `seq_num`. Carries no task id, because every RPC that redeems a token already names the task it applies to. It is a position, not a capability: it grants no access on its own, and the task's IAM check is what authorizes the read. This is the resume cursor. Resuming by number (next_step_seq_num on SubscribeTaskEvent and StreamTaskRequest) is slated for deprecation: a number cannot address a position inside a streamed step, while the token can, so a reconnect mid-answer does not re-send the part of that answer the client already rendered. `seq_num` remains for ordering only.
+      "eventId": "A String", # Optional. The TaskClientEvent.event_id this event was derived from, echoed back verbatim. Set only on the events that carry a client input back out: the `step` echoing the input, and the `step_start` of a streamed step the input opened. Empty everywhere else -- on model-generated steps the server produced on its own, on the step_delta/step_stop frames continuing a run (correlate those by `index` with their step_start), and on any event whose client input carried no event_id. Purely a correlation handle: it does not order or acknowledge anything, and the server never derives behavior from it. Since the server does not enforce uniqueness, a client that reuses an id sees it on every echo it produced. Delivered to every client subscribed to the task, not just the one that sent the input, including on a later replay from storage.
+      "seqNum": "A String", # Required. 1-based, non-decreasing sequence number within the server direction, stable across reconnects, so it can be used to resume: a given event carries the same number however the stream is (re)connected. Gapless on a stream delivered from the beginning. Clients acknowledge receipt via ack_output_seq_num and resume via SubscribeTaskEvent.next_step_seq_num. A resume with next_step_seq_num = 0 (or unset) restarts from the first still available step. A number identifies a resume point, not an event, so it is not unique: consecutive events can share one. An event derived from another (an artifacts_changed delta carrying the plan its step just wrote) repeats its source's number rather than taking the next, which keeps the numbering a function of the stream alone and guarantees a cursor never lands between the two. Acknowledging a number acknowledges every event carrying it. A resume can begin AFTER the requested number. next_step_seq_num counts events, but a streamed step spans several of them, so a cursor can point inside a run; the server then suppresses that run's remaining step_delta/step_stop rather than deliver frames for a step the client never saw opened, and resumes at the next step boundary. Numbering is unchanged by that suppression -- keeping it stable is what makes a cursor meaningful across connections -- so the first delivered event may be a later number than asked for. Treat the sequence as monotonic, not densely contiguous, when resuming.
+      "statusChanged": { # Signals a task status transition. # A coarse status transition (e.g. WORKING -> REQUIRES_ACTION when the task is waiting on a human response).
+        "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Machine-readable reason and details for why the task entered this status (e.g. `SUSPENDED`).
+          "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+          "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+        },
+        "taskStatus": "A String", # The new coarse task status.
+      },
+      "step": { # A step in the interaction. # A trajectory output step (thought, tool call, content, elicitation_call, etc.). Human-in-the-loop requests are just steps: the server emits an ElicitationCallStep (for an approval / choice) or a ToolCallStep (for a client-executed tool), and the client responds with the matching ElicitationResultStep / ToolResultStep, correlated by elicitation_id / call_id. The kind of action required is inferred from the step's type, so there is no separate "action required" event.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+      "stepDelta": { # One chunk of a streamed step, carrying only the content generated since the previous chunk. Chunks sharing an `index` belong to one step and concatenate in the order received.
+        "delta": {
+          "argumentsDelta": {
+            "arguments": "A String",
+          },
+          "audio": {
+            "channels": 42, # The number of audio channels.
+            "data": "A String",
+            "mimeType": "A String",
+            "rate": 42, # Deprecated. Use sample_rate instead. The value is ignored.
+            "sampleRate": 42, # The sample rate of the audio.
+            "uri": "A String",
+          },
+          "document": {
+            "data": "A String",
+            "mimeType": "A String",
+            "uri": "A String",
+          },
+          "functionResult": {
+            "isError": True or False,
+            "name": "A String",
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "image": {
+            "data": "A String",
+            "mimeType": "A String",
+            "resolution": "A String", # The resolution of the media.
+            "uri": "A String",
+          },
+          "serverToolCall": {
+            "codeExecutionCall": {
+              "arguments": { # The arguments to pass to the code execution.
+                "code": "A String", # The code to be executed.
+                "language": "A String", # Programming language of the `code`.
+              },
+            },
+            "fileSearchCall": {
+            },
+            "googleMapsCall": {
+              "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+                "queries": [ # The queries to be executed.
+                  "A String",
+                ],
+              },
+            },
+            "googleSearchCall": {
+              "arguments": { # The arguments to pass to Google Search.
+                "queries": [ # Web search queries for the following-up web search.
+                  "A String",
+                ],
+              },
+            },
+            "mcpServerToolCall": {
+              "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+                "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                  { # Represents a single field in a struct.
+                    "name": "A String",
+                    "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                      "boolValue": True or False, # Represents a boolean value.
+                      "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                        "audio": { # An audio content block.
+                          "channels": 42, # The number of audio channels.
+                          "data": "A String", # The audio content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "sampleRate": 42, # The sample rate of the audio.
+                          "uri": "A String", # The URI of the audio.
+                        },
+                        "document": { # A document content block.
+                          "data": "A String", # The document content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "uri": "A String", # The URI of the document.
+                        },
+                        "image": { # An image content block.
+                          "data": "A String", # The image content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "resolution": "A String", # The resolution of the media.
+                          "uri": "A String", # The URI of the image.
+                        },
+                        "text": { # A text content block.
+                          "annotations": [ # Citation information for model-generated content.
+                            { # Citation information for model-generated content.
+                              "endIndex": 42, # End of the attributed segment, exclusive.
+                              "fileCitation": { # A file citation annotation. # A file citation annotation.
+                                "customMetadata": { # User provided metadata about the retrieved context.
+                                  "a_key": "", # Properties of the object.
+                                },
+                                "documentUri": "A String", # The URI of the file.
+                                "fileName": "A String", # The name of the file.
+                                "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                                "pageNumber": 42, # Page number of the cited document, if applicable.
+                                "source": "A String", # Source attributed for a portion of the text.
+                              },
+                              "placeCitation": { # A place citation annotation. # A place citation annotation.
+                                "name": "A String", # Title of the place.
+                                "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                                "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                  { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                    "reviewId": "A String", # The ID of the review snippet.
+                                    "title": "A String", # Title of the review.
+                                    "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                  },
+                                ],
+                                "url": "A String", # URI reference of the place.
+                              },
+                              "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                                "speaker": "A String", # The speaker to associate with this turn.
+                                "style": "A String", # Style instruction for the speech synthesis.
+                              },
+                              "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                              "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                                "title": "A String", # The title of the URL.
+                                "url": "A String", # The URL.
+                              },
+                              "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                                "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                                "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                "text": "A String", # The transcribed word.
+                              },
+                            },
+                          ],
+                          "text": "A String", # Required. The text content.
+                        },
+                        "video": { # A video content block.
+                          "data": "A String", # The video content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                          "processingConfig": {
+                            "static": {
+                              "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                              "fps": 3.14, # Optional. Video frame-rate sampling density.
+                              "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                            },
+                          },
+                          "processingType": "A String",
+                          "resolution": "A String", # The resolution of the media.
+                          "uri": "A String", # The URI of the video.
+                        },
+                      },
+                      "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                        "values": [ # Repeated field of dynamically typed values.
+                          # Object with schema name: GenaiValue
+                        ],
+                      },
+                      "nullValue": "A String", # Represents a null value.
+                      "numberValue": 3.14, # Represents a double value.
+                      "stringValue": "A String", # Represents a string value.
+                      "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                    },
+                  },
+                ],
+              },
+              "name": "A String",
+              "serverName": "A String",
+            },
+            "processingCall": { # Streaming delta for a server-initiated media processing step.
+            },
+            "retrievalCall": { # Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+              "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the Retrieval tool.
+                "queries": [ # Queries for Retrieval information.
+                  "A String",
+                ],
+              },
+              "retrievalType": "A String", # The type of retrieval tools.
+            },
+            "signature": "A String", # A signature hash for backend validation.
+            "urlContextCall": {
+              "arguments": { # The arguments to pass to the URL context.
+                "urls": [ # The URLs to fetch.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "serverToolResult": {
+            "codeExecutionResult": {
+              "isError": True or False,
+              "result": "A String",
+            },
+            "fileSearchResult": {
+              "result": [
+                { # The result of the File Search.
+                },
+              ],
+            },
+            "googleMapsResult": {
+              "result": [ # The results of the Google Maps.
+                { # The result of the Google Maps.
+                  "places": [ # The places that were found.
+                    {
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                  ],
+                  "widgetContextToken": "A String", # Resource name of the Google Maps widget context token.
+                },
+              ],
+            },
+            "googleSearchResult": {
+              "isError": True or False,
+              "result": [
+                { # The result of the Google Search.
+                  "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+                },
+              ],
+            },
+            "mcpServerToolResult": {
+              "name": "A String",
+              "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+              "serverName": "A String",
+            },
+            "processingResult": { # Streaming delta for the result of a server-initiated media processing step.
+            },
+            "retrievalResult": { # Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+              "isError": True or False, # Whether the retrieval resulted in an error.
+            },
+            "signature": "A String", # A signature hash for backend validation.
+            "urlContextResult": {
+              "isError": True or False,
+              "result": [
+                { # The result of the URL context.
+                  "status": "A String", # The status of the URL retrieval.
+                  "url": "A String", # The URL that was fetched.
+                },
+              ],
+            },
+          },
+          "text": {
+            "text": "A String",
+          },
+          "textAnnotationDelta": {
+            "annotations": [ # Citation information for model-generated content.
+              { # Citation information for model-generated content.
+                "endIndex": 42, # End of the attributed segment, exclusive.
+                "fileCitation": { # A file citation annotation. # A file citation annotation.
+                  "customMetadata": { # User provided metadata about the retrieved context.
+                    "a_key": "", # Properties of the object.
+                  },
+                  "documentUri": "A String", # The URI of the file.
+                  "fileName": "A String", # The name of the file.
+                  "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                  "pageNumber": 42, # Page number of the cited document, if applicable.
+                  "source": "A String", # Source attributed for a portion of the text.
+                },
+                "placeCitation": { # A place citation annotation. # A place citation annotation.
+                  "name": "A String", # Title of the place.
+                  "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                  "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                    { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                      "reviewId": "A String", # The ID of the review snippet.
+                      "title": "A String", # Title of the review.
+                      "url": "A String", # A link that corresponds to the user review on Google Maps.
+                    },
+                  ],
+                  "url": "A String", # URI reference of the place.
+                },
+                "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                  "speaker": "A String", # The speaker to associate with this turn.
+                  "style": "A String", # Style instruction for the speech synthesis.
+                },
+                "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                  "title": "A String", # The title of the URL.
+                  "url": "A String", # The URL.
+                },
+                "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                  "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                  "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                  "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                  "text": "A String", # The transcribed word.
+                },
+              },
+            ],
+          },
+          "thoughtSignature": {
+            "signature": "A String", # Signature to match the backend source to be part of the generation.
+          },
+          "thoughtSummary": {
+            "content": { # The content of the response. # A new summary item to be added to the thought.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          },
+          "video": {
+            "data": "A String",
+            "mimeType": "A String",
+            "resolution": "A String", # The resolution of the media.
+            "uri": "A String",
+          },
+        },
+        "index": 42,
+      },
+      "stepStart": { # Opens a streamed step. Emitted only under `TaskSpec.delta_streaming`, which documents the two delivery modes in full. Under `delta_streaming` EVERY step arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an `index`, and a bare `step` is never emitted. Reassembling a run yields the same Step that `step` above would otherwise have delivered. What follows a `step_start` depends on whether the content is generated progressively. Assistant text (and the citations on it) and thoughts stream across the run's `step_delta`s as they are produced, so for those this field carries the step's shape (role, type) with its generated content left empty. A step that arrives whole -- tool calls, tool results, elicitations, user-input echoes, errors -- carries no `step_delta` at all: the COMPLETE step rides this field, and `step_stop` closes the run.
+        "index": 42,
+        "step": { # A step in the interaction.
+          "modelOutput": { # Output generated by the model.
+            "content": [
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+            "error": { # 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). # The error result of the operation in case of failure or cancellation.
+              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+              "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                {
+                  "a_key": "", # Properties of the object. Contains field @type with type URL.
+                },
+              ],
+              "message": "A String", # 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.
+            },
+          },
+          "thought": { # A thought step.
+            "signature": "A String", # A signature hash for backend validation.
+            "summary": [ # A summary of the thought.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "toolCall": { # Tool call step.
+            "codeExecutionCall": { # Code execution call step.
+              "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+                "code": "A String", # The code to be executed.
+                "language": "A String", # Programming language of the `code`.
+              },
+            },
+            "fileSearchCall": { # File Search call step.
+            },
+            "functionCall": { # A function tool call step.
+              "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+                "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                  { # Represents a single field in a struct.
+                    "name": "A String",
+                    "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                      "boolValue": True or False, # Represents a boolean value.
+                      "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                        "audio": { # An audio content block.
+                          "channels": 42, # The number of audio channels.
+                          "data": "A String", # The audio content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "sampleRate": 42, # The sample rate of the audio.
+                          "uri": "A String", # The URI of the audio.
+                        },
+                        "document": { # A document content block.
+                          "data": "A String", # The document content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "uri": "A String", # The URI of the document.
+                        },
+                        "image": { # An image content block.
+                          "data": "A String", # The image content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "resolution": "A String", # The resolution of the media.
+                          "uri": "A String", # The URI of the image.
+                        },
+                        "text": { # A text content block.
+                          "annotations": [ # Citation information for model-generated content.
+                            { # Citation information for model-generated content.
+                              "endIndex": 42, # End of the attributed segment, exclusive.
+                              "fileCitation": { # A file citation annotation. # A file citation annotation.
+                                "customMetadata": { # User provided metadata about the retrieved context.
+                                  "a_key": "", # Properties of the object.
+                                },
+                                "documentUri": "A String", # The URI of the file.
+                                "fileName": "A String", # The name of the file.
+                                "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                                "pageNumber": 42, # Page number of the cited document, if applicable.
+                                "source": "A String", # Source attributed for a portion of the text.
+                              },
+                              "placeCitation": { # A place citation annotation. # A place citation annotation.
+                                "name": "A String", # Title of the place.
+                                "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                                "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                  { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                    "reviewId": "A String", # The ID of the review snippet.
+                                    "title": "A String", # Title of the review.
+                                    "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                  },
+                                ],
+                                "url": "A String", # URI reference of the place.
+                              },
+                              "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                                "speaker": "A String", # The speaker to associate with this turn.
+                                "style": "A String", # Style instruction for the speech synthesis.
+                              },
+                              "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                              "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                                "title": "A String", # The title of the URL.
+                                "url": "A String", # The URL.
+                              },
+                              "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                                "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                                "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                "text": "A String", # The transcribed word.
+                              },
+                            },
+                          ],
+                          "text": "A String", # Required. The text content.
+                        },
+                        "video": { # A video content block.
+                          "data": "A String", # The video content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                          "processingConfig": {
+                            "static": {
+                              "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                              "fps": 3.14, # Optional. Video frame-rate sampling density.
+                              "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                            },
+                          },
+                          "processingType": "A String",
+                          "resolution": "A String", # The resolution of the media.
+                          "uri": "A String", # The URI of the video.
+                        },
+                      },
+                      "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                        "values": [ # Repeated field of dynamically typed values.
+                          # Object with schema name: GenaiValue
+                        ],
+                      },
+                      "nullValue": "A String", # Represents a null value.
+                      "numberValue": 3.14, # Represents a double value.
+                      "stringValue": "A String", # Represents a string value.
+                      "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                    },
+                  },
+                ],
+              },
+              "name": "A String", # Required. The name of the tool to call.
+            },
+            "googleMapsCall": { # Google Maps call step.
+              "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+                "queries": [ # The queries to be executed.
+                  "A String",
+                ],
+              },
+            },
+            "googleSearchCall": { # Google Search call step.
+              "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+                "queries": [ # Web search queries for the following-up web search.
+                  "A String",
+                ],
+              },
+              "searchType": "A String", # The type of search grounding enabled.
+            },
+            "id": "A String", # Required. A unique ID for this specific tool call.
+            "mcpServerToolCall": { # MCPServer tool call step.
+              "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+                "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                  { # Represents a single field in a struct.
+                    "name": "A String",
+                    "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                      "boolValue": True or False, # Represents a boolean value.
+                      "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                        "audio": { # An audio content block.
+                          "channels": 42, # The number of audio channels.
+                          "data": "A String", # The audio content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "sampleRate": 42, # The sample rate of the audio.
+                          "uri": "A String", # The URI of the audio.
+                        },
+                        "document": { # A document content block.
+                          "data": "A String", # The document content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "uri": "A String", # The URI of the document.
+                        },
+                        "image": { # An image content block.
+                          "data": "A String", # The image content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "resolution": "A String", # The resolution of the media.
+                          "uri": "A String", # The URI of the image.
+                        },
+                        "text": { # A text content block.
+                          "annotations": [ # Citation information for model-generated content.
+                            { # Citation information for model-generated content.
+                              "endIndex": 42, # End of the attributed segment, exclusive.
+                              "fileCitation": { # A file citation annotation. # A file citation annotation.
+                                "customMetadata": { # User provided metadata about the retrieved context.
+                                  "a_key": "", # Properties of the object.
+                                },
+                                "documentUri": "A String", # The URI of the file.
+                                "fileName": "A String", # The name of the file.
+                                "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                                "pageNumber": 42, # Page number of the cited document, if applicable.
+                                "source": "A String", # Source attributed for a portion of the text.
+                              },
+                              "placeCitation": { # A place citation annotation. # A place citation annotation.
+                                "name": "A String", # Title of the place.
+                                "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                                "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                  { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                    "reviewId": "A String", # The ID of the review snippet.
+                                    "title": "A String", # Title of the review.
+                                    "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                  },
+                                ],
+                                "url": "A String", # URI reference of the place.
+                              },
+                              "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                                "speaker": "A String", # The speaker to associate with this turn.
+                                "style": "A String", # Style instruction for the speech synthesis.
+                              },
+                              "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                              "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                                "title": "A String", # The title of the URL.
+                                "url": "A String", # The URL.
+                              },
+                              "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                                "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                                "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                "text": "A String", # The transcribed word.
+                              },
+                            },
+                          ],
+                          "text": "A String", # Required. The text content.
+                        },
+                        "video": { # A video content block.
+                          "data": "A String", # The video content.
+                          "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                          "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                          "processingConfig": {
+                            "static": {
+                              "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                              "fps": 3.14, # Optional. Video frame-rate sampling density.
+                              "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                            },
+                          },
+                          "processingType": "A String",
+                          "resolution": "A String", # The resolution of the media.
+                          "uri": "A String", # The URI of the video.
+                        },
+                      },
+                      "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                        "values": [ # Repeated field of dynamically typed values.
+                          # Object with schema name: GenaiValue
+                        ],
+                      },
+                      "nullValue": "A String", # Represents a null value.
+                      "numberValue": 3.14, # Represents a double value.
+                      "stringValue": "A String", # Represents a string value.
+                      "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                    },
+                  },
+                ],
+              },
+              "name": "A String", # Required. The name of the tool which was called.
+              "serverName": "A String", # Required. The name of the used MCP server.
+            },
+            "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+            },
+            "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+              "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+                "queries": [ # Queries for Retrieval information.
+                  "A String",
+                ],
+              },
+              "retrievalType": "A String", # The type of retrieval tools.
+            },
+            "signature": "A String", # A signature hash for backend validation.
+            "urlContextCall": { # URL context call step.
+              "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+                "urls": [ # The URLs to fetch.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "toolResult": { # Tool result step.
+            "callId": "A String", # Required. ID to match the ID from the function call block.
+            "codeExecutionResult": { # Code execution result step.
+              "isError": True or False, # Whether the code execution resulted in an error.
+              "result": "A String", # Required. The output of the code execution.
+            },
+            "fileSearchResult": { # File Search result step.
+            },
+            "functionResult": { # Result of a function tool call.
+              "isError": True or False, # Whether the tool call resulted in an error.
+              "name": "A String", # The name of the tool that was called.
+              "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+            "googleMapsResult": { # Google Maps result step.
+              "result": [
+                { # The result of the Google Maps.
+                  "places": [
+                    {
+                      "name": "A String",
+                      "placeId": "A String",
+                      "reviewSnippets": [
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String",
+                    },
+                  ],
+                  "widgetContextToken": "A String",
+                },
+              ],
+            },
+            "googleSearchResult": { # Google Search result step.
+              "isError": True or False, # Whether the Google Search resulted in an error.
+              "result": [ # Required. The results of the Google Search.
+                { # The result of the Google Search.
+                  "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+                },
+              ],
+            },
+            "mcpServerToolResult": { # MCPServer tool result step.
+              "name": "A String", # Name of the tool which is called for this specific tool call.
+              "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+              "serverName": "A String", # The name of the used MCP server.
+            },
+            "processingResult": { # The result of a server-initiated media processing step.
+            },
+            "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+              "isError": True or False, # Whether the retrieval resulted in an error.
+            },
+            "signature": "A String", # A signature hash for backend validation.
+            "urlContextResult": { # URL context result step.
+              "isError": True or False, # Whether the URL context resulted in an error.
+              "result": [ # Required. The results of the URL context.
+                { # The result of the URL context.
+                  "status": "A String", # The status of the URL retrieval.
+                  "url": "A String", # The URL that was fetched.
+                },
+              ],
+            },
+          },
+          "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+            "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+              "contents": [ # The contents of the list.
+                { # The content of the response.
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+              ],
+            },
+            "contentString": "A String", # The content of the step. A single string.
+          },
+        },
+      },
+      "stepStop": { # Closes a streamed step, carrying its token usage. No further `step_delta` arrives for this `index`.
+        "index": 42,
+        "stepUsage": { # Statistics on the interaction request's token usage. # Model usage stats for this specific step.
+          "billableUsage": { # Accumulated billable token usage across all continuation calls. # Accumulated billable token usage across all continuation calls.
+            "totalCachedTokens": 42, # Total billable cached tokens across all continuation calls.
+            "totalInputTokens": 42, # Total billable input tokens across all continuation calls.
+            "totalOutputTokens": 42, # Total billable output tokens across all continuation calls.
+            "totalThoughtTokens": 42, # Total billable thought tokens across all continuation calls.
+            "totalTokens": 42, # Total billable token count across all continuation calls.
+          },
+          "cachedTokensByModality": [ # A breakdown of cached token usage by modality.
+            { # The token count for a single response modality.
+              "modality": "A String", # The modality associated with the token count.
+              "tokens": 42, # Number of tokens for the modality.
+            },
+          ],
+          "compactionUsageMetadata": { # Token usage metadata for context compaction. # Token usage metadata for context compaction.
+            "inputTokenCount": 42, # Number of tokens processed in the compaction input.
+            "outputTokenCount": 42, # Number of tokens generated in the compaction output.
+            "postcompactionTokenCount": "A String", # Estimated total token count of the conversation context after compaction.
+            "precompactionStepCount": 42, # Number of conversation steps (user turns) before compaction.
+            "precompactionTokenCount": "A String", # Estimated total token count of the conversation context before compaction.
+          },
+          "groundingToolCount": [ # Grounding tool count.
+            { # The number of grounding tool counts.
+              "count": 42, # The number of grounding tool counts.
+              "searchQueryCount": 42, # Number of unique search queries generated by the model for this tool.
+              "type": "A String", # The grounding tool type associated with the count.
+            },
+          ],
+          "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction.
+          "inputTokensByModality": [ # A breakdown of input token usage by modality.
+            { # The token count for a single response modality.
+              "modality": "A String", # The modality associated with the token count.
+              "tokens": 42, # Number of tokens for the modality.
+            },
+          ],
+          "modelInvocationTokenCounts": [ # Per-invocation token count breakdown. For simple requests, this contains a single entry. For requests with server-side tool use, this contains one entry per model invocation, ordered chronologically. This is the source of truth for billing.
+            { # Token count breakdown for a single model invocation (main model only) within a request. For simple requests without tool use, there is a single invocation. For requests with server-side tool use, there is one invocation per tool-use iteration.
+              "cacheTokensDetails": [ # Per-modality breakdown of cached tokens within this invocation's prompt. Cached tokens are discounted for billing (priced at the cache rate, not the full input rate). This is a subset of prompt_tokens_details.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "candidatesTokensDetails": [ # Per-modality breakdown of response tokens for this invocation. Includes the model's text output, function calls, or final answer. Does not include thought tokens.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "promptTokensDetails": [ # Per-modality breakdown of prompt tokens for this invocation. Includes all tokens sent to the model: user content, system instructions, formatting/control tokens, tool declarations, and any previous-turn context accumulated during tool use.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "thoughtsTokensDetails": [ # Per-modality breakdown of thought tokens for this invocation (for thinking models). Includes auxiliary control tokens produced by the model that delimit thought blocks.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+            },
+          ],
+          "nonGroundingModelInvocationTokenCounts": [ # Per-invocation token count breakdown for non-grounding invocations (grounding prompt/cache tokens excluded).
+            { # Token count breakdown for a single model invocation (main model only) within a request. For simple requests without tool use, there is a single invocation. For requests with server-side tool use, there is one invocation per tool-use iteration.
+              "cacheTokensDetails": [ # Per-modality breakdown of cached tokens within this invocation's prompt. Cached tokens are discounted for billing (priced at the cache rate, not the full input rate). This is a subset of prompt_tokens_details.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "candidatesTokensDetails": [ # Per-modality breakdown of response tokens for this invocation. Includes the model's text output, function calls, or final answer. Does not include thought tokens.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "promptTokensDetails": [ # Per-modality breakdown of prompt tokens for this invocation. Includes all tokens sent to the model: user content, system instructions, formatting/control tokens, tool declarations, and any previous-turn context accumulated during tool use.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "thoughtsTokensDetails": [ # Per-modality breakdown of thought tokens for this invocation (for thinking models). Includes auxiliary control tokens produced by the model that delimit thought blocks.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+            },
+          ],
+          "outputTokensByModality": [ # A breakdown of output token usage by modality.
+            { # The token count for a single response modality.
+              "modality": "A String", # The modality associated with the token count.
+              "tokens": 42, # Number of tokens for the modality.
+            },
+          ],
+          "rawPromptToken": 42, # Output only.
+          "toolCallUsage": [ # Output only. Per-tool call statistics, sorted by (`tool_type`, `name`).
+            { # Usage statistics for one tool, aggregated over the interaction.
+              "name": "A String", # The function name as declared in the request. Set only when `tool_type` is TOOL_TYPE_FUNCTION; empty for all other tool types.
+              "serverExecutedCount": 42, # Of `tool_call_count`, calls dispatched to and run by the server, whether or not they succeeded.
+              "toolCallCount": 42, # Number of calls to this tool that the model generated.
+              "toolType": "A String",
+            },
+          ],
+          "toolUseTokensByModality": [ # A breakdown of tool-use token usage by modality.
+            { # The token count for a single response modality.
+              "modality": "A String", # The modality associated with the token count.
+              "tokens": 42, # Number of tokens for the modality.
+            },
+          ],
+          "totalCachedTokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+          "totalInputTokens": 42, # Number of tokens in the prompt (context).
+          "totalModelInvocations": 42, # Total number of LLM model invocations executed during the interaction turn (including retries and multi-step tool loop calls).
+          "totalOutputTokens": 42, # Total number of tokens across all the generated responses.
+          "totalThoughtTokens": 42, # Number of tokens of thoughts for thinking models.
+          "totalTokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+          "totalToolUseTokens": 42, # Number of tokens present in tool-use prompt(s).
+        },
+        "usage": { # Statistics on the interaction request's token usage. # Cumulative model usage stats from the start of the session.
+          "billableUsage": { # Accumulated billable token usage across all continuation calls. # Accumulated billable token usage across all continuation calls.
+            "totalCachedTokens": 42, # Total billable cached tokens across all continuation calls.
+            "totalInputTokens": 42, # Total billable input tokens across all continuation calls.
+            "totalOutputTokens": 42, # Total billable output tokens across all continuation calls.
+            "totalThoughtTokens": 42, # Total billable thought tokens across all continuation calls.
+            "totalTokens": 42, # Total billable token count across all continuation calls.
+          },
+          "cachedTokensByModality": [ # A breakdown of cached token usage by modality.
+            { # The token count for a single response modality.
+              "modality": "A String", # The modality associated with the token count.
+              "tokens": 42, # Number of tokens for the modality.
+            },
+          ],
+          "compactionUsageMetadata": { # Token usage metadata for context compaction. # Token usage metadata for context compaction.
+            "inputTokenCount": 42, # Number of tokens processed in the compaction input.
+            "outputTokenCount": 42, # Number of tokens generated in the compaction output.
+            "postcompactionTokenCount": "A String", # Estimated total token count of the conversation context after compaction.
+            "precompactionStepCount": 42, # Number of conversation steps (user turns) before compaction.
+            "precompactionTokenCount": "A String", # Estimated total token count of the conversation context before compaction.
+          },
+          "groundingToolCount": [ # Grounding tool count.
+            { # The number of grounding tool counts.
+              "count": 42, # The number of grounding tool counts.
+              "searchQueryCount": 42, # Number of unique search queries generated by the model for this tool.
+              "type": "A String", # The grounding tool type associated with the count.
+            },
+          ],
+          "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction.
+          "inputTokensByModality": [ # A breakdown of input token usage by modality.
+            { # The token count for a single response modality.
+              "modality": "A String", # The modality associated with the token count.
+              "tokens": 42, # Number of tokens for the modality.
+            },
+          ],
+          "modelInvocationTokenCounts": [ # Per-invocation token count breakdown. For simple requests, this contains a single entry. For requests with server-side tool use, this contains one entry per model invocation, ordered chronologically. This is the source of truth for billing.
+            { # Token count breakdown for a single model invocation (main model only) within a request. For simple requests without tool use, there is a single invocation. For requests with server-side tool use, there is one invocation per tool-use iteration.
+              "cacheTokensDetails": [ # Per-modality breakdown of cached tokens within this invocation's prompt. Cached tokens are discounted for billing (priced at the cache rate, not the full input rate). This is a subset of prompt_tokens_details.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "candidatesTokensDetails": [ # Per-modality breakdown of response tokens for this invocation. Includes the model's text output, function calls, or final answer. Does not include thought tokens.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "promptTokensDetails": [ # Per-modality breakdown of prompt tokens for this invocation. Includes all tokens sent to the model: user content, system instructions, formatting/control tokens, tool declarations, and any previous-turn context accumulated during tool use.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "thoughtsTokensDetails": [ # Per-modality breakdown of thought tokens for this invocation (for thinking models). Includes auxiliary control tokens produced by the model that delimit thought blocks.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+            },
+          ],
+          "nonGroundingModelInvocationTokenCounts": [ # Per-invocation token count breakdown for non-grounding invocations (grounding prompt/cache tokens excluded).
+            { # Token count breakdown for a single model invocation (main model only) within a request. For simple requests without tool use, there is a single invocation. For requests with server-side tool use, there is one invocation per tool-use iteration.
+              "cacheTokensDetails": [ # Per-modality breakdown of cached tokens within this invocation's prompt. Cached tokens are discounted for billing (priced at the cache rate, not the full input rate). This is a subset of prompt_tokens_details.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "candidatesTokensDetails": [ # Per-modality breakdown of response tokens for this invocation. Includes the model's text output, function calls, or final answer. Does not include thought tokens.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "promptTokensDetails": [ # Per-modality breakdown of prompt tokens for this invocation. Includes all tokens sent to the model: user content, system instructions, formatting/control tokens, tool declarations, and any previous-turn context accumulated during tool use.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+              "thoughtsTokensDetails": [ # Per-modality breakdown of thought tokens for this invocation (for thinking models). Includes auxiliary control tokens produced by the model that delimit thought blocks.
+                { # The token count for a single response modality.
+                  "modality": "A String", # The modality associated with the token count.
+                  "tokens": 42, # Number of tokens for the modality.
+                },
+              ],
+            },
+          ],
+          "outputTokensByModality": [ # A breakdown of output token usage by modality.
+            { # The token count for a single response modality.
+              "modality": "A String", # The modality associated with the token count.
+              "tokens": 42, # Number of tokens for the modality.
+            },
+          ],
+          "rawPromptToken": 42, # Output only.
+          "toolCallUsage": [ # Output only. Per-tool call statistics, sorted by (`tool_type`, `name`).
+            { # Usage statistics for one tool, aggregated over the interaction.
+              "name": "A String", # The function name as declared in the request. Set only when `tool_type` is TOOL_TYPE_FUNCTION; empty for all other tool types.
+              "serverExecutedCount": 42, # Of `tool_call_count`, calls dispatched to and run by the server, whether or not they succeeded.
+              "toolCallCount": 42, # Number of calls to this tool that the model generated.
+              "toolType": "A String",
+            },
+          ],
+          "toolUseTokensByModality": [ # A breakdown of tool-use token usage by modality.
+            { # The token count for a single response modality.
+              "modality": "A String", # The modality associated with the token count.
+              "tokens": 42, # Number of tokens for the modality.
+            },
+          ],
+          "totalCachedTokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+          "totalInputTokens": 42, # Number of tokens in the prompt (context).
+          "totalModelInvocations": 42, # Total number of LLM model invocations executed during the interaction turn (including retries and multi-step tool loop calls).
+          "totalOutputTokens": 42, # Total number of tokens across all the generated responses.
+          "totalThoughtTokens": 42, # Number of tokens of thoughts for thinking models.
+          "totalTokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+          "totalToolUseTokens": 42, # Number of tokens present in tool-use prompt(s).
+        },
+      },
+      "stepUsage": { # Statistics on the interaction request's token usage. # Optional. Token usage for one model call. Populated on at most one event per model call regardless of `TaskSpec.delta_streaming`, and absent on non-model events (tool results, user-input echoes, status changes).
+        "billableUsage": { # Accumulated billable token usage across all continuation calls. # Accumulated billable token usage across all continuation calls.
+          "totalCachedTokens": 42, # Total billable cached tokens across all continuation calls.
+          "totalInputTokens": 42, # Total billable input tokens across all continuation calls.
+          "totalOutputTokens": 42, # Total billable output tokens across all continuation calls.
+          "totalThoughtTokens": 42, # Total billable thought tokens across all continuation calls.
+          "totalTokens": 42, # Total billable token count across all continuation calls.
+        },
+        "cachedTokensByModality": [ # A breakdown of cached token usage by modality.
+          { # The token count for a single response modality.
+            "modality": "A String", # The modality associated with the token count.
+            "tokens": 42, # Number of tokens for the modality.
+          },
+        ],
+        "compactionUsageMetadata": { # Token usage metadata for context compaction. # Token usage metadata for context compaction.
+          "inputTokenCount": 42, # Number of tokens processed in the compaction input.
+          "outputTokenCount": 42, # Number of tokens generated in the compaction output.
+          "postcompactionTokenCount": "A String", # Estimated total token count of the conversation context after compaction.
+          "precompactionStepCount": 42, # Number of conversation steps (user turns) before compaction.
+          "precompactionTokenCount": "A String", # Estimated total token count of the conversation context before compaction.
+        },
+        "groundingToolCount": [ # Grounding tool count.
+          { # The number of grounding tool counts.
+            "count": 42, # The number of grounding tool counts.
+            "searchQueryCount": 42, # Number of unique search queries generated by the model for this tool.
+            "type": "A String", # The grounding tool type associated with the count.
+          },
+        ],
+        "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction.
+        "inputTokensByModality": [ # A breakdown of input token usage by modality.
+          { # The token count for a single response modality.
+            "modality": "A String", # The modality associated with the token count.
+            "tokens": 42, # Number of tokens for the modality.
+          },
+        ],
+        "modelInvocationTokenCounts": [ # Per-invocation token count breakdown. For simple requests, this contains a single entry. For requests with server-side tool use, this contains one entry per model invocation, ordered chronologically. This is the source of truth for billing.
+          { # Token count breakdown for a single model invocation (main model only) within a request. For simple requests without tool use, there is a single invocation. For requests with server-side tool use, there is one invocation per tool-use iteration.
+            "cacheTokensDetails": [ # Per-modality breakdown of cached tokens within this invocation's prompt. Cached tokens are discounted for billing (priced at the cache rate, not the full input rate). This is a subset of prompt_tokens_details.
+              { # The token count for a single response modality.
+                "modality": "A String", # The modality associated with the token count.
+                "tokens": 42, # Number of tokens for the modality.
+              },
+            ],
+            "candidatesTokensDetails": [ # Per-modality breakdown of response tokens for this invocation. Includes the model's text output, function calls, or final answer. Does not include thought tokens.
+              { # The token count for a single response modality.
+                "modality": "A String", # The modality associated with the token count.
+                "tokens": 42, # Number of tokens for the modality.
+              },
+            ],
+            "promptTokensDetails": [ # Per-modality breakdown of prompt tokens for this invocation. Includes all tokens sent to the model: user content, system instructions, formatting/control tokens, tool declarations, and any previous-turn context accumulated during tool use.
+              { # The token count for a single response modality.
+                "modality": "A String", # The modality associated with the token count.
+                "tokens": 42, # Number of tokens for the modality.
+              },
+            ],
+            "thoughtsTokensDetails": [ # Per-modality breakdown of thought tokens for this invocation (for thinking models). Includes auxiliary control tokens produced by the model that delimit thought blocks.
+              { # The token count for a single response modality.
+                "modality": "A String", # The modality associated with the token count.
+                "tokens": 42, # Number of tokens for the modality.
+              },
+            ],
+          },
+        ],
+        "nonGroundingModelInvocationTokenCounts": [ # Per-invocation token count breakdown for non-grounding invocations (grounding prompt/cache tokens excluded).
+          { # Token count breakdown for a single model invocation (main model only) within a request. For simple requests without tool use, there is a single invocation. For requests with server-side tool use, there is one invocation per tool-use iteration.
+            "cacheTokensDetails": [ # Per-modality breakdown of cached tokens within this invocation's prompt. Cached tokens are discounted for billing (priced at the cache rate, not the full input rate). This is a subset of prompt_tokens_details.
+              { # The token count for a single response modality.
+                "modality": "A String", # The modality associated with the token count.
+                "tokens": 42, # Number of tokens for the modality.
+              },
+            ],
+            "candidatesTokensDetails": [ # Per-modality breakdown of response tokens for this invocation. Includes the model's text output, function calls, or final answer. Does not include thought tokens.
+              { # The token count for a single response modality.
+                "modality": "A String", # The modality associated with the token count.
+                "tokens": 42, # Number of tokens for the modality.
+              },
+            ],
+            "promptTokensDetails": [ # Per-modality breakdown of prompt tokens for this invocation. Includes all tokens sent to the model: user content, system instructions, formatting/control tokens, tool declarations, and any previous-turn context accumulated during tool use.
+              { # The token count for a single response modality.
+                "modality": "A String", # The modality associated with the token count.
+                "tokens": 42, # Number of tokens for the modality.
+              },
+            ],
+            "thoughtsTokensDetails": [ # Per-modality breakdown of thought tokens for this invocation (for thinking models). Includes auxiliary control tokens produced by the model that delimit thought blocks.
+              { # The token count for a single response modality.
+                "modality": "A String", # The modality associated with the token count.
+                "tokens": 42, # Number of tokens for the modality.
+              },
+            ],
+          },
+        ],
+        "outputTokensByModality": [ # A breakdown of output token usage by modality.
+          { # The token count for a single response modality.
+            "modality": "A String", # The modality associated with the token count.
+            "tokens": 42, # Number of tokens for the modality.
+          },
+        ],
+        "rawPromptToken": 42, # Output only.
+        "toolCallUsage": [ # Output only. Per-tool call statistics, sorted by (`tool_type`, `name`).
+          { # Usage statistics for one tool, aggregated over the interaction.
+            "name": "A String", # The function name as declared in the request. Set only when `tool_type` is TOOL_TYPE_FUNCTION; empty for all other tool types.
+            "serverExecutedCount": 42, # Of `tool_call_count`, calls dispatched to and run by the server, whether or not they succeeded.
+            "toolCallCount": 42, # Number of calls to this tool that the model generated.
+            "toolType": "A String",
+          },
+        ],
+        "toolUseTokensByModality": [ # A breakdown of tool-use token usage by modality.
+          { # The token count for a single response modality.
+            "modality": "A String", # The modality associated with the token count.
+            "tokens": 42, # Number of tokens for the modality.
+          },
+        ],
+        "totalCachedTokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+        "totalInputTokens": 42, # Number of tokens in the prompt (context).
+        "totalModelInvocations": 42, # Total number of LLM model invocations executed during the interaction turn (including retries and multi-step tool loop calls).
+        "totalOutputTokens": 42, # Total number of tokens across all the generated responses.
+        "totalThoughtTokens": 42, # Number of tokens of thoughts for thinking models.
+        "totalTokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+        "totalToolUseTokens": 42, # Number of tokens present in tool-use prompt(s).
+      },
+      "taskUpdate": { # A change to a task's details. Surfaces out the Task resource fields that change during execution. # A change to the task's details.
+        "updates": [ # The task detail changes carried by this event.
+          { # A single task detail change.
+            "summary": "A String", # Rolling progress/outcome summary.
+            "title": "A String", # Concise title.
+          },
+        ],
+      },
+      "timestampMicros": "A String", # Strictly increasing generation timestamp, in unix micros.
+      "trajectoryId": "A String", # Optional. The runtime trajectory UUID that produced this event's step, e.g. "e9df8df3-d63a-4747-ad00-eaef837d7d31". A debugging correlation handle and the join key to the runtime's per-step trajectory record (for Sobi, the Trajectory Store viewer at sobi.corp.google.com/trajectory/). Set on the step-bearing events (`step` and the `step_start` of a streamed step); empty on status_changed / artifacts_changed and on the step_delta/step_stop frames continuing a run (correlate those by `index` with their step_start). Also empty on steps the Sobi converter did not build: the actor delivers `elicitation_call` as a native `Step` payload with no field 110, and `Session::ReadConverted` forwards it unchanged (`jetski_to_interaction_stream_converter.cc:1101-1104`), so a HITL turn reaches the client on `step` with `trajectory_id` empty even though a trajectory does exist for it. A whole turn shares one trajectory id. The server never derives behavior from it. See b/552010818.
+    },
+  ],
+  "taskCompleted": { # Signals that the task reached a terminal status. # The task reached a terminal status.
+  },
+  "taskCreated": { # Server reply confirming a new task was created. # Reply to create_task: returns the new task name.
+    "clientId": "A String", # The client identifier bound to this stream connection (either echoed from CreateTaskEvent or server-generated). Use this ID in SubscribeTaskEvent to resume after a disconnect.
+    "task": "A String", # Resource name of the created task. The client uses this id to reconnect (via a subscribe_task connect request) after a dropped stream. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}
+  },
+  "taskSubscribed": { # Server reply confirming subscription to an existing task. # Reply to subscribe_task.
+    "clientId": "A String", # The client identifier bound to this stream connection (either echoed from SubscribeTaskEvent or server-generated). Use this ID in subsequent SubscribeTaskEvent messages to maintain sequence continuity.
+    "nextStepSeqNum": "A String", # The next step sequence number the server will send: the position it resolved to from the subscribe request. The mirror of the same-named field on SubscribeTaskEvent -- there it is what the client asks for, here it is what the server settled on. Zero means no cursor was resolved: the request supplied neither next_step_seq_num nor ack_output_seq_num, so output replays from the oldest retained step.
+    "status": "A String", # The current coarse status of the task at subscription time.
+  },
+}
+
+ +
+ suspend(name, body=None, x__xgafv=None) +
Suspends a task, pausing its active turn or scheduling loop and transitioning the status to SUSPENDED. The underlying runtime session remains resumable.
+
+Args:
+  name: string, Required. The name of the task to suspend. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for TaskService.SuspendTask.
+  "operateOnSelf": True or False, # Optional. Whether to skip cascade suspension to all descendant subtasks. Defaults to false (cascades to all descendants by default).
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Optional. Machine-readable reason and detail for the suspension.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ upload(name, body=None, media_body=None, media_mime_type=None, x__xgafv=None) +
Uploads a file. The file is sent as media: post it to this method's URL with an `/upload` prefix, e.g. `/upload/v1beta1/{name}:upload`, carrying `path` as request metadata and the file's bytes as the media content. The task must not be in a terminal state, and an existing file at `path` is replaced. At most 10 GiB.
+
+Args:
+  name: string, Required. The task or collaborative project to upload to. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for ArtifactService.UploadArtifact.
+  "path": "A String", # Required. Absolute destination path in the task's workspace, e.g. `/workspace/userdata/input.csv`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace` and at most 1024 characters; relative paths and paths containing a `..` segment are rejected with `INVALID_ARGUMENT`.
+}
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ArtifactService.UploadArtifact.
+  "path": "A String", # The file's path in the task's workspace.
+}
+
+ +
+ uploadArtifact(task, body=None, path=None, x__xgafv=None) +
Uploads a file into a task's workspace. A client-streaming RPC: the request body is the file's raw bytes, relayed to storage a chunk at a time, so neither ESF nor this server holds the whole file. A broken connection restarts the upload from zero. `path` must be an absolute path under `/workspace/userdata/`. The task must not be in a terminal state. An existing file at `path` is replaced. At most 1 GiB.
+
+Args:
+  task: string, Required. The task to upload into. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
+  "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
+  "data": "A String", # The HTTP request/response body as raw binary.
+  "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
+    {
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+  ],
+}
+
+  path: string, Required. Absolute destination path, e.g. "/workspace/userdata/input.csv". Must be under "/workspace/userdata/" and at most 1024 characters; relative paths and paths containing a ".." segment are rejected with INVALID_ARGUMENT.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A file or directory in a task's workspace.
+  "mimeType": "A String", # Output only. The detected media type. Empty for directories.
+  "path": "A String", # Output only. Absolute path in the task's sandbox, e.g. "/workspace/userdata/input.csv" or "/workspace/report.md". Always under "/workspace" and never contains "..". Can be passed as-is to DownloadTaskArtifact.
+  "sizeBytes": "A String", # Output only. Size of the file in bytes. Zero for directories.
+  "type": "A String", # Output only. Whether this entry is a file or a directory.
+  "updateTime": "A String", # Output only. Last modification time of the file as it was read: the sandbox's when read from a running sandbox, otherwise the stored object's.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.artifacts.html b/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.artifacts.html new file mode 100644 index 0000000000..e565ca87c1 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.artifacts.html @@ -0,0 +1,248 @@ + + + +

Agent Platform API . projects . locations . collaborativeProjects . artifacts

+

Instance Methods

+

+ add(collaborativeProject, body=None, x__xgafv=None)

+

Adds a file, folder or site stored in Google Drive, OneDrive, SharePoint or another third-party store as an artifact. The service persists `link_json_metadata` to Cloud Storage as a JSON metadata reference (a `.link.json` file), and links it to a parent resource: a task, named by `task`, or a collaborative project, named by `collaborative_project`. This method is idempotent with respect to the linked entity, identified by `link_json_metadata.provider` and `link_json_metadata.source_artifact_id`, or `link_json_metadata.uri` when `source_artifact_id` is unset: adding an entity that the parent already has does not add another artifact, and returns the same `artifact_id`.

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, path=None, recursive=None, x__xgafv=None)

+

Lists the files and directories in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries that match `filter` are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ preview(parent, outputMimeType=None, path=None, x__xgafv=None)

+

Returns a file converted for a preview, such as a PDF of a .pptx. A server-streaming RPC. The response body is the converted file's bytes, with its media type as the `Content-Type`. The server converts the file as it is stored now, on every call, and stores nothing. A PDF asked for as a PDF is returned as stored. Fails with `INVALID_ARGUMENT` or `FAILED_PRECONDITION` when the file cannot be converted (an unsupported format, too large, or unreadable), with `DEADLINE_EXCEEDED` when the conversion takes too long, and with `UNAVAILABLE` when conversion is busy or not available; the last two may succeed on a retry.

+

+ remove(parent, body=None, x__xgafv=None)

+

Deletes a file from a task's workspace. `path` must be an absolute path to a file in the task's workspace, under `/workspace/`, e.g. `/workspace/userdata/input.csv`. A path outside `/workspace/`, including a relative path, or a path with a `..` segment fails with `INVALID_ARGUMENT`. A directory path, or a task in a terminal state, fails with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is `true`, in which case the call succeeds and changes nothing.

+

Method Details

+
+ add(collaborativeProject, body=None, x__xgafv=None) +
Adds a file, folder or site stored in Google Drive, OneDrive, SharePoint or another third-party store as an artifact. The service persists `link_json_metadata` to Cloud Storage as a JSON metadata reference (a `.link.json` file), and links it to a parent resource: a task, named by `task`, or a collaborative project, named by `collaborative_project`. This method is idempotent with respect to the linked entity, identified by `link_json_metadata.provider` and `link_json_metadata.source_artifact_id`, or `link_json_metadata.uri` when `source_artifact_id` is unset: adding an entity that the parent already has does not add another artifact, and returns the same `artifact_id`.
+
+Args:
+  collaborativeProject: string, Optional. The collaborative project to link the file to. Format: projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} Exactly one of `task` and `collaborative_project` must be set. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for ArtifactService.AddArtifact.
+  "collaborativeProject": "A String", # Optional. The collaborative project to link the file to. Format: projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} Exactly one of `task` and `collaborative_project` must be set.
+  "linkJsonMetadata": { # A file, folder, site or other item in a first-party or third-party store, as its `.link.json` file in the workspace records it. A link file is this message as proto JSON with the field names below, e.g. `{"source_artifact_id":"1AbC","provider":"GOOGLE_DRIVE","artifact_type": "GOOGLE_DRIVE_FILE","uri":"https://drive.google.com/file/d/1AbC/view"}`. A link file may hold fields this message does not have; they are ignored. `path` and `update_time` are not part of a link file: the service sets both on a link it lists, from the link file it read the link from, and `AddArtifact` clears both from a request. # Required. The linked entity, stored as its `.link.json` file.
+    "artifactType": "A String", # Optional. The provider-specific kind of entity, in upper snake case. Known values are GOOGLE_DRIVE_DOC, GOOGLE_DRIVE_SHEET, GOOGLE_DRIVE_SLIDES, GOOGLE_DRIVE_FILE, GOOGLE_DRIVE_FOLDER, ONE_DRIVE_FILE, ONE_DRIVE_FOLDER, SHAREPOINT_FILE, SHAREPOINT_FOLDER and SHAREPOINT_SITE; a connector may use others. Must match `A-Z*`. At most 64 characters.
+    "mimeType": "A String", # Optional. The entity's media type, e.g. "application/vnd.ms-excel". Empty for an entity that has none, such as a SharePoint site.
+    "path": "A String", # Output only. Absolute path of the link file in the workspace, e.g. `/workspace/userdata/{artifact_id}.link.json` in a task or `/workspace/project/{artifact_id}.link.json` in a collaborative project. Always under `/workspace` and never contains `..`. Set by `ArtifactService.ListWorkspaceArtifacts`. `ArtifactService.AddArtifact` clears it from a request, so it is never written to the link file.
+    "provider": "A String", # Required. The store that holds the entity.
+    "sourceArtifactId": "A String", # Optional. The entity's ID in its store, unique within `provider`: a Drive file ID, a Jira issue ID, or, for OneDrive and SharePoint, whose item IDs are unique only within a drive, the drive ID and the drive item ID, e.g. "{drive-id}/{item-id}". At most 1024 characters. With `provider`, it identifies the entity: it names the link file and is the idempotency key for `AddArtifact`. When it is unset, `uri` takes its place, so two URIs of one entity, such as a Drive file's /view and /edit URIs, are two entities.
+    "updateTime": "A String", # Output only. Last modification time of the link file at `path`, as `ArtifactService.ListWorkspaceArtifacts` read it. Not part of a link file. It is what tells two listings of one entity apart after the entity was updated in place. Such an update leaves every other field alone -- the entity keeps its `uri` and its `source_artifact_id`, so the link file keeps its name -- and it leaves the link file's bytes alone too, because a link file records WHICH entity is linked and not what state that entity is in. The time the file was rewritten is the only thing that moves.
+    "uri": "A String", # Required. URI of the entity, e.g. "https://drive.google.com/file/d/FILE_ID/view". At most 2048 characters.
+  },
+  "task": "A String", # Optional. The task to link the file to. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Exactly one of `task` and `collaborative_project` must be set.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ArtifactService.AddArtifact.
+  "artifactId": "A String", # The ID of the added artifact.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, path=None, recursive=None, x__xgafv=None) +
Lists the files and directories in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries that match `filter` are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.
+
+Args:
+  parent: string, Required. The task or collaborative project whose workspace to list. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  filter: string, Optional. An AIP-160 filter expression that entries must match, e.g. `type = FILE AND mime_type = "image/*"`. Empty matches every entry. Supported fields: * `type` -- `FILE` or `DIRECTORY` (see `TaskArtifactFile.Type`), case-sensitive. * `mime_type` -- a media type in double quotes, e.g. `"text/csv"`. `*` is a wildcard, so `"image/*"` matches every image type. Directories have an empty `mime_type`. Comparisons use `=` or `!=` and combine with `AND`, `OR`, `NOT` (or `-`) and parentheses. A filter that is not valid AIP-160, or that uses another field or operator, is rejected with `INVALID_ARGUMENT`. The filter selects which entries are returned, not which directories are walked: with `recursive`, `type = FILE` still returns the files in subdirectories.
+  pageSize: integer, Optional. The maximum number of entries to return. The service may return fewer than this value, including none on a page that is not the last. If unspecified or 0, at most 100 are returned. The maximum is 1000; values above 1000 are coerced to 1000. A negative value is rejected with `INVALID_ARGUMENT`.
+  pageToken: string, Optional. A page token, received from a previous ListWorkspaceArtifacts call. Provide this to retrieve the subsequent page. When paginating, all other fields of the request except `page_size` must match the call that provided the page token. The workspace is live: the agent can write between pages, so a paged listing is not a snapshot. An entry added during the walk may or may not appear, and one removed may still be listed and then fail to download.
+  path: string, Optional. Absolute path of the directory to list, e.g. `/workspace/userdata`. Must be `/workspace` or under it, at most 1024 characters, and not contain a `..` segment. Defaults to `/workspace`.
+  recursive: boolean, Optional. If `true`, descends into subdirectories. Results are breadth-first.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ArtifactService.ListWorkspaceArtifacts.
+  "nextPageToken": "A String", # A token to retrieve the next page; empty if there are no more pages.
+  "workspaceArtifacts": [ # The artifacts under the requested directory that match `filter`. Each is a file or directory in the workspace, or a link to an entity in a first-party or third-party store, such as Google Drive or OneDrive.
+    { # An artifact listed by ArtifactService.ListWorkspaceArtifacts: a file or directory in the workspace, or a link to an entity in a first-party or third-party store.
+      "linkJsonMetadata": { # A file, folder, site or other item in a first-party or third-party store, as its `.link.json` file in the workspace records it. A link file is this message as proto JSON with the field names below, e.g. `{"source_artifact_id":"1AbC","provider":"GOOGLE_DRIVE","artifact_type": "GOOGLE_DRIVE_FILE","uri":"https://drive.google.com/file/d/1AbC/view"}`. A link file may hold fields this message does not have; they are ignored. `path` and `update_time` are not part of a link file: the service sets both on a link it lists, from the link file it read the link from, and `AddArtifact` clears both from a request. # A link to a file, folder or site in a first-party or third-party store, such as Google Drive or OneDrive, as passed to ArtifactService.AddArtifact.
+        "artifactType": "A String", # Optional. The provider-specific kind of entity, in upper snake case. Known values are GOOGLE_DRIVE_DOC, GOOGLE_DRIVE_SHEET, GOOGLE_DRIVE_SLIDES, GOOGLE_DRIVE_FILE, GOOGLE_DRIVE_FOLDER, ONE_DRIVE_FILE, ONE_DRIVE_FOLDER, SHAREPOINT_FILE, SHAREPOINT_FOLDER and SHAREPOINT_SITE; a connector may use others. Must match `A-Z*`. At most 64 characters.
+        "mimeType": "A String", # Optional. The entity's media type, e.g. "application/vnd.ms-excel". Empty for an entity that has none, such as a SharePoint site.
+        "path": "A String", # Output only. Absolute path of the link file in the workspace, e.g. `/workspace/userdata/{artifact_id}.link.json` in a task or `/workspace/project/{artifact_id}.link.json` in a collaborative project. Always under `/workspace` and never contains `..`. Set by `ArtifactService.ListWorkspaceArtifacts`. `ArtifactService.AddArtifact` clears it from a request, so it is never written to the link file.
+        "provider": "A String", # Required. The store that holds the entity.
+        "sourceArtifactId": "A String", # Optional. The entity's ID in its store, unique within `provider`: a Drive file ID, a Jira issue ID, or, for OneDrive and SharePoint, whose item IDs are unique only within a drive, the drive ID and the drive item ID, e.g. "{drive-id}/{item-id}". At most 1024 characters. With `provider`, it identifies the entity: it names the link file and is the idempotency key for `AddArtifact`. When it is unset, `uri` takes its place, so two URIs of one entity, such as a Drive file's /view and /edit URIs, are two entities.
+        "updateTime": "A String", # Output only. Last modification time of the link file at `path`, as `ArtifactService.ListWorkspaceArtifacts` read it. Not part of a link file. It is what tells two listings of one entity apart after the entity was updated in place. Such an update leaves every other field alone -- the entity keeps its `uri` and its `source_artifact_id`, so the link file keeps its name -- and it leaves the link file's bytes alone too, because a link file records WHICH entity is linked and not what state that entity is in. The time the file was rewritten is the only thing that moves.
+        "uri": "A String", # Required. URI of the entity, e.g. "https://drive.google.com/file/d/FILE_ID/view". At most 2048 characters.
+      },
+      "taskArtifactFile": { # A file or directory in a task's workspace. # A file or directory in the workspace.
+        "mimeType": "A String", # Output only. The detected media type. Empty for directories.
+        "path": "A String", # Output only. Absolute path in the task's sandbox, e.g. "/workspace/userdata/input.csv" or "/workspace/report.md". Always under "/workspace" and never contains "..". Can be passed as-is to DownloadTaskArtifact.
+        "sizeBytes": "A String", # Output only. Size of the file in bytes. Zero for directories.
+        "type": "A String", # Output only. Whether this entry is a file or a directory.
+        "updateTime": "A String", # Output only. Last modification time of the file as it was read: the sandbox's when read from a running sandbox, otherwise the stored object's.
+      },
+    },
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ preview(parent, outputMimeType=None, path=None, x__xgafv=None) +
Returns a file converted for a preview, such as a PDF of a .pptx. A server-streaming RPC. The response body is the converted file's bytes, with its media type as the `Content-Type`. The server converts the file as it is stored now, on every call, and stores nothing. A PDF asked for as a PDF is returned as stored. Fails with `INVALID_ARGUMENT` or `FAILED_PRECONDITION` when the file cannot be converted (an unsupported format, too large, or unreadable), with `DEADLINE_EXCEEDED` when the conversion takes too long, and with `UNAVAILABLE` when conversion is busy or not available; the last two may succeed on a retry.
+
+Args:
+  parent: string, Required. The task or collaborative project whose workspace holds the file. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  outputMimeType: string, Required. The media type to convert the file to: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid.
+  path: string, Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.pptx`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.pptx`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
+  "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
+  "data": "A String", # The HTTP request/response body as raw binary.
+  "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
+    {
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+  ],
+}
+
+ +
+ remove(parent, body=None, x__xgafv=None) +
Deletes a file from a task's workspace. `path` must be an absolute path to a file in the task's workspace, under `/workspace/`, e.g. `/workspace/userdata/input.csv`. A path outside `/workspace/`, including a relative path, or a path with a `..` segment fails with `INVALID_ARGUMENT`. A directory path, or a task in a terminal state, fails with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is `true`, in which case the call succeeds and changes nothing.
+
+Args:
+  parent: string, Required. The task or collaborative project whose workspace holds the file. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for ArtifactService.RemoveWorkspaceArtifact.
+  "allowMissing": True or False, # Optional. If `true`, deleting a file that does not exist succeeds and changes nothing.
+  "path": "A String", # Required. Absolute path of the file to delete, e.g. `/workspace/userdata/input.csv`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace/`, at most 1024 characters, and not contain a `..` segment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ArtifactService.RemoveWorkspaceArtifact.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.html b/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.html new file mode 100644 index 0000000000..0d8d704ea0 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.html @@ -0,0 +1,337 @@ + + + +

Agent Platform API . projects . locations . collaborativeProjects

+

Instance Methods

+

+ artifacts() +

+

Returns the artifacts Resource.

+ +

+ operations() +

+

Returns the operations Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, x__xgafv=None)

+

Creates a project owned by the caller.

+

+ delete(name, x__xgafv=None)

+

Deletes a project.

+

+ get(name, x__xgafv=None)

+

Gets a project.

+

+ list(parent, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists the caller's projects in a location, most recently created first.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates a project's display name or trusted participants.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, x__xgafv=None) +
Creates a project owned by the caller.
+
+Args:
+  parent: string, Required. The location to create the project in. Only `global` is supported. Format: `projects/{project}/locations/global`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A shared workspace for a user's related tasks . A CollaborativeProject is a top-level resource. Only the user who created it can read or change it.
+  "createTime": "A String", # Output only. The time the project was created.
+  "displayName": "A String", # Required. The user-visible name of the project. At most 256 characters.
+  "emoji": "A String", # Optional. The emoji shown as the project's icon.
+  "folder": "A String", # Optional. The full path of the local folder that backs the project, for a project created in the desktop app. Empty for a project created anywhere else.
+  "name": "A String", # Identifier. The resource name of the project. The service assigns the final ID segment. Format: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}`.
+  "trustedParticipants": [ # Optional. Unordered list. The participants granted access to the project. Each `(participant_type, identifier)` pair can appear at most once.
+    { # A participant granted access to a CollaborativeProject.
+      "identifier": "A String", # Required. The participant's identity. For `AGENT`, the agent's SPIFFE ID without the `principal://` prefix, the same value as the agent's `effective_identity`.
+      "participantType": "A String", # Required. The type of the participant.
+    },
+  ],
+  "updateTime": "A String", # Output only. The time the project was last updated.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, x__xgafv=None) +
Deletes a project.
+
+Args:
+  name: string, Required. The name of the project to delete. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets a project.
+
+Args:
+  name: string, Required. The name of the project. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A shared workspace for a user's related tasks . A CollaborativeProject is a top-level resource. Only the user who created it can read or change it.
+  "createTime": "A String", # Output only. The time the project was created.
+  "displayName": "A String", # Required. The user-visible name of the project. At most 256 characters.
+  "emoji": "A String", # Optional. The emoji shown as the project's icon.
+  "folder": "A String", # Optional. The full path of the local folder that backs the project, for a project created in the desktop app. Empty for a project created anywhere else.
+  "name": "A String", # Identifier. The resource name of the project. The service assigns the final ID segment. Format: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}`.
+  "trustedParticipants": [ # Optional. Unordered list. The participants granted access to the project. Each `(participant_type, identifier)` pair can appear at most once.
+    { # A participant granted access to a CollaborativeProject.
+      "identifier": "A String", # Required. The participant's identity. For `AGENT`, the agent's SPIFFE ID without the `principal://` prefix, the same value as the agent's `effective_identity`.
+      "participantType": "A String", # Required. The type of the participant.
+    },
+  ],
+  "updateTime": "A String", # Output only. The time the project was last updated.
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the caller's projects in a location, most recently created first.
+
+Args:
+  parent: string, Required. The location to list projects from. Format: `projects/{project}/locations/global`. (required)
+  pageSize: integer, Optional. The maximum number of projects to return. The maximum is 100; larger values are coerced to 100. If not set, the default is 50.
+  pageToken: string, Optional. A page token from a previous call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for CollaborativeProjectService.ListCollaborativeProjects.
+  "collaborativeProjects": [ # The caller's projects, most recently created first.
+    { # A shared workspace for a user's related tasks . A CollaborativeProject is a top-level resource. Only the user who created it can read or change it.
+      "createTime": "A String", # Output only. The time the project was created.
+      "displayName": "A String", # Required. The user-visible name of the project. At most 256 characters.
+      "emoji": "A String", # Optional. The emoji shown as the project's icon.
+      "folder": "A String", # Optional. The full path of the local folder that backs the project, for a project created in the desktop app. Empty for a project created anywhere else.
+      "name": "A String", # Identifier. The resource name of the project. The service assigns the final ID segment. Format: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}`.
+      "trustedParticipants": [ # Optional. Unordered list. The participants granted access to the project. Each `(participant_type, identifier)` pair can appear at most once.
+        { # A participant granted access to a CollaborativeProject.
+          "identifier": "A String", # Required. The participant's identity. For `AGENT`, the agent's SPIFFE ID without the `principal://` prefix, the same value as the agent's `effective_identity`.
+          "participantType": "A String", # Required. The type of the participant.
+        },
+      ],
+      "updateTime": "A String", # Output only. The time the project was last updated.
+    },
+  ],
+  "nextPageToken": "A String", # A token for the next page. Empty if there are no more pages.
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ patch(name, body=None, updateMask=None, x__xgafv=None) +
Updates a project's display name or trusted participants.
+
+Args:
+  name: string, Identifier. The resource name of the project. The service assigns the final ID segment. Format: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A shared workspace for a user's related tasks . A CollaborativeProject is a top-level resource. Only the user who created it can read or change it.
+  "createTime": "A String", # Output only. The time the project was created.
+  "displayName": "A String", # Required. The user-visible name of the project. At most 256 characters.
+  "emoji": "A String", # Optional. The emoji shown as the project's icon.
+  "folder": "A String", # Optional. The full path of the local folder that backs the project, for a project created in the desktop app. Empty for a project created anywhere else.
+  "name": "A String", # Identifier. The resource name of the project. The service assigns the final ID segment. Format: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}`.
+  "trustedParticipants": [ # Optional. Unordered list. The participants granted access to the project. Each `(participant_type, identifier)` pair can appear at most once.
+    { # A participant granted access to a CollaborativeProject.
+      "identifier": "A String", # Required. The participant's identity. For `AGENT`, the agent's SPIFFE ID without the `principal://` prefix, the same value as the agent's `effective_identity`.
+      "participantType": "A String", # Required. The type of the participant.
+    },
+  ],
+  "updateTime": "A String", # Output only. The time the project was last updated.
+}
+
+  updateMask: string, Required. The fields to update: `display_name`, `trusted_participants`, or `*` for both.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.operations.html b/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.operations.html new file mode 100644 index 0000000000..20601e106d --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.collaborativeProjects.operations.html @@ -0,0 +1,205 @@ + + + +

Agent Platform API . projects . locations . collaborativeProjects . operations

+

Instance Methods

+

+ cancel(name, x__xgafv=None)

+

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`.

+

+ close()

+

Close httplib2 connections.

+

+ delete(name, x__xgafv=None)

+

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.

+

+ get(name, x__xgafv=None)

+

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.

+

+ wait(name, timeout=None, x__xgafv=None)

+

Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.

+

Method Details

+
+ cancel(name, x__xgafv=None) +
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`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ delete(name, x__xgafv=None) +
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`.
+
+Args:
+  name: string, The name of the operation resource to be deleted. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ get(name, x__xgafv=None) +
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.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ wait(name, timeout=None, x__xgafv=None) +
Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.
+
+Args:
+  name: string, The name of the operation resource to wait on. (required)
+  timeout: string, The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html b/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html index 3d3d014406..286ee81bd9 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html @@ -283,6 +283,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -974,6 +975,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.detectors.html b/docs/dyn/aiplatform_v1beta1.projects.locations.detectors.html new file mode 100644 index 0000000000..26fdcb970b --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.detectors.html @@ -0,0 +1,609 @@ + + + +

Agent Platform API . projects . locations . detectors

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, detectorId=None, x__xgafv=None)

+

Creates a new customer-defined Detector. The detector is always created DISABLED; EnableDetector starts it scanning.

+

+ delete(name, x__xgafv=None)

+

Deletes a specific detector. Hard and irreversible: the detector is gone from every read path at once.

+

+ disable(name, body=None, x__xgafv=None)

+

Disables a specific detector, so that it stops scanning. Disabling an already-DISABLED detector succeeds and changes nothing. The detector's config and history survive; only DeleteDetector removes a detector.

+

+ enable(name, body=None, x__xgafv=None)

+

Enables a specific detector, so that it starts scanning. Enabling an already-ACTIVE detector succeeds and changes nothing.

+

+ get(name, revisionId=None, x__xgafv=None)

+

Gets the details of a specific detector, including its current configuration.

+

+ list(parent, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists the detectors in a Location.

+

+ listRevisions(name, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists the revisions of a detector, newest first. Each entry is the detector as configured at one revision, with `revision_id` and `revision_create_time` set. `state` and `selected_revision_id` are unset: neither is a property of a revision, and GetDetector returns both.

+

+ listRevisions_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates an existing detector. A mask covering `custom_detector_config` replaces the whole config; `state` cannot be changed here, use EnableDetector or DisableDetector.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, detectorId=None, x__xgafv=None) +
Creates a new customer-defined Detector. The detector is always created DISABLED; EnableDetector starts it scanning.
+
+Args:
+  parent: string, Required. The resource name of the Location to create the Detector in. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+  "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+    "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+      "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+    },
+    "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+    "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+      { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+        "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+        "field": { # What the filter observes. # Required. What the filter observes.
+          "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+            "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+            "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+          },
+          "type": "A String", # Required. The observable property.
+        },
+        "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+          "type": "A String", # Required. The comparison to apply.
+        },
+        "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+          "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+        },
+      },
+    ],
+  },
+  "description": "A String", # Optional. A description of what the detector scans for.
+  "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+  "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+  "revisionCreateTime": "A String", # Output only. When this revision was created.
+  "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+  "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+  "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+}
+
+  detectorId: string, Optional. The ID to use for the Detector, which becomes the final component of its resource name. Must match `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. If omitted, the server generates one.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+  "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+    "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+      "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+    },
+    "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+    "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+      { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+        "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+        "field": { # What the filter observes. # Required. What the filter observes.
+          "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+            "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+            "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+          },
+          "type": "A String", # Required. The observable property.
+        },
+        "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+          "type": "A String", # Required. The comparison to apply.
+        },
+        "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+          "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+        },
+      },
+    ],
+  },
+  "description": "A String", # Optional. A description of what the detector scans for.
+  "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+  "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+  "revisionCreateTime": "A String", # Output only. When this revision was created.
+  "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+  "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+  "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+}
+
+ +
+ delete(name, x__xgafv=None) +
Deletes a specific detector. Hard and irreversible: the detector is gone from every read path at once.
+
+Args:
+  name: string, Required. The name of the detector to delete. Format: `projects/{project}/locations/{location}/detectors/{detector}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ disable(name, body=None, x__xgafv=None) +
Disables a specific detector, so that it stops scanning. Disabling an already-DISABLED detector succeeds and changes nothing. The detector's config and history survive; only DeleteDetector removes a detector.
+
+Args:
+  name: string, Required. The name of the detector to disable. Format: `projects/{project}/locations/{location}/detectors/{detector}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AgentAnomalyDetectionService.DisableDetector.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+  "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+    "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+      "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+    },
+    "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+    "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+      { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+        "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+        "field": { # What the filter observes. # Required. What the filter observes.
+          "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+            "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+            "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+          },
+          "type": "A String", # Required. The observable property.
+        },
+        "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+          "type": "A String", # Required. The comparison to apply.
+        },
+        "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+          "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+        },
+      },
+    ],
+  },
+  "description": "A String", # Optional. A description of what the detector scans for.
+  "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+  "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+  "revisionCreateTime": "A String", # Output only. When this revision was created.
+  "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+  "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+  "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+}
+
+ +
+ enable(name, body=None, x__xgafv=None) +
Enables a specific detector, so that it starts scanning. Enabling an already-ACTIVE detector succeeds and changes nothing.
+
+Args:
+  name: string, Required. The name of the detector to enable. Format: `projects/{project}/locations/{location}/detectors/{detector}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AgentAnomalyDetectionService.EnableDetector.
+  "revisionId": "A String", # Optional. The revision to run. Unset enables the detector's latest revision, which is the common case: publish what I just wrote.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+  "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+    "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+      "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+    },
+    "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+    "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+      { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+        "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+        "field": { # What the filter observes. # Required. What the filter observes.
+          "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+            "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+            "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+          },
+          "type": "A String", # Required. The observable property.
+        },
+        "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+          "type": "A String", # Required. The comparison to apply.
+        },
+        "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+          "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+        },
+      },
+    ],
+  },
+  "description": "A String", # Optional. A description of what the detector scans for.
+  "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+  "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+  "revisionCreateTime": "A String", # Output only. When this revision was created.
+  "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+  "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+  "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+}
+
+ +
+ get(name, revisionId=None, x__xgafv=None) +
Gets the details of a specific detector, including its current configuration.
+
+Args:
+  name: string, Required. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}` (required)
+  revisionId: string, Optional. Return the detector as configured at this revision. Unset returns the latest revision.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+  "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+    "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+      "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+    },
+    "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+    "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+      { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+        "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+        "field": { # What the filter observes. # Required. What the filter observes.
+          "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+            "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+            "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+          },
+          "type": "A String", # Required. The observable property.
+        },
+        "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+          "type": "A String", # Required. The comparison to apply.
+        },
+        "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+          "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+        },
+      },
+    ],
+  },
+  "description": "A String", # Optional. A description of what the detector scans for.
+  "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+  "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+  "revisionCreateTime": "A String", # Output only. When this revision was created.
+  "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+  "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+  "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the detectors in a Location.
+
+Args:
+  parent: string, Required. The resource name of the Location to list the detectors from. Format: `projects/{project}/locations/{location}` (required)
+  pageSize: integer, Optional. The maximum number of detectors to return. The maximum value is 100; values above 100 will be coerced to 100. If unspecified, at most 10 detectors will be returned.
+  pageToken: string, Optional. A page token, received from a previous `ListDetectors` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDetectors` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for AgentAnomalyDetectionService.ListDetectors.
+  "detectors": [ # The list of detectors.
+    { # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+      "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+        "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+          "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+        },
+        "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+        "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+          { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+            "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+            "field": { # What the filter observes. # Required. What the filter observes.
+              "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+                "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+                "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+              },
+              "type": "A String", # Required. The observable property.
+            },
+            "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+              "type": "A String", # Required. The comparison to apply.
+            },
+            "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+              "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+            },
+          },
+        ],
+      },
+      "description": "A String", # Optional. A description of what the detector scans for.
+      "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+      "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+      "revisionCreateTime": "A String", # Output only. When this revision was created.
+      "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+      "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+      "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+    },
+  ],
+  "nextPageToken": "A String", # A token to retrieve the next page of results.
+}
+
+ +
+ listRevisions(name, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the revisions of a detector, newest first. Each entry is the detector as configured at one revision, with `revision_id` and `revision_create_time` set. `state` and `selected_revision_id` are unset: neither is a property of a revision, and GetDetector returns both.
+
+Args:
+  name: string, Required. The detector whose revisions to list. Format: `projects/{project}/locations/{location}/detectors/{detector}` (required)
+  pageSize: integer, Optional. The maximum number of revisions to return. The maximum value is 100; values above 100 will be coerced to 100. If unspecified, at most 10 revisions will be returned.
+  pageToken: string, Optional. A page token, received from a previous `ListDetectorRevisions` call. Provide this to retrieve the subsequent page. When paginating, `name` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for AgentAnomalyDetectionService.ListDetectorRevisions.
+  "detectors": [ # The detector as configured at each revision, newest first.
+    { # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+      "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+        "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+          "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+        },
+        "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+        "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+          { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+            "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+            "field": { # What the filter observes. # Required. What the filter observes.
+              "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+                "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+                "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+              },
+              "type": "A String", # Required. The observable property.
+            },
+            "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+              "type": "A String", # Required. The comparison to apply.
+            },
+            "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+              "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+            },
+          },
+        ],
+      },
+      "description": "A String", # Optional. A description of what the detector scans for.
+      "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+      "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+      "revisionCreateTime": "A String", # Output only. When this revision was created.
+      "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+      "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+      "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+    },
+  ],
+  "nextPageToken": "A String", # A token to retrieve the next page of results.
+}
+
+ +
+ listRevisions_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ patch(name, body=None, updateMask=None, x__xgafv=None) +
Updates an existing detector. A mask covering `custom_detector_config` replaces the whole config; `state` cannot be changed here, use EnableDetector or DisableDetector.
+
+Args:
+  name: string, Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+  "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+    "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+      "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+    },
+    "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+    "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+      { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+        "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+        "field": { # What the filter observes. # Required. What the filter observes.
+          "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+            "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+            "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+          },
+          "type": "A String", # Required. The observable property.
+        },
+        "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+          "type": "A String", # Required. The comparison to apply.
+        },
+        "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+          "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+        },
+      },
+    ],
+  },
+  "description": "A String", # Optional. A description of what the detector scans for.
+  "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+  "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+  "revisionCreateTime": "A String", # Output only. When this revision was created.
+  "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+  "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+  "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+}
+
+  updateMask: string, Optional. The list of fields to update. Supported paths are `display_name`, `description` and `custom_detector_config`. `name` and `state` are ignored if named; any other path is rejected with INVALID_ARGUMENT.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.
+  "customDetectorConfig": { # The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set. # Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible.
+    "anomalyAnalysis": { # A customer-authored description of the anomaly to detect, evaluated by an LLM. # Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set.
+      "prompt": "A String", # Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.
+    },
+    "filterCombination": "A String", # Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example "1 AND 2" or "1 OR 2 OR 3". The operators are uppercase "AND" and "OR", and each level uses only one of them. To combine both, put one inside parentheses, as in "(1 AND 2) OR 3". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.
+    "filters": [ # Optional. Deterministic predicates a session must satisfy. At most five.
+      { # One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.
+        "dataType": "A String", # Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.
+        "field": { # What the filter observes. # Required. What the filter observes.
+          "qualifiers": { # Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write. # Optional. Additional context for `type`.
+            "toolName": "A String", # Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.
+            "toolParameterName": "A String", # Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.
+          },
+          "type": "A String", # Required. The observable property.
+        },
+        "operation": { # How the field is compared against the value. # Required. How `field` is compared against `value`.
+          "type": "A String", # Required. The comparison to apply.
+        },
+        "value": { # The literal compared against the field. # Required. The literal compared against `field`.
+          "literal": "A String", # Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.
+        },
+      },
+    ],
+  },
+  "description": "A String", # Optional. A description of what the detector scans for.
+  "displayName": "A String", # Optional. The human-readable name of the detector. Example: "Large refund issued".
+  "name": "A String", # Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`
+  "revisionCreateTime": "A String", # Output only. When this revision was created.
+  "revisionId": "A String", # Output only. The revision id of the configuration in this response.
+  "selectedRevisionId": "A String", # Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.
+  "state": "A String", # Output only. The state of the detector. Only an ACTIVE detector scans.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html b/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html index 0695c9231b..8a02d51e56 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html @@ -458,6 +458,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2250,6 +2251,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5126,6 +5128,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html index d5d011bb14..cccddff8cf 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html @@ -79,6 +79,11 @@

Instance Methods

Returns the operations Resource.

+

+ revisions() +

+

Returns the revisions Resource.

+

close()

Close httplib2 connections.

@@ -86,7 +91,7 @@

Instance Methods

create(parent, body=None, x__xgafv=None)

Creates an Evaluation Item.

- delete(name, x__xgafv=None)

+ delete(name, force=None, x__xgafv=None)

Deletes an Evaluation Item.

get(name, x__xgafv=None)

@@ -2327,6 +2332,7 @@

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. @@ -4498,6 +4504,11 @@

Method Details

}, }, "gcsUri": "A String", # The Cloud Storage object where the request or response is stored. + "harborTask": { # Represents a Harbor task. # Output only. A Harbor task. Populated when evaluation_item_type == HARBOR_TASK. HARBOR_TASK items are created by ImportEvaluationSet and can't be created or updated directly. + "dataset": "A String", # Required. Harbor dataset name this task belongs to, in `org/name` format without a version, e.g. "my-org/swebench-verified". + "gcsUri": "A String", # The GCS folder containing the Harbor task, e.g. "gs://BUCKET/PATH". + "task": "A String", # Required. The Harbor task name, e.g. "django__django-15098". + }, "labels": { # Optional. Labels for the EvaluationItem. "a_key": "A String", }, @@ -6728,6 +6739,7 @@

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. @@ -8899,6 +8911,11 @@

Method Details

}, }, "gcsUri": "A String", # The Cloud Storage object where the request or response is stored. + "harborTask": { # Represents a Harbor task. # Output only. A Harbor task. Populated when evaluation_item_type == HARBOR_TASK. HARBOR_TASK items are created by ImportEvaluationSet and can't be created or updated directly. + "dataset": "A String", # Required. Harbor dataset name this task belongs to, in `org/name` format without a version, e.g. "my-org/swebench-verified". + "gcsUri": "A String", # The GCS folder containing the Harbor task, e.g. "gs://BUCKET/PATH". + "task": "A String", # Required. The Harbor task name, e.g. "django__django-15098". + }, "labels": { # Optional. Labels for the EvaluationItem. "a_key": "A String", }, @@ -8908,11 +8925,12 @@

Method Details

- delete(name, x__xgafv=None) + delete(name, force=None, x__xgafv=None)
Deletes an Evaluation Item.
 
 Args:
   name: string, Required. The name of the EvaluationItem resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}` (required)
+  force: boolean, Optional. If set to true, all revisions of this EvaluationItem are deleted too. Otherwise the request fails with FAILED_PRECONDITION if the EvaluationItem has revisions. Even with force, fails with FAILED_PRECONDITION if any revision is referenced by an EvaluationSetRevision.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -11171,6 +11189,7 @@ 

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. @@ -13342,6 +13361,11 @@

Method Details

}, }, "gcsUri": "A String", # The Cloud Storage object where the request or response is stored. + "harborTask": { # Represents a Harbor task. # Output only. A Harbor task. Populated when evaluation_item_type == HARBOR_TASK. HARBOR_TASK items are created by ImportEvaluationSet and can't be created or updated directly. + "dataset": "A String", # Required. Harbor dataset name this task belongs to, in `org/name` format without a version, e.g. "my-org/swebench-verified". + "gcsUri": "A String", # The GCS folder containing the Harbor task, e.g. "gs://BUCKET/PATH". + "task": "A String", # Required. The Harbor task name, e.g. "django__django-15098". + }, "labels": { # Optional. Labels for the EvaluationItem. "a_key": "A String", }, @@ -15585,6 +15609,7 @@

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. @@ -17756,6 +17781,11 @@

Method Details

}, }, "gcsUri": "A String", # The Cloud Storage object where the request or response is stored. + "harborTask": { # Represents a Harbor task. # Output only. A Harbor task. Populated when evaluation_item_type == HARBOR_TASK. HARBOR_TASK items are created by ImportEvaluationSet and can't be created or updated directly. + "dataset": "A String", # Required. Harbor dataset name this task belongs to, in `org/name` format without a version, e.g. "my-org/swebench-verified". + "gcsUri": "A String", # The GCS folder containing the Harbor task, e.g. "gs://BUCKET/PATH". + "task": "A String", # Required. The Harbor task name, e.g. "django__django-15098". + }, "labels": { # Optional. Labels for the EvaluationItem. "a_key": "A String", }, diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.revisions.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.revisions.html new file mode 100644 index 0000000000..99a330d497 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.revisions.html @@ -0,0 +1,4507 @@ + + + +

Agent Platform API . projects . locations . evaluationItems . revisions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

Gets an Evaluation Item Revision.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(name, x__xgafv=None) +
Gets an Evaluation Item Revision.
+
+Args:
+  name: string, Required. The name of the EvaluationItemRevision resource. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An immutable snapshot of an EvaluationItem. Item revisions are created by CreateEvaluationSetRevision and cannot be updated. An item revision is deleted when no EvaluationSetRevision references it anymore.
+  "createTime": "A String", # Output only. Timestamp when this revision was created.
+  "name": "A String", # Identifier. The resource name of the EvaluationItemRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`
+  "snapshot": { # EvaluationItem is a single evaluation request or result. The content of an EvaluationItem is immutable - it cannot be updated once created. EvaluationItems can be deleted when no longer needed. # Output only. A copy of the EvaluationItem at the time the revision was created, including its payload. `snapshot.name` is the name of the source EvaluationItem.
+    "createTime": "A String", # Output only. Timestamp when this item was created.
+    "displayName": "A String", # Required. The display name of the EvaluationItem.
+    "error": { # 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). # Output only. Error for the evaluation item.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "evaluationItemType": "A String", # Required. The type of the EvaluationItem.
+    "evaluationRequest": { # A single evaluation request supporting input for both single-turn model generation and multi-turn agent execution traces. Valid input modes: 1. Inference Mode: `prompt` is set (containing text or AgentData context). 2. Offline Eval Mode: `prompt` is unset, and `candidate_responses` contains `agent_data` (the completed execution trace). Validation Rule: Either `prompt` must be set, OR at least one of the `candidate_responses` must contain `agent_data`. Metrics receive each candidate as an `EvaluationInstance`, whose fields are the names metrics can reference: `prompt` -> `prompt`, the candidate -> `response` (or `agent_eval_data` for `agent_data`), `golden_response` -> `reference`, `rubrics` -> `rubric_groups`, and `prompt.prompt_template_data.values` and `extra_context` -> `other_data`. # The request to evaluate.
+      "candidateResponses": [ # Optional. Responses from model under test and other baseline models for comparison.
+        { # Responses from model or agent.
+          "agentData": { # Represents data specific to multi-turn agent evaluations. # 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.
+            "agents": { # 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.
+              "a_key": { # Represents configuration for an Agent.
+                "agentId": "A String", # 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.
+                "agentType": "A String", # 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.
+                "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+                "instruction": "A String", # 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.
+                "subAgents": [ # 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.
+                  "A String",
+                ],
+                "tools": [ # Optional. The list of tools available to this agent.
+                  { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                    "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                    },
+                    "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                      "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                        "A String",
+                      ],
+                      "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                      "environment": "A String", # Required. The target environment where the computer use tool operates.
+                      "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                        "A String",
+                      ],
+                    },
+                    "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                      "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                      "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                        "A String",
+                      ],
+                    },
+                    "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                      "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                      "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                        "a_key": "", # Properties of the object.
+                      },
+                    },
+                    "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                      { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                        "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                        "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                        "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                        "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                          "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                          "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                            # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          ],
+                          "default": "", # Optional. Default value to use if the field is not specified.
+                          "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                          "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                            "A String",
+                          ],
+                          "example": "", # Optional. Example of an instance of this schema.
+                          "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                          "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                          "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                          "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                          "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                          "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                          "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                          "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                          "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                          "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                          "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                          "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                          "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                            "A String",
+                          ],
+                          "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                          "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                            "A String",
+                          ],
+                          "title": "A String", # Optional. Title for the schema.
+                          "type": "A String", # Optional. Data type of the schema field.
+                        },
+                        "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                        "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                          "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                          "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                            # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          ],
+                          "default": "", # Optional. Default value to use if the field is not specified.
+                          "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                          "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                            "A String",
+                          ],
+                          "example": "", # Optional. Example of an instance of this schema.
+                          "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                          "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                          "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                          "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                          "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                          "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                          "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                          "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                          "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                          "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                          "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                          "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                          "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                            "A String",
+                          ],
+                          "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                          "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                            "A String",
+                          ],
+                          "title": "A String", # Optional. Title for the schema.
+                          "type": "A String", # Optional. Data type of the schema field.
+                        },
+                        "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                      },
+                    ],
+                    "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                      "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                      "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                        "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                        },
+                        "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                        },
+                      },
+                    },
+                    "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                      "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                      "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                        "A String",
+                      ],
+                      "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                        "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                        },
+                        "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                        },
+                      },
+                    },
+                    "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                      "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                        "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                        "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                      },
+                    },
+                    "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                      "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                      "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                        "a_key": "", # Properties of the object.
+                      },
+                      "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                      "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                    },
+                    "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                      "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                      "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                        "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                          "apiKeyConfig": { # The API secret. # The API secret.
+                            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                          },
+                        },
+                        "apiSpec": "A String", # The API spec that the external API implements.
+                        "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                          "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                            "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                            "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                            "httpElementLocation": "A String", # Optional. The location of the API key.
+                            "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                          },
+                          "authType": "A String", # Type of auth scheme.
+                          "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                            "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                          },
+                          "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                            "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                          },
+                          "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                            "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                            "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                          },
+                          "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                            "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                            "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                          },
+                        },
+                        "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                          "index": "A String", # The ElasticSearch index to use.
+                          "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                          "searchTemplate": "A String", # The ElasticSearch search template to use.
+                        },
+                        "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                        "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                        },
+                      },
+                      "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                        "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                          { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                            "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                            "filter": "A String", # 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)
+                          },
+                        ],
+                        "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                        "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                        "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                        "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                      },
+                      "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                        "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                          "A String",
+                        ],
+                        "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                          { # The definition of the Rag resource.
+                            "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                            "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                              "A String",
+                            ],
+                          },
+                        ],
+                        "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                          "filter": { # Config for filters. # Optional. Config for filters.
+                            "metadataFilter": "A String", # Optional. String for metadata filtering.
+                            "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                            "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                          },
+                          "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                            "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                          },
+                          "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                            "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                              "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                            },
+                            "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                              "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                            },
+                          },
+                          "topK": 42, # Optional. The number of contexts to retrieve.
+                        },
+                        "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                        "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                        "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                      },
+                    },
+                    "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                    },
+                  },
+                ],
+              },
+            },
+            "turns": [ # Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).
+              { # Represents a single turn/invocation in the conversation.
+                "events": [ # Optional. The list of events that occurred during this turn.
+                  { # Represents a single event in the execution trace.
+                    "activeTools": [ # 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.
+                      { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                        "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                        },
+                        "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                          "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                            "A String",
+                          ],
+                          "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                          "environment": "A String", # Required. The target environment where the computer use tool operates.
+                          "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                            "A String",
+                          ],
+                        },
+                        "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                          "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                          "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                            "A String",
+                          ],
+                        },
+                        "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                          "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                          "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                            "a_key": "", # Properties of the object.
+                          },
+                        },
+                        "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                          { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                            "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                            "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                            "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                            "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                              "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                              "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                                # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              ],
+                              "default": "", # Optional. Default value to use if the field is not specified.
+                              "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                              "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                                "A String",
+                              ],
+                              "example": "", # Optional. Example of an instance of this schema.
+                              "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                              "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                              "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                              "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                              "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                              "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                              "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                              "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                              "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                              "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                              "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                              "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                              "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                                "A String",
+                              ],
+                              "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                              "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                                "A String",
+                              ],
+                              "title": "A String", # Optional. Title for the schema.
+                              "type": "A String", # Optional. Data type of the schema field.
+                            },
+                            "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                            "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                              "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                              "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                                # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              ],
+                              "default": "", # Optional. Default value to use if the field is not specified.
+                              "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                              "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                                "A String",
+                              ],
+                              "example": "", # Optional. Example of an instance of this schema.
+                              "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                              "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                              "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                              "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                              "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                              "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                              "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                              "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                              "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                              "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                              "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                              "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                              "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                                "A String",
+                              ],
+                              "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                              "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                                "A String",
+                              ],
+                              "title": "A String", # Optional. Title for the schema.
+                              "type": "A String", # Optional. Data type of the schema field.
+                            },
+                            "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                          },
+                        ],
+                        "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                          "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                          "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                            "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                            },
+                            "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                            },
+                          },
+                        },
+                        "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                          "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                          "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                            "A String",
+                          ],
+                          "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                            "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                            },
+                            "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                            },
+                          },
+                        },
+                        "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                          "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                            "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                            "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                          },
+                        },
+                        "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                          "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                          "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                            "a_key": "", # Properties of the object.
+                          },
+                          "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                          "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                        },
+                        "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                          "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                          "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                            "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                              "apiKeyConfig": { # The API secret. # The API secret.
+                                "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                                "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                              },
+                            },
+                            "apiSpec": "A String", # The API spec that the external API implements.
+                            "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                              "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                                "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                                "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                                "httpElementLocation": "A String", # Optional. The location of the API key.
+                                "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                              },
+                              "authType": "A String", # Type of auth scheme.
+                              "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                                "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                              },
+                              "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                                "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                              },
+                              "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                                "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                                "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                              },
+                              "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                                "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                                "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                              },
+                            },
+                            "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                              "index": "A String", # The ElasticSearch index to use.
+                              "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                              "searchTemplate": "A String", # The ElasticSearch search template to use.
+                            },
+                            "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                            "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                            },
+                          },
+                          "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                            "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                              { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                                "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                                "filter": "A String", # 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)
+                              },
+                            ],
+                            "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                            "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                            "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                            "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                          },
+                          "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                            "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                              "A String",
+                            ],
+                            "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                              { # The definition of the Rag resource.
+                                "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                                "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                                  "A String",
+                                ],
+                              },
+                            ],
+                            "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                              "filter": { # Config for filters. # Optional. Config for filters.
+                                "metadataFilter": "A String", # Optional. String for metadata filtering.
+                                "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                                "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                              },
+                              "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                                "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                              },
+                              "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                                "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                                  "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                                },
+                                "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                                  "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                                },
+                              },
+                              "topK": 42, # Optional. The number of contexts to retrieve.
+                            },
+                            "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                            "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                            "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                          },
+                        },
+                        "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                        },
+                      },
+                    ],
+                    "author": "A String", # Required. The ID of the agent or entity that generated this event. Use "user" to denote events generated by the end-user.
+                    "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the event (e.g., text response, tool call, tool response).
+                      "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                        { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                          "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                            "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                            "text": "A String", # Required. The transcription text of this audio segment.
+                            "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                              { # Information about a single recognized word.
+                                "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                                "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                                "word": "A String", # Required. Transcript of the word.
+                              },
+                            ],
+                          },
+                          "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                            "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                            "outcome": "A String", # Required. Outcome of the code execution.
+                            "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                          },
+                          "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                            "code": "A String", # Required. The code to be executed.
+                            "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                            "language": "A String", # Required. Programming language of the `code`.
+                          },
+                          "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                            "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                            "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                            "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                            "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                            "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                              { # Partial argument value of the function call.
+                                "boolValue": True or False, # Optional. Represents a boolean value.
+                                "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                                "nullValue": "A String", # Optional. Represents a null value.
+                                "numberValue": 3.14, # Optional. Represents a double value.
+                                "stringValue": "A String", # Optional. Represents a string value.
+                                "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                              },
+                            ],
+                            "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                          },
+                          "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                            "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                            "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                            "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                              { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                                "fileData": { # URI based data for function response. # URI based data.
+                                  "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                  "fileUri": "A String", # Required. URI.
+                                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                                },
+                                "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                                  "data": "A String", # Required. Raw bytes.
+                                  "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                                },
+                              },
+                            ],
+                            "response": { # 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.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "scheduling": "A String", # 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.
+                          },
+                          "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                            "data": "A String", # Required. The raw bytes of the data.
+                            "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                          "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                            "level": "A String", # The tokenization quality used for given media.
+                          },
+                          "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                            "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                            "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                          },
+                          "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                          "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                          "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                          "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                            "endOffset": "A String", # Optional. The end offset of the video.
+                            "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                            "startOffset": "A String", # Optional. The start offset of the video.
+                          },
+                        },
+                      ],
+                      "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                    },
+                    "eventTime": "A String", # Optional. The timestamp when the event occurred.
+                    "stateDelta": { # 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.
+                      "a_key": "", # Properties of the object.
+                    },
+                  },
+                ],
+                "turnId": "A String", # Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.
+                "turnIndex": 42, # Required. The 0-based index of the turn in the conversation sequence.
+              },
+            ],
+          },
+          "candidate": "A String", # Required. The name of the candidate that produced the response.
+          "error": { # 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). # Output only. Error while scraping model or agent.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+          "events": [ # Optional. Intermediate events (such as tool calls and responses) that led to the final response.
+            { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+              "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                  "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                    "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                    "text": "A String", # Required. The transcription text of this audio segment.
+                    "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                      { # Information about a single recognized word.
+                        "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                        "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                        "word": "A String", # Required. Transcript of the word.
+                      },
+                    ],
+                  },
+                  "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                    "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                    "outcome": "A String", # Required. Outcome of the code execution.
+                    "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                  },
+                  "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                    "code": "A String", # Required. The code to be executed.
+                    "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                    "language": "A String", # Required. Programming language of the `code`.
+                  },
+                  "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                    "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                    "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                    "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                    "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                      { # Partial argument value of the function call.
+                        "boolValue": True or False, # Optional. Represents a boolean value.
+                        "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                        "nullValue": "A String", # Optional. Represents a null value.
+                        "numberValue": 3.14, # Optional. Represents a double value.
+                        "stringValue": "A String", # Optional. Represents a string value.
+                        "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                      },
+                    ],
+                    "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                  },
+                  "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                    "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                    "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                    "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                      { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                        "fileData": { # URI based data for function response. # URI based data.
+                          "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "fileUri": "A String", # Required. URI.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                          "data": "A String", # Required. Raw bytes.
+                          "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                      },
+                    ],
+                    "response": { # 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.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "scheduling": "A String", # 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.
+                  },
+                  "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                    "data": "A String", # Required. The raw bytes of the data.
+                    "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                  "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                    "level": "A String", # The tokenization quality used for given media.
+                  },
+                  "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                    "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                    "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                  },
+                  "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                  "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                  "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                  "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                    "endOffset": "A String", # Optional. The end offset of the video.
+                    "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                    "startOffset": "A String", # Optional. The start offset of the video.
+                  },
+                },
+              ],
+              "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+            },
+          ],
+          "text": "A String", # Text response.
+          "value": "", # Fields and values that can be used to populate the response template.
+        },
+      ],
+      "goldenResponse": { # Responses from model or agent. # Optional. The Ideal response or ground truth.
+        "agentData": { # Represents data specific to multi-turn agent evaluations. # 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.
+          "agents": { # 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.
+            "a_key": { # Represents configuration for an Agent.
+              "agentId": "A String", # 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.
+              "agentType": "A String", # 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.
+              "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+              "instruction": "A String", # 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.
+              "subAgents": [ # 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.
+                "A String",
+              ],
+              "tools": [ # Optional. The list of tools available to this agent.
+                { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                  "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                  },
+                  "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                    "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                      "A String",
+                    ],
+                    "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                    "environment": "A String", # Required. The target environment where the computer use tool operates.
+                    "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                      "A String",
+                    ],
+                  },
+                  "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                    "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                    "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                      "A String",
+                    ],
+                  },
+                  "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                    "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                    "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                      "a_key": "", # Properties of the object.
+                    },
+                  },
+                  "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                    { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                      "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                      "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                      "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                      "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                        "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                        "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                          # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        ],
+                        "default": "", # Optional. Default value to use if the field is not specified.
+                        "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                          "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        },
+                        "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                        "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                          "A String",
+                        ],
+                        "example": "", # Optional. Example of an instance of this schema.
+                        "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                        "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                        "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                        "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                        "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                        "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                        "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                        "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                        "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                        "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                        "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                        "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                        "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                          "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        },
+                        "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                          "A String",
+                        ],
+                        "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                        "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                          "A String",
+                        ],
+                        "title": "A String", # Optional. Title for the schema.
+                        "type": "A String", # Optional. Data type of the schema field.
+                      },
+                      "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                      "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                        "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                        "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                          # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        ],
+                        "default": "", # Optional. Default value to use if the field is not specified.
+                        "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                          "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        },
+                        "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                        "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                          "A String",
+                        ],
+                        "example": "", # Optional. Example of an instance of this schema.
+                        "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                        "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                        "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                        "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                        "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                        "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                        "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                        "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                        "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                        "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                        "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                        "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                        "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                          "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        },
+                        "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                          "A String",
+                        ],
+                        "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                        "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                          "A String",
+                        ],
+                        "title": "A String", # Optional. Title for the schema.
+                        "type": "A String", # Optional. Data type of the schema field.
+                      },
+                      "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                    },
+                  ],
+                  "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                    "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                    "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                      "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                      },
+                      "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                      },
+                    },
+                  },
+                  "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                    "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                    "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                      "A String",
+                    ],
+                    "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                      "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                      },
+                      "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                      },
+                    },
+                  },
+                  "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                    "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                      "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                      "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                    },
+                  },
+                  "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                    "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                    "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                      "a_key": "", # Properties of the object.
+                    },
+                    "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                    "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                  },
+                  "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                    "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                    "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                      "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                        "apiKeyConfig": { # The API secret. # The API secret.
+                          "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                          "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                        },
+                      },
+                      "apiSpec": "A String", # The API spec that the external API implements.
+                      "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                        "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                          "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                          "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                          "httpElementLocation": "A String", # Optional. The location of the API key.
+                          "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                        },
+                        "authType": "A String", # Type of auth scheme.
+                        "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                          "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                        },
+                        "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                          "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                        },
+                        "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                          "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                          "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                        },
+                        "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                          "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                          "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                        },
+                      },
+                      "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                        "index": "A String", # The ElasticSearch index to use.
+                        "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                        "searchTemplate": "A String", # The ElasticSearch search template to use.
+                      },
+                      "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                      "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                      },
+                    },
+                    "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                      "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                        { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                          "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                          "filter": "A String", # 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)
+                        },
+                      ],
+                      "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                      "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                      "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                      "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                    },
+                    "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                      "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                        "A String",
+                      ],
+                      "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                        { # The definition of the Rag resource.
+                          "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                          "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                            "A String",
+                          ],
+                        },
+                      ],
+                      "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                        "filter": { # Config for filters. # Optional. Config for filters.
+                          "metadataFilter": "A String", # Optional. String for metadata filtering.
+                          "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                          "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                        },
+                        "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                          "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                        },
+                        "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                          "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                            "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                          },
+                          "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                            "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                          },
+                        },
+                        "topK": 42, # Optional. The number of contexts to retrieve.
+                      },
+                      "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                      "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                      "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                    },
+                  },
+                  "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                  },
+                },
+              ],
+            },
+          },
+          "turns": [ # Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).
+            { # Represents a single turn/invocation in the conversation.
+              "events": [ # Optional. The list of events that occurred during this turn.
+                { # Represents a single event in the execution trace.
+                  "activeTools": [ # 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.
+                    { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                      "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                      },
+                      "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                        "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                          "A String",
+                        ],
+                        "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                        "environment": "A String", # Required. The target environment where the computer use tool operates.
+                        "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                          "A String",
+                        ],
+                      },
+                      "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                        "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                        "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                          "A String",
+                        ],
+                      },
+                      "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                        "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                        "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                          "a_key": "", # Properties of the object.
+                        },
+                      },
+                      "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                        { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                          "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                          "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                          "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                          "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            ],
+                            "default": "", # Optional. Default value to use if the field is not specified.
+                            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                              "A String",
+                            ],
+                            "example": "", # Optional. Example of an instance of this schema.
+                            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                              "A String",
+                            ],
+                            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                              "A String",
+                            ],
+                            "title": "A String", # Optional. Title for the schema.
+                            "type": "A String", # Optional. Data type of the schema field.
+                          },
+                          "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                          "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            ],
+                            "default": "", # Optional. Default value to use if the field is not specified.
+                            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                              "A String",
+                            ],
+                            "example": "", # Optional. Example of an instance of this schema.
+                            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                              "A String",
+                            ],
+                            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                              "A String",
+                            ],
+                            "title": "A String", # Optional. Title for the schema.
+                            "type": "A String", # Optional. Data type of the schema field.
+                          },
+                          "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                        },
+                      ],
+                      "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                        "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                        "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                          "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                          },
+                          "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                          },
+                        },
+                      },
+                      "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                        "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                        "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                          "A String",
+                        ],
+                        "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                          "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                          },
+                          "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                          },
+                        },
+                      },
+                      "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                        "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                          "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                          "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                        },
+                      },
+                      "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                        "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                        "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                          "a_key": "", # Properties of the object.
+                        },
+                        "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                        "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                      },
+                      "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                        "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                        "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                          "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                            "apiKeyConfig": { # The API secret. # The API secret.
+                              "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                              "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                            },
+                          },
+                          "apiSpec": "A String", # The API spec that the external API implements.
+                          "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                            "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                              "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                              "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                              "httpElementLocation": "A String", # Optional. The location of the API key.
+                              "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                            },
+                            "authType": "A String", # Type of auth scheme.
+                            "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                              "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                            },
+                            "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                              "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                            },
+                            "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                              "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                              "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                            },
+                            "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                              "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                              "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                            },
+                          },
+                          "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                            "index": "A String", # The ElasticSearch index to use.
+                            "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                            "searchTemplate": "A String", # The ElasticSearch search template to use.
+                          },
+                          "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                          "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                          },
+                        },
+                        "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                          "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                            { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                              "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                              "filter": "A String", # 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)
+                            },
+                          ],
+                          "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                          "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                          "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                          "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                        },
+                        "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                          "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                            "A String",
+                          ],
+                          "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                            { # The definition of the Rag resource.
+                              "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                              "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                                "A String",
+                              ],
+                            },
+                          ],
+                          "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                            "filter": { # Config for filters. # Optional. Config for filters.
+                              "metadataFilter": "A String", # Optional. String for metadata filtering.
+                              "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                              "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                            },
+                            "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                              "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                            },
+                            "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                              "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                                "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                              },
+                              "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                                "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                              },
+                            },
+                            "topK": 42, # Optional. The number of contexts to retrieve.
+                          },
+                          "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                          "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                          "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                        },
+                      },
+                      "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                      },
+                    },
+                  ],
+                  "author": "A String", # Required. The ID of the agent or entity that generated this event. Use "user" to denote events generated by the end-user.
+                  "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the event (e.g., text response, tool call, tool response).
+                    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                        "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                          "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                          "text": "A String", # Required. The transcription text of this audio segment.
+                          "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                            { # Information about a single recognized word.
+                              "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                              "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                              "word": "A String", # Required. Transcript of the word.
+                            },
+                          ],
+                        },
+                        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                          "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                          "outcome": "A String", # Required. Outcome of the code execution.
+                          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                        },
+                        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                          "code": "A String", # Required. The code to be executed.
+                          "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                          "language": "A String", # Required. Programming language of the `code`.
+                        },
+                        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                            { # Partial argument value of the function call.
+                              "boolValue": True or False, # Optional. Represents a boolean value.
+                              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                              "nullValue": "A String", # Optional. Represents a null value.
+                              "numberValue": 3.14, # Optional. Represents a double value.
+                              "stringValue": "A String", # Optional. Represents a string value.
+                              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                            },
+                          ],
+                          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                        },
+                        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                              "fileData": { # URI based data for function response. # URI based data.
+                                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                "fileUri": "A String", # Required. URI.
+                                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                              },
+                              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                                "data": "A String", # Required. Raw bytes.
+                                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                              },
+                            },
+                          ],
+                          "response": { # 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.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "scheduling": "A String", # 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.
+                        },
+                        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                          "data": "A String", # Required. The raw bytes of the data.
+                          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                          "level": "A String", # The tokenization quality used for given media.
+                        },
+                        "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                          "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                          "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                        },
+                        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                          "endOffset": "A String", # Optional. The end offset of the video.
+                          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                          "startOffset": "A String", # Optional. The start offset of the video.
+                        },
+                      },
+                    ],
+                    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                  },
+                  "eventTime": "A String", # Optional. The timestamp when the event occurred.
+                  "stateDelta": { # 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.
+                    "a_key": "", # Properties of the object.
+                  },
+                },
+              ],
+              "turnId": "A String", # Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.
+              "turnIndex": 42, # Required. The 0-based index of the turn in the conversation sequence.
+            },
+          ],
+        },
+        "candidate": "A String", # Required. The name of the candidate that produced the response.
+        "error": { # 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). # Output only. Error while scraping model or agent.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "events": [ # Optional. Intermediate events (such as tool calls and responses) that led to the final response.
+          { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+            "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+              { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                  "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                  "text": "A String", # Required. The transcription text of this audio segment.
+                  "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                    { # Information about a single recognized word.
+                      "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                      "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                      "word": "A String", # Required. Transcript of the word.
+                    },
+                  ],
+                },
+                "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                  "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                  "outcome": "A String", # Required. Outcome of the code execution.
+                  "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                },
+                "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                  "code": "A String", # Required. The code to be executed.
+                  "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                  "language": "A String", # Required. Programming language of the `code`.
+                },
+                "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                  "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                  "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                },
+                "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                  "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                    "a_key": "", # Properties of the object.
+                  },
+                  "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                  "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                  "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                    { # Partial argument value of the function call.
+                      "boolValue": True or False, # Optional. Represents a boolean value.
+                      "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                      "nullValue": "A String", # Optional. Represents a null value.
+                      "numberValue": 3.14, # Optional. Represents a double value.
+                      "stringValue": "A String", # Optional. Represents a string value.
+                      "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                    },
+                  ],
+                  "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                },
+                "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                  "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                  "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                  "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                    { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                      "fileData": { # URI based data for function response. # URI based data.
+                        "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                        "fileUri": "A String", # Required. URI.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                        "data": "A String", # Required. Raw bytes.
+                        "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                    },
+                  ],
+                  "response": { # 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.
+                    "a_key": "", # Properties of the object.
+                  },
+                  "scheduling": "A String", # 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.
+                },
+                "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                  "data": "A String", # Required. The raw bytes of the data.
+                  "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                },
+                "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                  "level": "A String", # The tokenization quality used for given media.
+                },
+                "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                  "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                  "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                },
+                "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                  "endOffset": "A String", # Optional. The end offset of the video.
+                  "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                  "startOffset": "A String", # Optional. The start offset of the video.
+                },
+              },
+            ],
+            "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+          },
+        ],
+        "text": "A String", # Text response.
+        "value": "", # Fields and values that can be used to populate the response template.
+      },
+      "prompt": { # Prompt to be evaluated. This can represent a single-turn prompt or a multi-turn conversation for agent evaluations. # Optional. The request/prompt to evaluate.
+        "agentData": { # Represents data specific to multi-turn agent evaluations. # 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.
+          "agents": { # 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.
+            "a_key": { # Represents configuration for an Agent.
+              "agentId": "A String", # 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.
+              "agentType": "A String", # 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.
+              "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+              "instruction": "A String", # 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.
+              "subAgents": [ # 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.
+                "A String",
+              ],
+              "tools": [ # Optional. The list of tools available to this agent.
+                { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                  "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                  },
+                  "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                    "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                      "A String",
+                    ],
+                    "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                    "environment": "A String", # Required. The target environment where the computer use tool operates.
+                    "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                      "A String",
+                    ],
+                  },
+                  "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                    "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                    "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                      "A String",
+                    ],
+                  },
+                  "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                    "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                    "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                      "a_key": "", # Properties of the object.
+                    },
+                  },
+                  "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                    { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                      "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                      "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                      "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                      "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                        "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                        "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                          # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        ],
+                        "default": "", # Optional. Default value to use if the field is not specified.
+                        "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                          "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        },
+                        "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                        "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                          "A String",
+                        ],
+                        "example": "", # Optional. Example of an instance of this schema.
+                        "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                        "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                        "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                        "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                        "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                        "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                        "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                        "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                        "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                        "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                        "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                        "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                        "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                          "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        },
+                        "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                          "A String",
+                        ],
+                        "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                        "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                          "A String",
+                        ],
+                        "title": "A String", # Optional. Title for the schema.
+                        "type": "A String", # Optional. Data type of the schema field.
+                      },
+                      "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                      "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                        "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                        "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                          # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        ],
+                        "default": "", # Optional. Default value to use if the field is not specified.
+                        "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                          "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        },
+                        "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                        "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                          "A String",
+                        ],
+                        "example": "", # Optional. Example of an instance of this schema.
+                        "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                        "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                        "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                        "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                        "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                        "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                        "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                        "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                        "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                        "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                        "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                        "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                        "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                          "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                        },
+                        "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                          "A String",
+                        ],
+                        "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                        "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                          "A String",
+                        ],
+                        "title": "A String", # Optional. Title for the schema.
+                        "type": "A String", # Optional. Data type of the schema field.
+                      },
+                      "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                    },
+                  ],
+                  "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                    "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                    "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                      "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                      },
+                      "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                      },
+                    },
+                  },
+                  "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                    "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                    "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                      "A String",
+                    ],
+                    "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                      "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                      },
+                      "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                      },
+                    },
+                  },
+                  "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                    "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                      "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                      "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                    },
+                  },
+                  "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                    "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                    "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                      "a_key": "", # Properties of the object.
+                    },
+                    "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                    "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                  },
+                  "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                    "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                    "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                      "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                        "apiKeyConfig": { # The API secret. # The API secret.
+                          "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                          "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                        },
+                      },
+                      "apiSpec": "A String", # The API spec that the external API implements.
+                      "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                        "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                          "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                          "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                          "httpElementLocation": "A String", # Optional. The location of the API key.
+                          "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                        },
+                        "authType": "A String", # Type of auth scheme.
+                        "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                          "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                        },
+                        "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                          "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                        },
+                        "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                          "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                          "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                        },
+                        "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                          "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                          "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                        },
+                      },
+                      "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                        "index": "A String", # The ElasticSearch index to use.
+                        "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                        "searchTemplate": "A String", # The ElasticSearch search template to use.
+                      },
+                      "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                      "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                      },
+                    },
+                    "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                      "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                        { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                          "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                          "filter": "A String", # 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)
+                        },
+                      ],
+                      "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                      "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                      "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                      "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                    },
+                    "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                      "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                        "A String",
+                      ],
+                      "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                        { # The definition of the Rag resource.
+                          "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                          "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                            "A String",
+                          ],
+                        },
+                      ],
+                      "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                        "filter": { # Config for filters. # Optional. Config for filters.
+                          "metadataFilter": "A String", # Optional. String for metadata filtering.
+                          "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                          "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                        },
+                        "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                          "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                        },
+                        "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                          "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                            "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                          },
+                          "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                            "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                          },
+                        },
+                        "topK": 42, # Optional. The number of contexts to retrieve.
+                      },
+                      "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                      "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                      "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                    },
+                  },
+                  "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                  },
+                },
+              ],
+            },
+          },
+          "turns": [ # Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).
+            { # Represents a single turn/invocation in the conversation.
+              "events": [ # Optional. The list of events that occurred during this turn.
+                { # Represents a single event in the execution trace.
+                  "activeTools": [ # 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.
+                    { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                      "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                      },
+                      "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                        "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                          "A String",
+                        ],
+                        "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                        "environment": "A String", # Required. The target environment where the computer use tool operates.
+                        "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                          "A String",
+                        ],
+                      },
+                      "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                        "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                        "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                          "A String",
+                        ],
+                      },
+                      "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                        "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                        "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                          "a_key": "", # Properties of the object.
+                        },
+                      },
+                      "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                        { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                          "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                          "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                          "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                          "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            ],
+                            "default": "", # Optional. Default value to use if the field is not specified.
+                            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                              "A String",
+                            ],
+                            "example": "", # Optional. Example of an instance of this schema.
+                            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                              "A String",
+                            ],
+                            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                              "A String",
+                            ],
+                            "title": "A String", # Optional. Title for the schema.
+                            "type": "A String", # Optional. Data type of the schema field.
+                          },
+                          "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                          "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            ],
+                            "default": "", # Optional. Default value to use if the field is not specified.
+                            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                              "A String",
+                            ],
+                            "example": "", # Optional. Example of an instance of this schema.
+                            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                              "A String",
+                            ],
+                            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                              "A String",
+                            ],
+                            "title": "A String", # Optional. Title for the schema.
+                            "type": "A String", # Optional. Data type of the schema field.
+                          },
+                          "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                        },
+                      ],
+                      "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                        "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                        "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                          "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                          },
+                          "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                          },
+                        },
+                      },
+                      "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                        "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                        "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                          "A String",
+                        ],
+                        "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                          "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                          },
+                          "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                          },
+                        },
+                      },
+                      "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                        "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                          "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                          "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                        },
+                      },
+                      "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                        "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                        "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                          "a_key": "", # Properties of the object.
+                        },
+                        "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                        "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                      },
+                      "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                        "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                        "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                          "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                            "apiKeyConfig": { # The API secret. # The API secret.
+                              "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                              "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                            },
+                          },
+                          "apiSpec": "A String", # The API spec that the external API implements.
+                          "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                            "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                              "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                              "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                              "httpElementLocation": "A String", # Optional. The location of the API key.
+                              "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                            },
+                            "authType": "A String", # Type of auth scheme.
+                            "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                              "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                            },
+                            "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                              "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                            },
+                            "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                              "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                              "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                            },
+                            "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                              "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                              "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                            },
+                          },
+                          "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                            "index": "A String", # The ElasticSearch index to use.
+                            "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                            "searchTemplate": "A String", # The ElasticSearch search template to use.
+                          },
+                          "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                          "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                          },
+                        },
+                        "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                          "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                            { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                              "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                              "filter": "A String", # 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)
+                            },
+                          ],
+                          "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                          "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                          "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                          "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                        },
+                        "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                          "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                            "A String",
+                          ],
+                          "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                            { # The definition of the Rag resource.
+                              "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                              "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                                "A String",
+                              ],
+                            },
+                          ],
+                          "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                            "filter": { # Config for filters. # Optional. Config for filters.
+                              "metadataFilter": "A String", # Optional. String for metadata filtering.
+                              "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                              "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                            },
+                            "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                              "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                            },
+                            "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                              "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                                "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                              },
+                              "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                                "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                              },
+                            },
+                            "topK": 42, # Optional. The number of contexts to retrieve.
+                          },
+                          "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                          "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                          "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                        },
+                      },
+                      "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                      },
+                    },
+                  ],
+                  "author": "A String", # Required. The ID of the agent or entity that generated this event. Use "user" to denote events generated by the end-user.
+                  "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the event (e.g., text response, tool call, tool response).
+                    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                        "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                          "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                          "text": "A String", # Required. The transcription text of this audio segment.
+                          "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                            { # Information about a single recognized word.
+                              "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                              "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                              "word": "A String", # Required. Transcript of the word.
+                            },
+                          ],
+                        },
+                        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                          "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                          "outcome": "A String", # Required. Outcome of the code execution.
+                          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                        },
+                        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                          "code": "A String", # Required. The code to be executed.
+                          "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                          "language": "A String", # Required. Programming language of the `code`.
+                        },
+                        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                            { # Partial argument value of the function call.
+                              "boolValue": True or False, # Optional. Represents a boolean value.
+                              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                              "nullValue": "A String", # Optional. Represents a null value.
+                              "numberValue": 3.14, # Optional. Represents a double value.
+                              "stringValue": "A String", # Optional. Represents a string value.
+                              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                            },
+                          ],
+                          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                        },
+                        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                              "fileData": { # URI based data for function response. # URI based data.
+                                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                "fileUri": "A String", # Required. URI.
+                                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                              },
+                              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                                "data": "A String", # Required. Raw bytes.
+                                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                              },
+                            },
+                          ],
+                          "response": { # 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.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "scheduling": "A String", # 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.
+                        },
+                        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                          "data": "A String", # Required. The raw bytes of the data.
+                          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                          "level": "A String", # The tokenization quality used for given media.
+                        },
+                        "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                          "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                          "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                        },
+                        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                          "endOffset": "A String", # Optional. The end offset of the video.
+                          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                          "startOffset": "A String", # Optional. The start offset of the video.
+                        },
+                      },
+                    ],
+                    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                  },
+                  "eventTime": "A String", # Optional. The timestamp when the event occurred.
+                  "stateDelta": { # 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.
+                    "a_key": "", # Properties of the object.
+                  },
+                },
+              ],
+              "turnId": "A String", # Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.
+              "turnIndex": 42, # Required. The 0-based index of the turn in the conversation sequence.
+            },
+          ],
+        },
+        "promptTemplateData": { # Message to hold a prompt template and the values to populate the template. # Prompt template data.
+          "values": { # The values for fields in the prompt template.
+            "a_key": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+              "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                  "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                    "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                    "text": "A String", # Required. The transcription text of this audio segment.
+                    "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                      { # Information about a single recognized word.
+                        "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                        "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                        "word": "A String", # Required. Transcript of the word.
+                      },
+                    ],
+                  },
+                  "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                    "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                    "outcome": "A String", # Required. Outcome of the code execution.
+                    "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                  },
+                  "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                    "code": "A String", # Required. The code to be executed.
+                    "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                    "language": "A String", # Required. Programming language of the `code`.
+                  },
+                  "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                    "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                    "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                    "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                    "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                      { # Partial argument value of the function call.
+                        "boolValue": True or False, # Optional. Represents a boolean value.
+                        "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                        "nullValue": "A String", # Optional. Represents a null value.
+                        "numberValue": 3.14, # Optional. Represents a double value.
+                        "stringValue": "A String", # Optional. Represents a string value.
+                        "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                      },
+                    ],
+                    "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                  },
+                  "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                    "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                    "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                    "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                      { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                        "fileData": { # URI based data for function response. # URI based data.
+                          "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "fileUri": "A String", # Required. URI.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                          "data": "A String", # Required. Raw bytes.
+                          "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                      },
+                    ],
+                    "response": { # 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.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "scheduling": "A String", # 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.
+                  },
+                  "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                    "data": "A String", # Required. The raw bytes of the data.
+                    "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                  "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                    "level": "A String", # The tokenization quality used for given media.
+                  },
+                  "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                    "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                    "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                  },
+                  "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                  "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                  "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                  "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                    "endOffset": "A String", # Optional. The end offset of the video.
+                    "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                    "startOffset": "A String", # Optional. The start offset of the video.
+                  },
+                },
+              ],
+              "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+            },
+          },
+        },
+        "text": "A String", # Text prompt.
+        "userScenario": { # User scenario to help simulate multi-turn agent running results. # Optional. The generated user scenario used to drive multi-turn agent running results.
+          "conversationPlan": "A String", # Required. The plan for the conversation, used to drive the multi-turn agent run and generate the simulated agent evaluation dataset.
+          "startingPrompt": "A String", # Required. The prompt that starts the conversation between the simulated user and the agent under test.
+        },
+        "value": "", # Fields and values that can be used to populate the prompt template.
+      },
+      "rubrics": { # Optional. Named groups of rubrics associated with this prompt. The key is a user-defined name for the rubric group.
+        "a_key": { # A group of rubrics, used for grouping rubrics based on a metric or a version.
+          "displayName": "A String", # Human-readable name for the group. This should be unique within a given context if used for display or selection. Example: "Instruction Following V1", "Content Quality - Summarization Task".
+          "groupId": "A String", # Unique identifier for the group.
+          "rubrics": [ # Rubrics that are part of this group.
+            { # Message representing a single testable criterion for evaluation. One input prompt could have multiple rubrics.
+              "content": { # Content of the rubric, defining the testable criteria. # Required. The actual testable criteria for the rubric.
+                "property": { # Defines criteria based on a specific property. # Evaluation criteria based on a specific property.
+                  "description": "A String", # Description of the property being evaluated. Example: "The model's response is grammatically correct."
+                },
+              },
+              "importance": "A String", # Optional. The relative importance of this rubric.
+              "rubricId": "A String", # Unique identifier for the rubric. This ID is used to refer to this rubric, e.g., in RubricVerdict.
+              "type": "A String", # Optional. A type designator for the rubric, which can inform how it's evaluated or interpreted by systems or users. It's recommended to use consistent, well-defined, upper snake_case strings. Examples: "SUMMARIZATION_QUALITY", "SAFETY_HARMFUL_CONTENT", "INSTRUCTION_ADHERENCE".
+            },
+          ],
+        },
+      },
+    },
+    "evaluationResponse": { # Evaluation result. # Output only. The response from evaluation.
+      "candidateResults": [ # Optional. The results for the metric.
+        { # Result for a single candidate.
+          "additionalResults": "", # Optional. Additional results for the metric.
+          "candidate": "A String", # Required. The candidate that is being evaluated. The value is the same as the candidate name in the EvaluationRequest.
+          "error": { # 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). # Output only. Error while evaluating the candidate for the metric.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+          "explanation": "A String", # Optional. The explanation for the metric.
+          "metric": "A String", # Required. The metric that was evaluated.
+          "rubricVerdicts": [ # Optional. The rubric verdicts for the metric.
+            { # Represents the verdict of an evaluation against a single rubric.
+              "evaluatedRubric": { # Message representing a single testable criterion for evaluation. One input prompt could have multiple rubrics. # Required. The full rubric definition that was evaluated. Storing this ensures the verdict is self-contained and understandable, especially if the original rubric definition changes or was dynamically generated.
+                "content": { # Content of the rubric, defining the testable criteria. # Required. The actual testable criteria for the rubric.
+                  "property": { # Defines criteria based on a specific property. # Evaluation criteria based on a specific property.
+                    "description": "A String", # Description of the property being evaluated. Example: "The model's response is grammatically correct."
+                  },
+                },
+                "importance": "A String", # Optional. The relative importance of this rubric.
+                "rubricId": "A String", # Unique identifier for the rubric. This ID is used to refer to this rubric, e.g., in RubricVerdict.
+                "type": "A String", # Optional. A type designator for the rubric, which can inform how it's evaluated or interpreted by systems or users. It's recommended to use consistent, well-defined, upper snake_case strings. Examples: "SUMMARIZATION_QUALITY", "SAFETY_HARMFUL_CONTENT", "INSTRUCTION_ADHERENCE".
+              },
+              "reasoning": "A String", # Optional. Human-readable reasoning or explanation for the verdict. This can include specific examples or details from the evaluated content that justify the given verdict.
+              "verdict": True or False, # Required. Outcome of the evaluation against the rubric, represented as a boolean. `true` indicates a "Pass", `false` indicates a "Fail".
+            },
+          ],
+          "score": 3.14, # Optional. The score for the metric.
+        },
+      ],
+      "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item}
+      "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`.
+      "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}
+      "metadata": "", # Optional. Metadata about the evaluation result.
+      "metric": "A String", # Required. The metric that was evaluated.
+      "request": { # A single evaluation request supporting input for both single-turn model generation and multi-turn agent execution traces. Valid input modes: 1. Inference Mode: `prompt` is set (containing text or AgentData context). 2. Offline Eval Mode: `prompt` is unset, and `candidate_responses` contains `agent_data` (the completed execution trace). Validation Rule: Either `prompt` must be set, OR at least one of the `candidate_responses` must contain `agent_data`. Metrics receive each candidate as an `EvaluationInstance`, whose fields are the names metrics can reference: `prompt` -> `prompt`, the candidate -> `response` (or `agent_eval_data` for `agent_data`), `golden_response` -> `reference`, `rubrics` -> `rubric_groups`, and `prompt.prompt_template_data.values` and `extra_context` -> `other_data`. # Required. The request that was evaluated.
+        "candidateResponses": [ # Optional. Responses from model under test and other baseline models for comparison.
+          { # Responses from model or agent.
+            "agentData": { # Represents data specific to multi-turn agent evaluations. # 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.
+              "agents": { # 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.
+                "a_key": { # Represents configuration for an Agent.
+                  "agentId": "A String", # 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.
+                  "agentType": "A String", # 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.
+                  "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+                  "instruction": "A String", # 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.
+                  "subAgents": [ # 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.
+                    "A String",
+                  ],
+                  "tools": [ # Optional. The list of tools available to this agent.
+                    { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                      "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                      },
+                      "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                        "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                          "A String",
+                        ],
+                        "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                        "environment": "A String", # Required. The target environment where the computer use tool operates.
+                        "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                          "A String",
+                        ],
+                      },
+                      "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                        "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                        "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                          "A String",
+                        ],
+                      },
+                      "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                        "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                        "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                          "a_key": "", # Properties of the object.
+                        },
+                      },
+                      "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                        { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                          "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                          "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                          "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                          "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            ],
+                            "default": "", # Optional. Default value to use if the field is not specified.
+                            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                              "A String",
+                            ],
+                            "example": "", # Optional. Example of an instance of this schema.
+                            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                              "A String",
+                            ],
+                            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                              "A String",
+                            ],
+                            "title": "A String", # Optional. Title for the schema.
+                            "type": "A String", # Optional. Data type of the schema field.
+                          },
+                          "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                          "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            ],
+                            "default": "", # Optional. Default value to use if the field is not specified.
+                            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                              "A String",
+                            ],
+                            "example": "", # Optional. Example of an instance of this schema.
+                            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                            },
+                            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                              "A String",
+                            ],
+                            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                              "A String",
+                            ],
+                            "title": "A String", # Optional. Title for the schema.
+                            "type": "A String", # Optional. Data type of the schema field.
+                          },
+                          "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                        },
+                      ],
+                      "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                        "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                        "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                          "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                          },
+                          "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                          },
+                        },
+                      },
+                      "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                        "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                        "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                          "A String",
+                        ],
+                        "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                          "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                          },
+                          "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                          },
+                        },
+                      },
+                      "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                        "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                          "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                          "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                        },
+                      },
+                      "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                        "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                        "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                          "a_key": "", # Properties of the object.
+                        },
+                        "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                        "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                      },
+                      "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                        "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                        "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                          "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                            "apiKeyConfig": { # The API secret. # The API secret.
+                              "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                              "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                            },
+                          },
+                          "apiSpec": "A String", # The API spec that the external API implements.
+                          "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                            "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                              "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                              "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                              "httpElementLocation": "A String", # Optional. The location of the API key.
+                              "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                            },
+                            "authType": "A String", # Type of auth scheme.
+                            "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                              "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                            },
+                            "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                              "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                            },
+                            "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                              "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                              "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                            },
+                            "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                              "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                              "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                            },
+                          },
+                          "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                            "index": "A String", # The ElasticSearch index to use.
+                            "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                            "searchTemplate": "A String", # The ElasticSearch search template to use.
+                          },
+                          "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                          "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                          },
+                        },
+                        "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                          "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                            { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                              "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                              "filter": "A String", # 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)
+                            },
+                          ],
+                          "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                          "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                          "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                          "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                        },
+                        "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                          "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                            "A String",
+                          ],
+                          "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                            { # The definition of the Rag resource.
+                              "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                              "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                                "A String",
+                              ],
+                            },
+                          ],
+                          "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                            "filter": { # Config for filters. # Optional. Config for filters.
+                              "metadataFilter": "A String", # Optional. String for metadata filtering.
+                              "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                              "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                            },
+                            "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                              "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                            },
+                            "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                              "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                                "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                              },
+                              "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                                "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                              },
+                            },
+                            "topK": 42, # Optional. The number of contexts to retrieve.
+                          },
+                          "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                          "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                          "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                        },
+                      },
+                      "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                      },
+                    },
+                  ],
+                },
+              },
+              "turns": [ # Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).
+                { # Represents a single turn/invocation in the conversation.
+                  "events": [ # Optional. The list of events that occurred during this turn.
+                    { # Represents a single event in the execution trace.
+                      "activeTools": [ # 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.
+                        { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                          "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                          },
+                          "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                            "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                              "A String",
+                            ],
+                            "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                            "environment": "A String", # Required. The target environment where the computer use tool operates.
+                            "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                              "A String",
+                            ],
+                          },
+                          "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                            "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                            "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                              "A String",
+                            ],
+                          },
+                          "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                            "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                            "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                              "a_key": "", # Properties of the object.
+                            },
+                          },
+                          "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                            { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                              "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                              "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                              "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                              "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                                "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                                "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                                  # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                                ],
+                                "default": "", # Optional. Default value to use if the field is not specified.
+                                "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                                  "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                                },
+                                "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                                "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                                  "A String",
+                                ],
+                                "example": "", # Optional. Example of an instance of this schema.
+                                "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                                "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                                "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                                "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                                "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                                "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                                "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                                "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                                "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                                "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                                "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                                "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                                "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                                  "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                                },
+                                "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                                  "A String",
+                                ],
+                                "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                                "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                                  "A String",
+                                ],
+                                "title": "A String", # Optional. Title for the schema.
+                                "type": "A String", # Optional. Data type of the schema field.
+                              },
+                              "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                              "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                                "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                                "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                                  # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                                ],
+                                "default": "", # Optional. Default value to use if the field is not specified.
+                                "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                                  "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                                },
+                                "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                                "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                                  "A String",
+                                ],
+                                "example": "", # Optional. Example of an instance of this schema.
+                                "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                                "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                                "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                                "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                                "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                                "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                                "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                                "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                                "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                                "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                                "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                                "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                                "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                                  "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                                },
+                                "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                                  "A String",
+                                ],
+                                "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                                "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                                  "A String",
+                                ],
+                                "title": "A String", # Optional. Title for the schema.
+                                "type": "A String", # Optional. Data type of the schema field.
+                              },
+                              "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                            },
+                          ],
+                          "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                            "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                            "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                              "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                              },
+                              "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                              },
+                            },
+                          },
+                          "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                            "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                            "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                              "A String",
+                            ],
+                            "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                              "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                              },
+                              "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                              },
+                            },
+                          },
+                          "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                            "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                              "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                              "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                            },
+                          },
+                          "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                            "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                            "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                              "a_key": "", # Properties of the object.
+                            },
+                            "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                            "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                          },
+                          "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                            "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                            "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                              "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                                "apiKeyConfig": { # The API secret. # The API secret.
+                                  "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                                  "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                                },
+                              },
+                              "apiSpec": "A String", # The API spec that the external API implements.
+                              "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                                "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                                  "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                                  "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                                  "httpElementLocation": "A String", # Optional. The location of the API key.
+                                  "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                                },
+                                "authType": "A String", # Type of auth scheme.
+                                "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                                  "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                                },
+                                "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                                  "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                                },
+                                "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                                  "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                                  "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                                },
+                                "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                                  "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                                  "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                                },
+                              },
+                              "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                                "index": "A String", # The ElasticSearch index to use.
+                                "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                                "searchTemplate": "A String", # The ElasticSearch search template to use.
+                              },
+                              "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                              "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                              },
+                            },
+                            "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                              "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                                { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                                  "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                                  "filter": "A String", # 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)
+                                },
+                              ],
+                              "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                              "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                              "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                              "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                            },
+                            "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                              "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                                "A String",
+                              ],
+                              "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                                { # The definition of the Rag resource.
+                                  "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                                  "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                                    "A String",
+                                  ],
+                                },
+                              ],
+                              "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                                "filter": { # Config for filters. # Optional. Config for filters.
+                                  "metadataFilter": "A String", # Optional. String for metadata filtering.
+                                  "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                                  "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                                },
+                                "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                                  "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                                },
+                                "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                                  "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                                    "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                                  },
+                                  "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                                    "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                                  },
+                                },
+                                "topK": 42, # Optional. The number of contexts to retrieve.
+                              },
+                              "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                              "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                              "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                            },
+                          },
+                          "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                          },
+                        },
+                      ],
+                      "author": "A String", # Required. The ID of the agent or entity that generated this event. Use "user" to denote events generated by the end-user.
+                      "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the event (e.g., text response, tool call, tool response).
+                        "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                          { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                            "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                              "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                              "text": "A String", # Required. The transcription text of this audio segment.
+                              "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                                { # Information about a single recognized word.
+                                  "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                                  "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                                  "word": "A String", # Required. Transcript of the word.
+                                },
+                              ],
+                            },
+                            "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                              "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                              "outcome": "A String", # Required. Outcome of the code execution.
+                              "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                            },
+                            "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                              "code": "A String", # Required. The code to be executed.
+                              "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                              "language": "A String", # Required. Programming language of the `code`.
+                            },
+                            "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                              "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                              "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                            },
+                            "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                              "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                              "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                              "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                                { # Partial argument value of the function call.
+                                  "boolValue": True or False, # Optional. Represents a boolean value.
+                                  "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                                  "nullValue": "A String", # Optional. Represents a null value.
+                                  "numberValue": 3.14, # Optional. Represents a double value.
+                                  "stringValue": "A String", # Optional. Represents a string value.
+                                  "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                                },
+                              ],
+                              "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                            },
+                            "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                              "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                              "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                              "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                                { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                                  "fileData": { # URI based data for function response. # URI based data.
+                                    "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                    "fileUri": "A String", # Required. URI.
+                                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                                  },
+                                  "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                                    "data": "A String", # Required. Raw bytes.
+                                    "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                                  },
+                                },
+                              ],
+                              "response": { # 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.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "scheduling": "A String", # 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.
+                            },
+                            "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                              "data": "A String", # Required. The raw bytes of the data.
+                              "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                            },
+                            "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                            "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                              "level": "A String", # The tokenization quality used for given media.
+                            },
+                            "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                              "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                              "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                            },
+                            "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                            "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                            "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                            "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                              "endOffset": "A String", # Optional. The end offset of the video.
+                              "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                              "startOffset": "A String", # Optional. The start offset of the video.
+                            },
+                          },
+                        ],
+                        "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                      },
+                      "eventTime": "A String", # Optional. The timestamp when the event occurred.
+                      "stateDelta": { # 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.
+                        "a_key": "", # Properties of the object.
+                      },
+                    },
+                  ],
+                  "turnId": "A String", # Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.
+                  "turnIndex": 42, # Required. The 0-based index of the turn in the conversation sequence.
+                },
+              ],
+            },
+            "candidate": "A String", # Required. The name of the candidate that produced the response.
+            "error": { # 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). # Output only. Error while scraping model or agent.
+              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+              "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                {
+                  "a_key": "", # Properties of the object. Contains field @type with type URL.
+                },
+              ],
+              "message": "A String", # 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.
+            },
+            "events": [ # Optional. Intermediate events (such as tool calls and responses) that led to the final response.
+              { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+                "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                  { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                    "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                      "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                      "text": "A String", # Required. The transcription text of this audio segment.
+                      "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                        { # Information about a single recognized word.
+                          "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                          "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                          "word": "A String", # Required. Transcript of the word.
+                        },
+                      ],
+                    },
+                    "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                      "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                      "outcome": "A String", # Required. Outcome of the code execution.
+                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                    },
+                    "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                      "code": "A String", # Required. The code to be executed.
+                      "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                      "language": "A String", # Required. Programming language of the `code`.
+                    },
+                    "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                      "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                      "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                    },
+                    "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                      "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                      "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                      "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                        { # Partial argument value of the function call.
+                          "boolValue": True or False, # Optional. Represents a boolean value.
+                          "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                          "nullValue": "A String", # Optional. Represents a null value.
+                          "numberValue": 3.14, # Optional. Represents a double value.
+                          "stringValue": "A String", # Optional. Represents a string value.
+                          "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                        },
+                      ],
+                      "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                    },
+                    "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                      "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                      "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                      "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                        { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                          "fileData": { # URI based data for function response. # URI based data.
+                            "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                            "fileUri": "A String", # Required. URI.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                            "data": "A String", # Required. Raw bytes.
+                            "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                        },
+                      ],
+                      "response": { # 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.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "scheduling": "A String", # 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.
+                    },
+                    "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                      "data": "A String", # Required. The raw bytes of the data.
+                      "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                    },
+                    "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                    "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                      "level": "A String", # The tokenization quality used for given media.
+                    },
+                    "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                      "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                      "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                    },
+                    "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                    "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                    "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                    "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                      "endOffset": "A String", # Optional. The end offset of the video.
+                      "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                      "startOffset": "A String", # Optional. The start offset of the video.
+                    },
+                  },
+                ],
+                "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+              },
+            ],
+            "text": "A String", # Text response.
+            "value": "", # Fields and values that can be used to populate the response template.
+          },
+        ],
+        "goldenResponse": { # Responses from model or agent. # Optional. The Ideal response or ground truth.
+          "agentData": { # Represents data specific to multi-turn agent evaluations. # 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.
+            "agents": { # 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.
+              "a_key": { # Represents configuration for an Agent.
+                "agentId": "A String", # 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.
+                "agentType": "A String", # 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.
+                "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+                "instruction": "A String", # 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.
+                "subAgents": [ # 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.
+                  "A String",
+                ],
+                "tools": [ # Optional. The list of tools available to this agent.
+                  { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                    "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                    },
+                    "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                      "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                        "A String",
+                      ],
+                      "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                      "environment": "A String", # Required. The target environment where the computer use tool operates.
+                      "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                        "A String",
+                      ],
+                    },
+                    "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                      "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                      "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                        "A String",
+                      ],
+                    },
+                    "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                      "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                      "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                        "a_key": "", # Properties of the object.
+                      },
+                    },
+                    "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                      { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                        "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                        "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                        "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                        "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                          "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                          "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                            # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          ],
+                          "default": "", # Optional. Default value to use if the field is not specified.
+                          "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                          "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                            "A String",
+                          ],
+                          "example": "", # Optional. Example of an instance of this schema.
+                          "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                          "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                          "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                          "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                          "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                          "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                          "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                          "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                          "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                          "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                          "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                          "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                          "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                            "A String",
+                          ],
+                          "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                          "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                            "A String",
+                          ],
+                          "title": "A String", # Optional. Title for the schema.
+                          "type": "A String", # Optional. Data type of the schema field.
+                        },
+                        "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                        "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                          "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                          "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                            # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          ],
+                          "default": "", # Optional. Default value to use if the field is not specified.
+                          "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                          "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                            "A String",
+                          ],
+                          "example": "", # Optional. Example of an instance of this schema.
+                          "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                          "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                          "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                          "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                          "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                          "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                          "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                          "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                          "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                          "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                          "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                          "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                          "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                            "A String",
+                          ],
+                          "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                          "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                            "A String",
+                          ],
+                          "title": "A String", # Optional. Title for the schema.
+                          "type": "A String", # Optional. Data type of the schema field.
+                        },
+                        "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                      },
+                    ],
+                    "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                      "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                      "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                        "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                        },
+                        "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                        },
+                      },
+                    },
+                    "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                      "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                      "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                        "A String",
+                      ],
+                      "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                        "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                        },
+                        "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                        },
+                      },
+                    },
+                    "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                      "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                        "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                        "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                      },
+                    },
+                    "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                      "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                      "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                        "a_key": "", # Properties of the object.
+                      },
+                      "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                      "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                    },
+                    "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                      "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                      "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                        "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                          "apiKeyConfig": { # The API secret. # The API secret.
+                            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                          },
+                        },
+                        "apiSpec": "A String", # The API spec that the external API implements.
+                        "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                          "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                            "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                            "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                            "httpElementLocation": "A String", # Optional. The location of the API key.
+                            "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                          },
+                          "authType": "A String", # Type of auth scheme.
+                          "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                            "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                          },
+                          "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                            "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                          },
+                          "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                            "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                            "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                          },
+                          "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                            "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                            "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                          },
+                        },
+                        "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                          "index": "A String", # The ElasticSearch index to use.
+                          "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                          "searchTemplate": "A String", # The ElasticSearch search template to use.
+                        },
+                        "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                        "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                        },
+                      },
+                      "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                        "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                          { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                            "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                            "filter": "A String", # 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)
+                          },
+                        ],
+                        "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                        "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                        "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                        "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                      },
+                      "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                        "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                          "A String",
+                        ],
+                        "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                          { # The definition of the Rag resource.
+                            "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                            "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                              "A String",
+                            ],
+                          },
+                        ],
+                        "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                          "filter": { # Config for filters. # Optional. Config for filters.
+                            "metadataFilter": "A String", # Optional. String for metadata filtering.
+                            "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                            "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                          },
+                          "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                            "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                          },
+                          "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                            "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                              "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                            },
+                            "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                              "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                            },
+                          },
+                          "topK": 42, # Optional. The number of contexts to retrieve.
+                        },
+                        "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                        "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                        "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                      },
+                    },
+                    "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                    },
+                  },
+                ],
+              },
+            },
+            "turns": [ # Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).
+              { # Represents a single turn/invocation in the conversation.
+                "events": [ # Optional. The list of events that occurred during this turn.
+                  { # Represents a single event in the execution trace.
+                    "activeTools": [ # 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.
+                      { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                        "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                        },
+                        "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                          "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                            "A String",
+                          ],
+                          "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                          "environment": "A String", # Required. The target environment where the computer use tool operates.
+                          "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                            "A String",
+                          ],
+                        },
+                        "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                          "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                          "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                            "A String",
+                          ],
+                        },
+                        "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                          "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                          "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                            "a_key": "", # Properties of the object.
+                          },
+                        },
+                        "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                          { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                            "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                            "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                            "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                            "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                              "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                              "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                                # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              ],
+                              "default": "", # Optional. Default value to use if the field is not specified.
+                              "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                              "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                                "A String",
+                              ],
+                              "example": "", # Optional. Example of an instance of this schema.
+                              "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                              "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                              "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                              "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                              "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                              "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                              "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                              "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                              "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                              "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                              "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                              "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                              "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                                "A String",
+                              ],
+                              "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                              "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                                "A String",
+                              ],
+                              "title": "A String", # Optional. Title for the schema.
+                              "type": "A String", # Optional. Data type of the schema field.
+                            },
+                            "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                            "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                              "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                              "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                                # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              ],
+                              "default": "", # Optional. Default value to use if the field is not specified.
+                              "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                              "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                                "A String",
+                              ],
+                              "example": "", # Optional. Example of an instance of this schema.
+                              "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                              "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                              "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                              "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                              "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                              "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                              "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                              "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                              "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                              "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                              "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                              "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                              "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                                "A String",
+                              ],
+                              "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                              "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                                "A String",
+                              ],
+                              "title": "A String", # Optional. Title for the schema.
+                              "type": "A String", # Optional. Data type of the schema field.
+                            },
+                            "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                          },
+                        ],
+                        "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                          "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                          "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                            "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                            },
+                            "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                            },
+                          },
+                        },
+                        "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                          "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                          "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                            "A String",
+                          ],
+                          "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                            "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                            },
+                            "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                            },
+                          },
+                        },
+                        "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                          "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                            "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                            "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                          },
+                        },
+                        "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                          "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                          "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                            "a_key": "", # Properties of the object.
+                          },
+                          "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                          "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                        },
+                        "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                          "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                          "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                            "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                              "apiKeyConfig": { # The API secret. # The API secret.
+                                "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                                "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                              },
+                            },
+                            "apiSpec": "A String", # The API spec that the external API implements.
+                            "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                              "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                                "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                                "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                                "httpElementLocation": "A String", # Optional. The location of the API key.
+                                "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                              },
+                              "authType": "A String", # Type of auth scheme.
+                              "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                                "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                              },
+                              "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                                "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                              },
+                              "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                                "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                                "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                              },
+                              "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                                "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                                "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                              },
+                            },
+                            "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                              "index": "A String", # The ElasticSearch index to use.
+                              "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                              "searchTemplate": "A String", # The ElasticSearch search template to use.
+                            },
+                            "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                            "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                            },
+                          },
+                          "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                            "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                              { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                                "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                                "filter": "A String", # 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)
+                              },
+                            ],
+                            "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                            "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                            "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                            "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                          },
+                          "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                            "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                              "A String",
+                            ],
+                            "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                              { # The definition of the Rag resource.
+                                "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                                "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                                  "A String",
+                                ],
+                              },
+                            ],
+                            "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                              "filter": { # Config for filters. # Optional. Config for filters.
+                                "metadataFilter": "A String", # Optional. String for metadata filtering.
+                                "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                                "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                              },
+                              "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                                "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                              },
+                              "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                                "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                                  "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                                },
+                                "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                                  "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                                },
+                              },
+                              "topK": 42, # Optional. The number of contexts to retrieve.
+                            },
+                            "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                            "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                            "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                          },
+                        },
+                        "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                        },
+                      },
+                    ],
+                    "author": "A String", # Required. The ID of the agent or entity that generated this event. Use "user" to denote events generated by the end-user.
+                    "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the event (e.g., text response, tool call, tool response).
+                      "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                        { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                          "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                            "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                            "text": "A String", # Required. The transcription text of this audio segment.
+                            "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                              { # Information about a single recognized word.
+                                "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                                "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                                "word": "A String", # Required. Transcript of the word.
+                              },
+                            ],
+                          },
+                          "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                            "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                            "outcome": "A String", # Required. Outcome of the code execution.
+                            "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                          },
+                          "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                            "code": "A String", # Required. The code to be executed.
+                            "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                            "language": "A String", # Required. Programming language of the `code`.
+                          },
+                          "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                            "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                            "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                            "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                            "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                            "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                              { # Partial argument value of the function call.
+                                "boolValue": True or False, # Optional. Represents a boolean value.
+                                "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                                "nullValue": "A String", # Optional. Represents a null value.
+                                "numberValue": 3.14, # Optional. Represents a double value.
+                                "stringValue": "A String", # Optional. Represents a string value.
+                                "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                              },
+                            ],
+                            "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                          },
+                          "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                            "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                            "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                            "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                              { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                                "fileData": { # URI based data for function response. # URI based data.
+                                  "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                  "fileUri": "A String", # Required. URI.
+                                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                                },
+                                "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                                  "data": "A String", # Required. Raw bytes.
+                                  "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                                },
+                              },
+                            ],
+                            "response": { # 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.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "scheduling": "A String", # 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.
+                          },
+                          "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                            "data": "A String", # Required. The raw bytes of the data.
+                            "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                          "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                            "level": "A String", # The tokenization quality used for given media.
+                          },
+                          "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                            "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                            "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                          },
+                          "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                          "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                          "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                          "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                            "endOffset": "A String", # Optional. The end offset of the video.
+                            "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                            "startOffset": "A String", # Optional. The start offset of the video.
+                          },
+                        },
+                      ],
+                      "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                    },
+                    "eventTime": "A String", # Optional. The timestamp when the event occurred.
+                    "stateDelta": { # 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.
+                      "a_key": "", # Properties of the object.
+                    },
+                  },
+                ],
+                "turnId": "A String", # Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.
+                "turnIndex": 42, # Required. The 0-based index of the turn in the conversation sequence.
+              },
+            ],
+          },
+          "candidate": "A String", # Required. The name of the candidate that produced the response.
+          "error": { # 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). # Output only. Error while scraping model or agent.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+          "events": [ # Optional. Intermediate events (such as tool calls and responses) that led to the final response.
+            { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+              "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                  "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                    "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                    "text": "A String", # Required. The transcription text of this audio segment.
+                    "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                      { # Information about a single recognized word.
+                        "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                        "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                        "word": "A String", # Required. Transcript of the word.
+                      },
+                    ],
+                  },
+                  "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                    "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                    "outcome": "A String", # Required. Outcome of the code execution.
+                    "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                  },
+                  "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                    "code": "A String", # Required. The code to be executed.
+                    "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                    "language": "A String", # Required. Programming language of the `code`.
+                  },
+                  "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                    "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                    "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                    "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                    "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                      { # Partial argument value of the function call.
+                        "boolValue": True or False, # Optional. Represents a boolean value.
+                        "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                        "nullValue": "A String", # Optional. Represents a null value.
+                        "numberValue": 3.14, # Optional. Represents a double value.
+                        "stringValue": "A String", # Optional. Represents a string value.
+                        "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                      },
+                    ],
+                    "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                  },
+                  "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                    "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                    "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                    "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                      { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                        "fileData": { # URI based data for function response. # URI based data.
+                          "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "fileUri": "A String", # Required. URI.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                          "data": "A String", # Required. Raw bytes.
+                          "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                      },
+                    ],
+                    "response": { # 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.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "scheduling": "A String", # 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.
+                  },
+                  "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                    "data": "A String", # Required. The raw bytes of the data.
+                    "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                  "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                    "level": "A String", # The tokenization quality used for given media.
+                  },
+                  "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                    "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                    "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                  },
+                  "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                  "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                  "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                  "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                    "endOffset": "A String", # Optional. The end offset of the video.
+                    "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                    "startOffset": "A String", # Optional. The start offset of the video.
+                  },
+                },
+              ],
+              "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+            },
+          ],
+          "text": "A String", # Text response.
+          "value": "", # Fields and values that can be used to populate the response template.
+        },
+        "prompt": { # Prompt to be evaluated. This can represent a single-turn prompt or a multi-turn conversation for agent evaluations. # Optional. The request/prompt to evaluate.
+          "agentData": { # Represents data specific to multi-turn agent evaluations. # 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.
+            "agents": { # 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.
+              "a_key": { # Represents configuration for an Agent.
+                "agentId": "A String", # 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.
+                "agentType": "A String", # 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.
+                "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+                "instruction": "A String", # 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.
+                "subAgents": [ # 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.
+                  "A String",
+                ],
+                "tools": [ # Optional. The list of tools available to this agent.
+                  { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                    "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                    },
+                    "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                      "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                        "A String",
+                      ],
+                      "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                      "environment": "A String", # Required. The target environment where the computer use tool operates.
+                      "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                        "A String",
+                      ],
+                    },
+                    "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                      "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                      "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                        "A String",
+                      ],
+                    },
+                    "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                      "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                      "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                        "a_key": "", # Properties of the object.
+                      },
+                    },
+                    "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                      { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                        "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                        "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                        "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                        "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                          "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                          "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                            # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          ],
+                          "default": "", # Optional. Default value to use if the field is not specified.
+                          "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                          "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                            "A String",
+                          ],
+                          "example": "", # Optional. Example of an instance of this schema.
+                          "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                          "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                          "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                          "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                          "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                          "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                          "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                          "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                          "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                          "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                          "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                          "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                          "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                            "A String",
+                          ],
+                          "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                          "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                            "A String",
+                          ],
+                          "title": "A String", # Optional. Title for the schema.
+                          "type": "A String", # Optional. Data type of the schema field.
+                        },
+                        "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                        "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                          "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                          "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                            # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          ],
+                          "default": "", # Optional. Default value to use if the field is not specified.
+                          "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                          "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                            "A String",
+                          ],
+                          "example": "", # Optional. Example of an instance of this schema.
+                          "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                          "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                          "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                          "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                          "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                          "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                          "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                          "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                          "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                          "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                          "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                          "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                          "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                            "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                          },
+                          "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                            "A String",
+                          ],
+                          "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                          "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                            "A String",
+                          ],
+                          "title": "A String", # Optional. Title for the schema.
+                          "type": "A String", # Optional. Data type of the schema field.
+                        },
+                        "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                      },
+                    ],
+                    "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                      "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                      "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                        "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                        },
+                        "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                        },
+                      },
+                    },
+                    "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                      "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                      "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                        "A String",
+                      ],
+                      "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                        "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                        },
+                        "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                        },
+                      },
+                    },
+                    "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                      "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                        "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                        "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                      },
+                    },
+                    "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                      "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                      "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                        "a_key": "", # Properties of the object.
+                      },
+                      "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                      "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                    },
+                    "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                      "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                      "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                        "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                          "apiKeyConfig": { # The API secret. # The API secret.
+                            "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                            "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                          },
+                        },
+                        "apiSpec": "A String", # The API spec that the external API implements.
+                        "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                          "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                            "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                            "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                            "httpElementLocation": "A String", # Optional. The location of the API key.
+                            "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                          },
+                          "authType": "A String", # Type of auth scheme.
+                          "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                            "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                          },
+                          "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                            "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                          },
+                          "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                            "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                            "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                          },
+                          "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                            "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                            "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                          },
+                        },
+                        "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                          "index": "A String", # The ElasticSearch index to use.
+                          "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                          "searchTemplate": "A String", # The ElasticSearch search template to use.
+                        },
+                        "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                        "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                        },
+                      },
+                      "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                        "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                          { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                            "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                            "filter": "A String", # 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)
+                          },
+                        ],
+                        "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                        "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                        "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                        "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                      },
+                      "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                        "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                          "A String",
+                        ],
+                        "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                          { # The definition of the Rag resource.
+                            "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                            "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                              "A String",
+                            ],
+                          },
+                        ],
+                        "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                          "filter": { # Config for filters. # Optional. Config for filters.
+                            "metadataFilter": "A String", # Optional. String for metadata filtering.
+                            "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                            "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                          },
+                          "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                            "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                          },
+                          "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                            "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                              "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                            },
+                            "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                              "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                            },
+                          },
+                          "topK": 42, # Optional. The number of contexts to retrieve.
+                        },
+                        "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                        "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                        "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                      },
+                    },
+                    "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                    },
+                  },
+                ],
+              },
+            },
+            "turns": [ # Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).
+              { # Represents a single turn/invocation in the conversation.
+                "events": [ # Optional. The list of events that occurred during this turn.
+                  { # Represents a single event in the execution trace.
+                    "activeTools": [ # 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.
+                      { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                        "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                        },
+                        "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                          "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                            "A String",
+                          ],
+                          "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                          "environment": "A String", # Required. The target environment where the computer use tool operates.
+                          "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                            "A String",
+                          ],
+                        },
+                        "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                          "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                          "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                            "A String",
+                          ],
+                        },
+                        "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                          "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                          "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                            "a_key": "", # Properties of the object.
+                          },
+                        },
+                        "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                          { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                            "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                            "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                            "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                            "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                              "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                              "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                                # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              ],
+                              "default": "", # Optional. Default value to use if the field is not specified.
+                              "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                              "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                                "A String",
+                              ],
+                              "example": "", # Optional. Example of an instance of this schema.
+                              "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                              "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                              "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                              "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                              "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                              "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                              "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                              "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                              "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                              "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                              "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                              "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                              "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                                "A String",
+                              ],
+                              "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                              "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                                "A String",
+                              ],
+                              "title": "A String", # Optional. Title for the schema.
+                              "type": "A String", # Optional. Data type of the schema field.
+                            },
+                            "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                            "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                              "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                              "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                                # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              ],
+                              "default": "", # Optional. Default value to use if the field is not specified.
+                              "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                              "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                                "A String",
+                              ],
+                              "example": "", # Optional. Example of an instance of this schema.
+                              "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                              "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                              "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                              "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                              "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                              "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                              "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                              "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                              "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                              "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                              "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                              "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                              "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                              },
+                              "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                                "A String",
+                              ],
+                              "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                              "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                                "A String",
+                              ],
+                              "title": "A String", # Optional. Title for the schema.
+                              "type": "A String", # Optional. Data type of the schema field.
+                            },
+                            "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                          },
+                        ],
+                        "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                          "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                          "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                            "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                            },
+                            "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                            },
+                          },
+                        },
+                        "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                          "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                          "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                            "A String",
+                          ],
+                          "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                            "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                            },
+                            "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                            },
+                          },
+                        },
+                        "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                          "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                            "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                            "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                          },
+                        },
+                        "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                          "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                          "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                            "a_key": "", # Properties of the object.
+                          },
+                          "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                          "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                        },
+                        "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                          "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                          "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                            "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                              "apiKeyConfig": { # The API secret. # The API secret.
+                                "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                                "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                              },
+                            },
+                            "apiSpec": "A String", # The API spec that the external API implements.
+                            "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                              "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                                "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                                "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                                "httpElementLocation": "A String", # Optional. The location of the API key.
+                                "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                              },
+                              "authType": "A String", # Type of auth scheme.
+                              "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                                "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                              },
+                              "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                                "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                              },
+                              "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                                "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                                "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                              },
+                              "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                                "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                                "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                              },
+                            },
+                            "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                              "index": "A String", # The ElasticSearch index to use.
+                              "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                              "searchTemplate": "A String", # The ElasticSearch search template to use.
+                            },
+                            "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                            "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                            },
+                          },
+                          "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                            "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                              { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                                "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                                "filter": "A String", # 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)
+                              },
+                            ],
+                            "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                            "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                            "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                            "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                          },
+                          "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                            "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                              "A String",
+                            ],
+                            "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                              { # The definition of the Rag resource.
+                                "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                                "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                                  "A String",
+                                ],
+                              },
+                            ],
+                            "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                              "filter": { # Config for filters. # Optional. Config for filters.
+                                "metadataFilter": "A String", # Optional. String for metadata filtering.
+                                "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                                "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                              },
+                              "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                                "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                              },
+                              "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                                "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                                  "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                                },
+                                "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                                  "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                                },
+                              },
+                              "topK": 42, # Optional. The number of contexts to retrieve.
+                            },
+                            "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                            "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                            "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                          },
+                        },
+                        "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                        },
+                      },
+                    ],
+                    "author": "A String", # Required. The ID of the agent or entity that generated this event. Use "user" to denote events generated by the end-user.
+                    "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the event (e.g., text response, tool call, tool response).
+                      "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                        { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                          "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                            "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                            "text": "A String", # Required. The transcription text of this audio segment.
+                            "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                              { # Information about a single recognized word.
+                                "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                                "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                                "word": "A String", # Required. Transcript of the word.
+                              },
+                            ],
+                          },
+                          "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                            "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                            "outcome": "A String", # Required. Outcome of the code execution.
+                            "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                          },
+                          "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                            "code": "A String", # Required. The code to be executed.
+                            "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                            "language": "A String", # Required. Programming language of the `code`.
+                          },
+                          "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                            "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                            "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                            "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                            "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                            "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                              { # Partial argument value of the function call.
+                                "boolValue": True or False, # Optional. Represents a boolean value.
+                                "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                                "nullValue": "A String", # Optional. Represents a null value.
+                                "numberValue": 3.14, # Optional. Represents a double value.
+                                "stringValue": "A String", # Optional. Represents a string value.
+                                "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                              },
+                            ],
+                            "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                          },
+                          "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                            "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                            "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                            "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                              { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                                "fileData": { # URI based data for function response. # URI based data.
+                                  "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                  "fileUri": "A String", # Required. URI.
+                                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                                },
+                                "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                                  "data": "A String", # Required. Raw bytes.
+                                  "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                                },
+                              },
+                            ],
+                            "response": { # 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.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "scheduling": "A String", # 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.
+                          },
+                          "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                            "data": "A String", # Required. The raw bytes of the data.
+                            "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                          "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                            "level": "A String", # The tokenization quality used for given media.
+                          },
+                          "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                            "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                            "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                          },
+                          "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                          "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                          "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                          "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                            "endOffset": "A String", # Optional. The end offset of the video.
+                            "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                            "startOffset": "A String", # Optional. The start offset of the video.
+                          },
+                        },
+                      ],
+                      "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                    },
+                    "eventTime": "A String", # Optional. The timestamp when the event occurred.
+                    "stateDelta": { # 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.
+                      "a_key": "", # Properties of the object.
+                    },
+                  },
+                ],
+                "turnId": "A String", # Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.
+                "turnIndex": 42, # Required. The 0-based index of the turn in the conversation sequence.
+              },
+            ],
+          },
+          "promptTemplateData": { # Message to hold a prompt template and the values to populate the template. # Prompt template data.
+            "values": { # The values for fields in the prompt template.
+              "a_key": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+                "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                  { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                    "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data.
+                      "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
+                      "text": "A String", # Required. The transcription text of this audio segment.
+                      "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
+                        { # Information about a single recognized word.
+                          "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio.
+                          "startOffset": "A String", # Optional. Start offset in time of the word relative to the start of the audio.
+                          "word": "A String", # Required. Transcript of the word.
+                        },
+                      ],
+                    },
+                    "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                      "id": "A String", # Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
+                      "outcome": "A String", # Required. Outcome of the code execution.
+                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                    },
+                    "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                      "code": "A String", # Required. The code to be executed.
+                      "id": "A String", # Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
+                      "language": "A String", # Required. Programming language of the `code`.
+                    },
+                    "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                      "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                      "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                    },
+                    "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                      "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                      "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                      "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                        { # Partial argument value of the function call.
+                          "boolValue": True or False, # Optional. Represents a boolean value.
+                          "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                          "nullValue": "A String", # Optional. Represents a null value.
+                          "numberValue": 3.14, # Optional. Represents a double value.
+                          "stringValue": "A String", # Optional. Represents a string value.
+                          "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                        },
+                      ],
+                      "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                    },
+                    "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                      "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                      "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                      "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                        { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                          "fileData": { # URI based data for function response. # URI based data.
+                            "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                            "fileUri": "A String", # Required. URI.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                            "data": "A String", # Required. Raw bytes.
+                            "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                        },
+                      ],
+                      "response": { # 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.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "scheduling": "A String", # 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.
+                    },
+                    "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                      "data": "A String", # Required. The raw bytes of the data.
+                      "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                    },
+                    "mediaProcessing": "A String", # Optional. How the model processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.
+                    "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                      "level": "A String", # The tokenization quality used for given media.
+                    },
+                    "speechMetadata": { # Structured Metadata Sub-Message for Part # Optional. Turn-level metadata for speech generation (e.g. Daikon speaker/style). May be set alongside `text` to attach speaker and style information to a text part.
+                      "speaker": "A String", # Optional. Identifies which speaker is speaking this turn.
+                      "style": "A String", # Optional. Natural language description of the vocal style (e.g., "cheerful").
+                    },
+                    "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                    "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                    "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                    "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                      "endOffset": "A String", # Optional. The end offset of the video.
+                      "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                      "startOffset": "A String", # Optional. The start offset of the video.
+                    },
+                  },
+                ],
+                "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+              },
+            },
+          },
+          "text": "A String", # Text prompt.
+          "userScenario": { # User scenario to help simulate multi-turn agent running results. # Optional. The generated user scenario used to drive multi-turn agent running results.
+            "conversationPlan": "A String", # Required. The plan for the conversation, used to drive the multi-turn agent run and generate the simulated agent evaluation dataset.
+            "startingPrompt": "A String", # Required. The prompt that starts the conversation between the simulated user and the agent under test.
+          },
+          "value": "", # Fields and values that can be used to populate the prompt template.
+        },
+        "rubrics": { # Optional. Named groups of rubrics associated with this prompt. The key is a user-defined name for the rubric group.
+          "a_key": { # A group of rubrics, used for grouping rubrics based on a metric or a version.
+            "displayName": "A String", # Human-readable name for the group. This should be unique within a given context if used for display or selection. Example: "Instruction Following V1", "Content Quality - Summarization Task".
+            "groupId": "A String", # Unique identifier for the group.
+            "rubrics": [ # Rubrics that are part of this group.
+              { # Message representing a single testable criterion for evaluation. One input prompt could have multiple rubrics.
+                "content": { # Content of the rubric, defining the testable criteria. # Required. The actual testable criteria for the rubric.
+                  "property": { # Defines criteria based on a specific property. # Evaluation criteria based on a specific property.
+                    "description": "A String", # Description of the property being evaluated. Example: "The model's response is grammatically correct."
+                  },
+                },
+                "importance": "A String", # Optional. The relative importance of this rubric.
+                "rubricId": "A String", # Unique identifier for the rubric. This ID is used to refer to this rubric, e.g., in RubricVerdict.
+                "type": "A String", # Optional. A type designator for the rubric, which can inform how it's evaluated or interpreted by systems or users. It's recommended to use consistent, well-defined, upper snake_case strings. Examples: "SUMMARIZATION_QUALITY", "SAFETY_HARMFUL_CONTENT", "INSTRUCTION_ADHERENCE".
+              },
+            ],
+          },
+        },
+      },
+    },
+    "gcsUri": "A String", # The Cloud Storage object where the request or response is stored.
+    "harborTask": { # Represents a Harbor task. # Output only. A Harbor task. Populated when evaluation_item_type == HARBOR_TASK. HARBOR_TASK items are created by ImportEvaluationSet and can't be created or updated directly.
+      "dataset": "A String", # Required. Harbor dataset name this task belongs to, in `org/name` format without a version, e.g. "my-org/swebench-verified".
+      "gcsUri": "A String", # The GCS folder containing the Harbor task, e.g. "gs://BUCKET/PATH".
+      "task": "A String", # Required. The Harbor task name, e.g. "django__django-15098".
+    },
+    "labels": { # Optional. Labels for the EvaluationItem.
+      "a_key": "A String",
+    },
+    "metadata": "", # Optional. Metadata for the EvaluationItem.
+    "name": "A String", # Identifier. The resource name of the EvaluationItem. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationMetrics.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationMetrics.html index bc2bc9d6f2..867c026f76 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationMetrics.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationMetrics.html @@ -170,6 +170,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -352,6 +353,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -536,6 +538,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -754,6 +757,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -912,6 +916,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, "name": "A String", # Identifier. The resource name of the EvaluationMetric. Format: `projects/{project}/locations/{location}/evaluationMetrics/{evaluation_metric}` "updateTime": "A String", # Output only. The time when the EvaluationMetric was last updated. @@ -984,6 +1189,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1166,6 +1372,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1350,6 +1557,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1568,6 +1776,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1685,46 +1894,247 @@

Method Details

"mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + }, + }, + "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. + "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. + "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. + "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + ], }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation }, }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. }, - }, - }, - "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. - "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. - "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. - "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + ], }, }, "name": "A String", # Identifier. The resource name of the EvaluationMetric. Format: `projects/{project}/locations/{location}/evaluationMetrics/{evaluation_metric}` @@ -1839,6 +2249,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2021,6 +2432,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2205,6 +2617,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2423,6 +2836,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2540,46 +2954,247 @@

Method Details

"mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + }, + }, + "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. + "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. + "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. + "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + ], }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation }, }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. }, - }, - }, - "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. - "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. - "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. - "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + ], }, }, "name": "A String", # Identifier. The resource name of the EvaluationMetric. Format: `projects/{project}/locations/{location}/evaluationMetrics/{evaluation_metric}` @@ -2665,6 +3280,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2847,6 +3463,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3031,6 +3648,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3249,6 +3867,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3407,6 +4026,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, "name": "A String", # Identifier. The resource name of the EvaluationMetric. Format: `projects/{project}/locations/{location}/evaluationMetrics/{evaluation_metric}` "updateTime": "A String", # Output only. The time when the EvaluationMetric was last updated. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html index d93675df32..908389e6d2 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html @@ -157,6 +157,7 @@

Method Details

"uri": "A String", # Required. The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId }, "evaluationSet": "A String", # The EvaluationSet resource name. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` + "evaluationSetRevision": "A String", # The EvaluationSetRevision resource name. The run evaluates the item revisions frozen in the revision, so later changes to the EvaluationSet and its EvaluationItems do not affect it. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}` }, "displayName": "A String", # Required. The display name of the Evaluation Run. "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Customer-managed encryption key spec for this EvaluationRun. If set, this EvaluationRun will be secured by this key. @@ -196,6 +197,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -406,6 +408,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -587,6 +590,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -765,6 +769,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -973,6 +978,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1155,6 +1161,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1339,6 +1346,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1557,6 +1565,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1715,6 +1724,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, "metricResourceName": "A String", # Optional. The resource name of the metric definition. "predefinedMetricSpec": { # Specification for a pre-defined metric. # Spec for a pre-defined metric. @@ -1746,6 +1956,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1937,6 +2148,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2114,6 +2326,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2318,6 +2531,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2496,6 +2710,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2705,6 +2920,7 @@

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. @@ -5248,6 +5464,9 @@

Method Details

}, "agentRunConfig": { # Configuration for Agent Run. # Optional. Agent run config. "agentEngine": "A String", # Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456 + "dataAgentConfig": { # Config for scraping a Gemini Data Analytics data agent. # Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation. + "dataAgent": "A String", # Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`. + }, "discoveryEngineAssistantConfig": { # Config for scraping a Discovery Engine Assistant. # Optional. Config for scraping a Discovery Engine Assistant. The scraping service runs the assistant via the Discovery Engine AssistantService and returns the resulting trajectory for evaluation. "assistant": "A String", # Required. The resource name of the Discovery Engine Assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}`. For example: `projects/123/locations/global/collections/default_collection/engines/my-engine/assistants/default_assistant`. }, @@ -5286,6 +5505,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5712,6 +5932,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5861,75 +6082,269 @@

Method Details

"targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "model": "A String", # Optional. The fully qualified name of the publisher model or endpoint to use. Anthropic and Llama third-party models are also supported through Model Garden. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Third-party model formats: `projects/{project}/locations/{location}/publishers/anthropic/models/{model}` or `projects/{project}/locations/{location}/publishers/llama/models/{model}` Endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "parallelism": 42, # Optional. The parallelism of the evaluation run for the inference step. If not specified, the default parallelism will be used. - "promptTemplate": { # Prompt template used for inference. # Optional. The prompt template used for inference. The values for variables in the prompt template are defined in EvaluationItem.EvaluationPrompt.PromptTemplateData.values. If not specified, the prompt template in the EvaluationConfig will be used. - "gcsUri": "A String", # Prompt template stored in Cloud Storage. Format: "gs://my-bucket/file-name.txt". - "promptTemplate": "A String", # Inline prompt template. Template variables should be in the format "{var_name}". Example: "Translate the following from {source_lang} to {target_lang}: {text}" - }, - }, - }, - "labels": { # Optional. Labels for the evaluation run. - "a_key": "A String", - }, - "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. - "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` - "state": "A String", # Output only. The state of the evaluation run. -} - - x__xgafv: string, V1 error format. - Allowed values - 1 - v1 error format - 2 - v2 error format - -Returns: - An object of the form: - - { # EvaluationRun is a resource that represents a single evaluation run, which includes a set of prompts, model responses, evaluation configuration and the resulting metrics. - "completionTime": "A String", # Output only. Time when the evaluation run was completed. - "createTime": "A String", # Output only. Time when the evaluation run was created. - "dataSource": { # The data source for the evaluation run. # Required. The data source for the evaluation run. - "bigqueryRequestSet": { # The request set for the evaluation run. # Evaluation data in bigquery. - "candidateResponseColumns": { # Optional. Map of candidate name to candidate response column name. The column will be in evaluation_item.CandidateResponse format. - "a_key": "A String", - }, - "promptColumn": "A String", # Optional. The name of the column that contains the requests to evaluate. This will be in evaluation_item.EvalPrompt format. - "rubricsColumn": "A String", # Optional. The name of the column that contains the rubrics. This is in evaluation_rubric.RubricGroup format. - "samplingConfig": { # The sampling config. # Optional. The sampling config for the bigquery resource. - "samplingCount": 42, # Optional. The total number of logged data to import. If available data is less than the sampling count, all data will be imported. Default is 100. - "samplingDuration": "A String", # Optional. How long to wait before sampling data from the BigQuery table. If not specified, defaults to 0. - "samplingMethod": "A String", # Optional. The sampling method to use. - }, - "uri": "A String", # Required. The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId - }, - "evaluationSet": "A String", # The EvaluationSet resource name. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` - }, - "displayName": "A String", # Required. The display name of the Evaluation Run. - "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Customer-managed encryption key spec for this EvaluationRun. If set, this EvaluationRun will be secured by this key. - "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. - }, - "error": { # 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). # Output only. Only populated when the evaluation run's state is FAILED or CANCELLED. - "code": 42, # The status code, which should be an enum value of google.rpc.Code. - "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use. - { - "a_key": "", # Properties of the object. Contains field @type with type URL. - }, - ], - "message": "A String", # 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. - }, - "evaluationConfig": { # The Evalution configuration used for the evaluation run. # Optional. The configuration used for the evaluation. Optional when analysis_configs is provided. - "allowCrossRegionModel": True or False, # Optional. Allows the evaluation run to use cross region models. When this flag is set, the service may route traffic to other regions if a model is unavailable in the current region (e.g., to a `global` endpoint). If a fully-qualified model endpoint resource name with a different region than the run location is provided elsewhere in the run config, this flag must be set to true or the request will fail. - "autoraterConfig": { # The autorater config used for the evaluation run. # Optional. The autorater config for the evaluation run. - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). - "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. - "A String", - ], - "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. - "A String", - ], + "harborRunConfig": { # Config for running an agent (a coding or custom agent) on a dataset in Harbor format in a sandboxed batch environment. Run metrics (`evaluation_config.metrics`) are optional for runs over Harbor tasks. Each metric scores a task's agent trajectory; the prompt and the response are empty. Predefined metrics that build their rubrics from the trajectory, such as `multi_turn_task_success_v1`, `multi_turn_trajectory_quality_v1` and `multi_turn_tool_use_quality_v1`, are supported. `evaluation_config.rubric_configs`, rubric-based metrics, and LLM-based metrics with a rubrics source are rejected. Metrics that need a text response or a reference, such as computation-based metrics, are accepted but fail on each task. # Optional. Config for running an agent on tasks in Harbor format in a sandboxed batch environment. Its presence routes the run to the Harbor batch inference path; which datasets and tasks run is carried by the `harbor_task` of each evaluation item. If this field is set, the evaluation run must set `service_account`. The Harbor task run in sandbox will use the service account. + "batchJobConfig": { # Configuration for the VM that runs the Harbor tasks. # Optional. Configuration for the VM. + "networkSpec": { # Network spec. # Optional. Network settings for the VM. If unset, the VM uses the project's default network with an external IP address, so it can reach Google APIs and the internet. To turn off internet access, set a network and a subnetwork that has Private Google Access, so that the VM can still reach Cloud Storage, Artifact Registry, and Vertex AI. + "enableInternetAccess": True or False, # Whether to enable public internet access. Default false. + "network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` + }, + }, + "codingAgent": { # A coding agent to run against the Harbor dataset. # The coding agent to run. + "agent": "A String", # The coding agent to run, e.g. "antigravity-cli". + "agentModel": "A String", # Optional. The Vertex AI model the coding agent calls. Only Gemini based Vertex AI models are supported. Accepts the full Vertex AI model resource name of the form projects/{project}/locations/{location}/publishers/{publisher}/models/{model} + "agentModelConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Generation settings of the model that the coding agent calls. If you do not set this field, the coding agent uses its default settings. Only `thinking_config.thinking_level` is supported. The valid levels are `MINIMAL`, `LOW`, `MEDIUM` and `HIGH`. `antigravity-cli` does not accept a level for Gemini 2.5 models. It accepts `MINIMAL` and `MEDIUM` only for Gemini Flash models. If you set a level that is not valid for the coding agent and the model, inference fails for the candidate. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + }, + }, + "model": "A String", # Optional. The fully qualified name of the publisher model or endpoint to use. Anthropic and Llama third-party models are also supported through Model Garden. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Third-party model formats: `projects/{project}/locations/{location}/publishers/anthropic/models/{model}` or `projects/{project}/locations/{location}/publishers/llama/models/{model}` Endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "parallelism": 42, # Optional. The parallelism of the evaluation run for the inference step. If not specified, the default parallelism will be used. + "promptTemplate": { # Prompt template used for inference. # Optional. The prompt template used for inference. The values for variables in the prompt template are defined in EvaluationItem.EvaluationPrompt.PromptTemplateData.values. If not specified, the prompt template in the EvaluationConfig will be used. + "gcsUri": "A String", # Prompt template stored in Cloud Storage. Format: "gs://my-bucket/file-name.txt". + "promptTemplate": "A String", # Inline prompt template. Template variables should be in the format "{var_name}". Example: "Translate the following from {source_lang} to {target_lang}: {text}" + }, + "rawAgentTrajectoryDestination": { # The destination for the raw, unconverted agent trace data the run produces. # Optional. The destination for the raw, unconverted agent trajectory data the run produces. + "bigqueryDestination": { # The BigQuery location for the output content. # BigQuery destination for the raw agent trace data. + "outputUri": "A String", # Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`. + }, + "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Cloud Storage destination for the raw agent trace data. + "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist. + }, + }, + }, + }, + "labels": { # Optional. Labels for the evaluation run. + "a_key": "A String", + }, + "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. + "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` + "serviceAccount": "A String", # Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it. + "state": "A String", # Output only. The state of the evaluation run. +} + + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # EvaluationRun is a resource that represents a single evaluation run, which includes a set of prompts, model responses, evaluation configuration and the resulting metrics. + "completionTime": "A String", # Output only. Time when the evaluation run was completed. + "createTime": "A String", # Output only. Time when the evaluation run was created. + "dataSource": { # The data source for the evaluation run. # Required. The data source for the evaluation run. + "bigqueryRequestSet": { # The request set for the evaluation run. # Evaluation data in bigquery. + "candidateResponseColumns": { # Optional. Map of candidate name to candidate response column name. The column will be in evaluation_item.CandidateResponse format. + "a_key": "A String", + }, + "promptColumn": "A String", # Optional. The name of the column that contains the requests to evaluate. This will be in evaluation_item.EvalPrompt format. + "rubricsColumn": "A String", # Optional. The name of the column that contains the rubrics. This is in evaluation_rubric.RubricGroup format. + "samplingConfig": { # The sampling config. # Optional. The sampling config for the bigquery resource. + "samplingCount": 42, # Optional. The total number of logged data to import. If available data is less than the sampling count, all data will be imported. Default is 100. + "samplingDuration": "A String", # Optional. How long to wait before sampling data from the BigQuery table. If not specified, defaults to 0. + "samplingMethod": "A String", # Optional. The sampling method to use. + }, + "uri": "A String", # Required. The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId + }, + "evaluationSet": "A String", # The EvaluationSet resource name. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` + "evaluationSetRevision": "A String", # The EvaluationSetRevision resource name. The run evaluates the item revisions frozen in the revision, so later changes to the EvaluationSet and its EvaluationItems do not affect it. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}` + }, + "displayName": "A String", # Required. The display name of the Evaluation Run. + "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Customer-managed encryption key spec for this EvaluationRun. If set, this EvaluationRun will be secured by this key. + "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. + }, + "error": { # 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). # Output only. Only populated when the evaluation run's state is FAILED or CANCELLED. + "code": 42, # The status code, which should be an enum value of google.rpc.Code. + "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use. + { + "a_key": "", # Properties of the object. Contains field @type with type URL. + }, + ], + "message": "A String", # 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. + }, + "evaluationConfig": { # The Evalution configuration used for the evaluation run. # Optional. The configuration used for the evaluation. Optional when analysis_configs is provided. + "allowCrossRegionModel": True or False, # Optional. Allows the evaluation run to use cross region models. When this flag is set, the service may route traffic to other regions if a model is unavailable in the current region (e.g., to a `global` endpoint). If a fully-qualified model endpoint resource name with a different region than the run location is provided elsewhere in the run config, this flag must be set to true or the request will fail. + "autoraterConfig": { # The autorater config used for the evaluation run. # Optional. The autorater config for the evaluation run. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], "diarization": True or False, # Optional. Configures speaker diarization. "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. }, @@ -5942,6 +6357,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6152,6 +6568,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6333,6 +6750,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6511,6 +6929,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6719,6 +7138,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6901,6 +7321,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7085,6 +7506,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7303,6 +7725,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7401,65 +7824,266 @@

Method Details

"autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. "modelRoutingPreference": "A String", # The model routing preference. }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + }, + }, + "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. + "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. + "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. + "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. - }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + ], }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation }, }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. }, - }, - }, - "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. - "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. - "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. - "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + ], }, }, "metricResourceName": "A String", # Optional. The resource name of the metric definition. @@ -7492,6 +8116,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7683,6 +8308,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7860,6 +8486,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8064,6 +8691,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8242,6 +8870,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8451,6 +9080,7 @@

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. @@ -10994,6 +11624,9 @@

Method Details

}, "agentRunConfig": { # Configuration for Agent Run. # Optional. Agent run config. "agentEngine": "A String", # Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456 + "dataAgentConfig": { # Config for scraping a Gemini Data Analytics data agent. # Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation. + "dataAgent": "A String", # Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`. + }, "discoveryEngineAssistantConfig": { # Config for scraping a Discovery Engine Assistant. # Optional. Config for scraping a Discovery Engine Assistant. The scraping service runs the assistant via the Discovery Engine AssistantService and returns the resulting trajectory for evaluation. "assistant": "A String", # Required. The resource name of the Discovery Engine Assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}`. For example: `projects/123/locations/global/collections/default_collection/engines/my-engine/assistants/default_assistant`. }, @@ -11032,6 +11665,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -11458,6 +12092,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -11575,37 +12210,221 @@

Method Details

"mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "harborRunConfig": { # Config for running an agent (a coding or custom agent) on a dataset in Harbor format in a sandboxed batch environment. Run metrics (`evaluation_config.metrics`) are optional for runs over Harbor tasks. Each metric scores a task's agent trajectory; the prompt and the response are empty. Predefined metrics that build their rubrics from the trajectory, such as `multi_turn_task_success_v1`, `multi_turn_trajectory_quality_v1` and `multi_turn_tool_use_quality_v1`, are supported. `evaluation_config.rubric_configs`, rubric-based metrics, and LLM-based metrics with a rubrics source are rejected. Metrics that need a text response or a reference, such as computation-based metrics, are accepted but fail on each task. # Optional. Config for running an agent on tasks in Harbor format in a sandboxed batch environment. Its presence routes the run to the Harbor batch inference path; which datasets and tasks run is carried by the `harbor_task` of each evaluation item. If this field is set, the evaluation run must set `service_account`. The Harbor task run in sandbox will use the service account. + "batchJobConfig": { # Configuration for the VM that runs the Harbor tasks. # Optional. Configuration for the VM. + "networkSpec": { # Network spec. # Optional. Network settings for the VM. If unset, the VM uses the project's default network with an external IP address, so it can reach Google APIs and the internet. To turn off internet access, set a network and a subnetwork that has Private Google Access, so that the VM can still reach Cloud Storage, Artifact Registry, and Vertex AI. + "enableInternetAccess": True or False, # Whether to enable public internet access. Default false. + "network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` + }, + }, + "codingAgent": { # A coding agent to run against the Harbor dataset. # The coding agent to run. + "agent": "A String", # The coding agent to run, e.g. "antigravity-cli". + "agentModel": "A String", # Optional. The Vertex AI model the coding agent calls. Only Gemini based Vertex AI models are supported. Accepts the full Vertex AI model resource name of the form projects/{project}/locations/{location}/publishers/{publisher}/models/{model} + "agentModelConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Generation settings of the model that the coding agent calls. If you do not set this field, the coding agent uses its default settings. Only `thinking_config.thinking_level` is supported. The valid levels are `MINIMAL`, `LOW`, `MEDIUM` and `HIGH`. `antigravity-cli` does not accept a level for Gemini 2.5 models. It accepts `MINIMAL` and `MEDIUM` only for Gemini Flash models. If you set a level that is not valid for the coding agent and the model, inference fails for the candidate. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). - }, }, "model": "A String", # Optional. The fully qualified name of the publisher model or endpoint to use. Anthropic and Llama third-party models are also supported through Model Garden. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Third-party model formats: `projects/{project}/locations/{location}/publishers/anthropic/models/{model}` or `projects/{project}/locations/{location}/publishers/llama/models/{model}` Endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "parallelism": 42, # Optional. The parallelism of the evaluation run for the inference step. If not specified, the default parallelism will be used. @@ -11613,6 +12432,14 @@

Method Details

"gcsUri": "A String", # Prompt template stored in Cloud Storage. Format: "gs://my-bucket/file-name.txt". "promptTemplate": "A String", # Inline prompt template. Template variables should be in the format "{var_name}". Example: "Translate the following from {source_lang} to {target_lang}: {text}" }, + "rawAgentTrajectoryDestination": { # The destination for the raw, unconverted agent trace data the run produces. # Optional. The destination for the raw, unconverted agent trajectory data the run produces. + "bigqueryDestination": { # The BigQuery location for the output content. # BigQuery destination for the raw agent trace data. + "outputUri": "A String", # Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`. + }, + "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Cloud Storage destination for the raw agent trace data. + "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist. + }, + }, }, }, "labels": { # Optional. Labels for the evaluation run. @@ -11620,6 +12447,7 @@

Method Details

}, "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` + "serviceAccount": "A String", # Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it. "state": "A String", # Output only. The state of the evaluation run. }
@@ -11691,6 +12519,7 @@

Method Details

"uri": "A String", # Required. The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId }, "evaluationSet": "A String", # The EvaluationSet resource name. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` + "evaluationSetRevision": "A String", # The EvaluationSetRevision resource name. The run evaluates the item revisions frozen in the revision, so later changes to the EvaluationSet and its EvaluationItems do not affect it. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}` }, "displayName": "A String", # Required. The display name of the Evaluation Run. "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Customer-managed encryption key spec for this EvaluationRun. If set, this EvaluationRun will be secured by this key. @@ -11730,6 +12559,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -11940,6 +12770,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -12121,6 +12952,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -12299,6 +13131,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -12507,6 +13340,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -12689,6 +13523,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -12873,6 +13708,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -13091,6 +13927,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -13189,65 +14026,266 @@

Method Details

"autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. "modelRoutingPreference": "A String", # The model routing preference. }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + }, + }, + "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. + "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. + "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. + "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. - }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + ], }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation }, }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. }, - }, - }, - "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. - "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. - "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. - "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + ], }, }, "metricResourceName": "A String", # Optional. The resource name of the metric definition. @@ -13280,6 +14318,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -13471,6 +14510,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -13648,6 +14688,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -13852,6 +14893,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -14030,6 +15072,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -14239,6 +15282,7 @@

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. @@ -16782,6 +17826,9 @@

Method Details

}, "agentRunConfig": { # Configuration for Agent Run. # Optional. Agent run config. "agentEngine": "A String", # Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456 + "dataAgentConfig": { # Config for scraping a Gemini Data Analytics data agent. # Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation. + "dataAgent": "A String", # Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`. + }, "discoveryEngineAssistantConfig": { # Config for scraping a Discovery Engine Assistant. # Optional. Config for scraping a Discovery Engine Assistant. The scraping service runs the assistant via the Discovery Engine AssistantService and returns the resulting trajectory for evaluation. "assistant": "A String", # Required. The resource name of the Discovery Engine Assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}`. For example: `projects/123/locations/global/collections/default_collection/engines/my-engine/assistants/default_assistant`. }, @@ -16820,6 +17867,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -17246,6 +18294,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -17363,37 +18412,221 @@

Method Details

"mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "harborRunConfig": { # Config for running an agent (a coding or custom agent) on a dataset in Harbor format in a sandboxed batch environment. Run metrics (`evaluation_config.metrics`) are optional for runs over Harbor tasks. Each metric scores a task's agent trajectory; the prompt and the response are empty. Predefined metrics that build their rubrics from the trajectory, such as `multi_turn_task_success_v1`, `multi_turn_trajectory_quality_v1` and `multi_turn_tool_use_quality_v1`, are supported. `evaluation_config.rubric_configs`, rubric-based metrics, and LLM-based metrics with a rubrics source are rejected. Metrics that need a text response or a reference, such as computation-based metrics, are accepted but fail on each task. # Optional. Config for running an agent on tasks in Harbor format in a sandboxed batch environment. Its presence routes the run to the Harbor batch inference path; which datasets and tasks run is carried by the `harbor_task` of each evaluation item. If this field is set, the evaluation run must set `service_account`. The Harbor task run in sandbox will use the service account. + "batchJobConfig": { # Configuration for the VM that runs the Harbor tasks. # Optional. Configuration for the VM. + "networkSpec": { # Network spec. # Optional. Network settings for the VM. If unset, the VM uses the project's default network with an external IP address, so it can reach Google APIs and the internet. To turn off internet access, set a network and a subnetwork that has Private Google Access, so that the VM can still reach Cloud Storage, Artifact Registry, and Vertex AI. + "enableInternetAccess": True or False, # Whether to enable public internet access. Default false. + "network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` + }, + }, + "codingAgent": { # A coding agent to run against the Harbor dataset. # The coding agent to run. + "agent": "A String", # The coding agent to run, e.g. "antigravity-cli". + "agentModel": "A String", # Optional. The Vertex AI model the coding agent calls. Only Gemini based Vertex AI models are supported. Accepts the full Vertex AI model resource name of the form projects/{project}/locations/{location}/publishers/{publisher}/models/{model} + "agentModelConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Generation settings of the model that the coding agent calls. If you do not set this field, the coding agent uses its default settings. Only `thinking_config.thinking_level` is supported. The valid levels are `MINIMAL`, `LOW`, `MEDIUM` and `HIGH`. `antigravity-cli` does not accept a level for Gemini 2.5 models. It accepts `MINIMAL` and `MEDIUM` only for Gemini Flash models. If you set a level that is not valid for the coding agent and the model, inference fails for the candidate. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). - }, }, "model": "A String", # Optional. The fully qualified name of the publisher model or endpoint to use. Anthropic and Llama third-party models are also supported through Model Garden. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Third-party model formats: `projects/{project}/locations/{location}/publishers/anthropic/models/{model}` or `projects/{project}/locations/{location}/publishers/llama/models/{model}` Endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "parallelism": 42, # Optional. The parallelism of the evaluation run for the inference step. If not specified, the default parallelism will be used. @@ -17401,6 +18634,14 @@

Method Details

"gcsUri": "A String", # Prompt template stored in Cloud Storage. Format: "gs://my-bucket/file-name.txt". "promptTemplate": "A String", # Inline prompt template. Template variables should be in the format "{var_name}". Example: "Translate the following from {source_lang} to {target_lang}: {text}" }, + "rawAgentTrajectoryDestination": { # The destination for the raw, unconverted agent trace data the run produces. # Optional. The destination for the raw, unconverted agent trajectory data the run produces. + "bigqueryDestination": { # The BigQuery location for the output content. # BigQuery destination for the raw agent trace data. + "outputUri": "A String", # Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`. + }, + "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Cloud Storage destination for the raw agent trace data. + "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist. + }, + }, }, }, "labels": { # Optional. Labels for the evaluation run. @@ -17408,6 +18649,7 @@

Method Details

}, "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` + "serviceAccount": "A String", # Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it. "state": "A String", # Output only. The state of the evaluation run. } @@ -17450,6 +18692,7 @@

Method Details

"uri": "A String", # Required. The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId }, "evaluationSet": "A String", # The EvaluationSet resource name. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` + "evaluationSetRevision": "A String", # The EvaluationSetRevision resource name. The run evaluates the item revisions frozen in the revision, so later changes to the EvaluationSet and its EvaluationItems do not affect it. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}` }, "displayName": "A String", # Required. The display name of the Evaluation Run. "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Customer-managed encryption key spec for this EvaluationRun. If set, this EvaluationRun will be secured by this key. @@ -17489,6 +18732,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -17699,6 +18943,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -17880,6 +19125,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -18058,6 +19304,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -18266,6 +19513,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -18448,6 +19696,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -18632,6 +19881,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -18850,6 +20100,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -18967,46 +20218,247 @@

Method Details

"mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + }, + }, + "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. + "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. + "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. + "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + ], }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation }, }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. }, - }, - }, - "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. - "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. - "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. - "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + ], }, }, "metricResourceName": "A String", # Optional. The resource name of the metric definition. @@ -19039,6 +20491,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -19230,6 +20683,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -19407,6 +20861,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -19611,6 +21066,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -19789,6 +21245,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -19998,6 +21455,7 @@

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. @@ -22541,6 +23999,9 @@

Method Details

}, "agentRunConfig": { # Configuration for Agent Run. # Optional. Agent run config. "agentEngine": "A String", # Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456 + "dataAgentConfig": { # Config for scraping a Gemini Data Analytics data agent. # Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation. + "dataAgent": "A String", # Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`. + }, "discoveryEngineAssistantConfig": { # Config for scraping a Discovery Engine Assistant. # Optional. Config for scraping a Discovery Engine Assistant. The scraping service runs the assistant via the Discovery Engine AssistantService and returns the resulting trajectory for evaluation. "assistant": "A String", # Required. The resource name of the Discovery Engine Assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}`. For example: `projects/123/locations/global/collections/default_collection/engines/my-engine/assistants/default_assistant`. }, @@ -22579,6 +24040,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -23005,6 +24467,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -23154,12 +24617,204 @@

Method Details

"targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, + "harborRunConfig": { # Config for running an agent (a coding or custom agent) on a dataset in Harbor format in a sandboxed batch environment. Run metrics (`evaluation_config.metrics`) are optional for runs over Harbor tasks. Each metric scores a task's agent trajectory; the prompt and the response are empty. Predefined metrics that build their rubrics from the trajectory, such as `multi_turn_task_success_v1`, `multi_turn_trajectory_quality_v1` and `multi_turn_tool_use_quality_v1`, are supported. `evaluation_config.rubric_configs`, rubric-based metrics, and LLM-based metrics with a rubrics source are rejected. Metrics that need a text response or a reference, such as computation-based metrics, are accepted but fail on each task. # Optional. Config for running an agent on tasks in Harbor format in a sandboxed batch environment. Its presence routes the run to the Harbor batch inference path; which datasets and tasks run is carried by the `harbor_task` of each evaluation item. If this field is set, the evaluation run must set `service_account`. The Harbor task run in sandbox will use the service account. + "batchJobConfig": { # Configuration for the VM that runs the Harbor tasks. # Optional. Configuration for the VM. + "networkSpec": { # Network spec. # Optional. Network settings for the VM. If unset, the VM uses the project's default network with an external IP address, so it can reach Google APIs and the internet. To turn off internet access, set a network and a subnetwork that has Private Google Access, so that the VM can still reach Cloud Storage, Artifact Registry, and Vertex AI. + "enableInternetAccess": True or False, # Whether to enable public internet access. Default false. + "network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` + }, + }, + "codingAgent": { # A coding agent to run against the Harbor dataset. # The coding agent to run. + "agent": "A String", # The coding agent to run, e.g. "antigravity-cli". + "agentModel": "A String", # Optional. The Vertex AI model the coding agent calls. Only Gemini based Vertex AI models are supported. Accepts the full Vertex AI model resource name of the form projects/{project}/locations/{location}/publishers/{publisher}/models/{model} + "agentModelConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Generation settings of the model that the coding agent calls. If you do not set this field, the coding agent uses its default settings. Only `thinking_config.thinking_level` is supported. The valid levels are `MINIMAL`, `LOW`, `MEDIUM` and `HIGH`. `antigravity-cli` does not accept a level for Gemini 2.5 models. It accepts `MINIMAL` and `MEDIUM` only for Gemini Flash models. If you set a level that is not valid for the coding agent and the model, inference fails for the candidate. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + }, + }, "model": "A String", # Optional. The fully qualified name of the publisher model or endpoint to use. Anthropic and Llama third-party models are also supported through Model Garden. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Third-party model formats: `projects/{project}/locations/{location}/publishers/anthropic/models/{model}` or `projects/{project}/locations/{location}/publishers/llama/models/{model}` Endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "parallelism": 42, # Optional. The parallelism of the evaluation run for the inference step. If not specified, the default parallelism will be used. "promptTemplate": { # Prompt template used for inference. # Optional. The prompt template used for inference. The values for variables in the prompt template are defined in EvaluationItem.EvaluationPrompt.PromptTemplateData.values. If not specified, the prompt template in the EvaluationConfig will be used. "gcsUri": "A String", # Prompt template stored in Cloud Storage. Format: "gs://my-bucket/file-name.txt". "promptTemplate": "A String", # Inline prompt template. Template variables should be in the format "{var_name}". Example: "Translate the following from {source_lang} to {target_lang}: {text}" }, + "rawAgentTrajectoryDestination": { # The destination for the raw, unconverted agent trace data the run produces. # Optional. The destination for the raw, unconverted agent trajectory data the run produces. + "bigqueryDestination": { # The BigQuery location for the output content. # BigQuery destination for the raw agent trace data. + "outputUri": "A String", # Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`. + }, + "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Cloud Storage destination for the raw agent trace data. + "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist. + }, + }, }, }, "labels": { # Optional. Labels for the evaluation run. @@ -23167,6 +24822,7 @@

Method Details

}, "metadata": "", # Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run. "name": "A String", # Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}` + "serviceAccount": "A String", # Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it. "state": "A String", # Output only. The state of the evaluation run. }, ], diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html index c186cef830..e307374ef9 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html @@ -79,6 +79,11 @@

Instance Methods

Returns the operations Resource.

+

+ revisions() +

+

Returns the revisions Resource.

+

close()

Close httplib2 connections.

@@ -86,7 +91,7 @@

Instance Methods

create(parent, body=None, x__xgafv=None)

Creates an Evaluation Set.

- delete(name, x__xgafv=None)

+ delete(name, force=None, x__xgafv=None)

Deletes an Evaluation Set.

get(name, x__xgafv=None)

@@ -380,6 +385,9 @@

Method Details

"evaluationItems": [ # Required. The EvaluationItems that are part of this dataset. "A String", ], + "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset. + "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH". + }, "metadata": "", # Optional. Metadata for the EvaluationSet. "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` "updateTime": "A String", # Output only. Timestamp when this item was last updated. @@ -655,6 +663,9 @@

Method Details

"evaluationItems": [ # Required. The EvaluationItems that are part of this dataset. "A String", ], + "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset. + "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH". + }, "metadata": "", # Optional. Metadata for the EvaluationSet. "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` "updateTime": "A String", # Output only. Timestamp when this item was last updated. @@ -662,11 +673,12 @@

Method Details

- delete(name, x__xgafv=None) + delete(name, force=None, x__xgafv=None)
Deletes an Evaluation Set.
 
 Args:
   name: string, Required. The name of the EvaluationSet resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` (required)
+  force: boolean, Optional. If set to true, all revisions of this EvaluationSet (and their unreferenced EvaluationItemRevisions) are deleted too. Otherwise the request fails with FAILED_PRECONDITION if the EvaluationSet has any revisions. Fails with FAILED_PRECONDITION even with force if a revision is being created.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -972,6 +984,9 @@ 

Method Details

"evaluationItems": [ # Required. The EvaluationItems that are part of this dataset. "A String", ], + "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset. + "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH". + }, "metadata": "", # Optional. Metadata for the EvaluationSet. "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` "updateTime": "A String", # Output only. Timestamp when this item was last updated. @@ -1281,11 +1296,14 @@

Method Details

"evaluationItems": [ # Required. The EvaluationItems that are part of this dataset. "A String", ], + "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset. + "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH". + }, "metadata": "", # Optional. Metadata for the EvaluationSet. "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` "updateTime": "A String", # Output only. Timestamp when this item was last updated. }, - "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Required. The Cloud Storage location where the resulting EvaluationItem payloads will be stored. + "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Optional. The Cloud Storage location where the resulting EvaluationItem payloads will be stored. Required for every source except `harbor_dataset`, which must not set it. "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist. }, "gcsSource": { # Source for loading data from Cloud Storage. # Google Cloud Storage location. @@ -1295,6 +1313,10 @@

Method Details

"dataFormatVersion": "A String", # Optional. Version of the data format. }, }, + "harborDataset": { # Metadata for a Harbor dataset. # A Harbor dataset source. `gcs_destination` must not be set. + "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH". + }, + "importMode": "A String", # Optional. If set, `evaluation_set.name` selects an existing EvaluationSet to import into, and its other fields are ignored. "inlineSource": { # Wrapper for inline data. # Inline source for small payloads (< 4MB). "content": "A String", # Required. The content of the inline data. "importSchemaConfig": { # Configuration for the input data format. # Required. Schema configuration for the inline data. @@ -1623,6 +1645,9 @@

Method Details

"evaluationItems": [ # Required. The EvaluationItems that are part of this dataset. "A String", ], + "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset. + "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH". + }, "metadata": "", # Optional. Metadata for the EvaluationSet. "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` "updateTime": "A String", # Output only. Timestamp when this item was last updated. @@ -1917,6 +1942,9 @@

Method Details

"evaluationItems": [ # Required. The EvaluationItems that are part of this dataset. "A String", ], + "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset. + "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH". + }, "metadata": "", # Optional. Metadata for the EvaluationSet. "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` "updateTime": "A String", # Output only. Timestamp when this item was last updated. @@ -2193,6 +2221,9 @@

Method Details

"evaluationItems": [ # Required. The EvaluationItems that are part of this dataset. "A String", ], + "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset. + "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH". + }, "metadata": "", # Optional. Metadata for the EvaluationSet. "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` "updateTime": "A String", # Output only. Timestamp when this item was last updated. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.revisions.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.revisions.html new file mode 100644 index 0000000000..5bdab91b8e --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.revisions.html @@ -0,0 +1,1047 @@ + + + +

Agent Platform API . projects . locations . evaluationSets . revisions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, x__xgafv=None)

+

Creates an Evaluation Set Revision: an immutable snapshot of the Evaluation Set and its Evaluation Items. Each entry in the set's `evaluation_items` is replaced by an Evaluation Item Revision of that item. Every Evaluation Item in the set must be of type `HARBOR_TASK`. It must not contain duplicate items. Currently this always creates a new Evaluation Item Revision for every item. Clients must not rely on this: a future version may reuse an item's latest Evaluation Item Revision when the item has not changed since that revision was created.

+

+ delete(name, x__xgafv=None)

+

Deletes an Evaluation Set Revision, then deletes each of its Evaluation Item Revisions that no other Evaluation Set Revision references. Evaluation Runs on the revision and their results are not deleted.

+

+ get(name, x__xgafv=None)

+

Gets an Evaluation Set Revision.

+

+ list(parent, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists the revisions of an Evaluation Set, newest first.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, x__xgafv=None) +
Creates an Evaluation Set Revision: an immutable snapshot of the Evaluation Set and its Evaluation Items. Each entry in the set's `evaluation_items` is replaced by an Evaluation Item Revision of that item. Every Evaluation Item in the set must be of type `HARBOR_TASK`. It must not contain duplicate items. Currently this always creates a new Evaluation Item Revision for every item. Clients must not rely on this: a future version may reuse an item's latest Evaluation Item Revision when the item has not changed since that revision was created.
+
+Args:
+  parent: string, Required. The resource name of the EvaluationSet to create a revision of. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # An immutable snapshot of an EvaluationSet and its EvaluationItems. Evaluation runs on a revision are reproducible because the revision and its item revisions cannot change.
+  "createTime": "A String", # Output only. Timestamp when this revision was created.
+  "name": "A String", # Identifier. The resource name of the EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}`
+  "snapshot": { # EvaluationSet is a collection of related EvaluationItems that are evaluated together. # Output only. A copy of the EvaluationSet at the time the revision was created. Only `display_name`, `metadata` and `labels` are copied from the source set; `agent_configs` is not. `snapshot.name` is the name of the source EvaluationSet, and `snapshot.evaluation_items` contains EvaluationItemRevision resource names instead of EvaluationItem resource names.
+    "agentConfigs": { # Optional. Static configurations for each agent associated with the items in this set. Key: `agent_id` (matches the `author` field in `events`). Value: The static configuration of the agent.
+      "a_key": { # Represents configuration for an Agent.
+        "agentId": "A String", # 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.
+        "agentType": "A String", # 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.
+        "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+        "instruction": "A String", # 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.
+        "subAgents": [ # 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.
+          "A String",
+        ],
+        "tools": [ # Optional. The list of tools available to this agent.
+          { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+            "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+            },
+            "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+              "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                "A String",
+              ],
+              "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+              "environment": "A String", # Required. The target environment where the computer use tool operates.
+              "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                "A String",
+              ],
+            },
+            "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+              "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+              "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                "A String",
+              ],
+            },
+            "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+              "apiKey": "A String", # Required. The API key for ExaAiSearch.
+              "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                "a_key": "", # Properties of the object.
+              },
+            },
+            "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+              { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                  "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                  "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                    # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  ],
+                  "default": "", # Optional. Default value to use if the field is not specified.
+                  "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  },
+                  "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                  "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                    "A String",
+                  ],
+                  "example": "", # Optional. Example of an instance of this schema.
+                  "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                  "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                  "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                  "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                  "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                  "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                  "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                  "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                  "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                  "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                  "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                  "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                  "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  },
+                  "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                    "A String",
+                  ],
+                  "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                  "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                    "A String",
+                  ],
+                  "title": "A String", # Optional. Title for the schema.
+                  "type": "A String", # Optional. Data type of the schema field.
+                },
+                "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                  "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                  "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                    # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  ],
+                  "default": "", # Optional. Default value to use if the field is not specified.
+                  "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  },
+                  "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                  "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                    "A String",
+                  ],
+                  "example": "", # Optional. Example of an instance of this schema.
+                  "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                  "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                  "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                  "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                  "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                  "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                  "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                  "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                  "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                  "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                  "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                  "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                  "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  },
+                  "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                    "A String",
+                  ],
+                  "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                  "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                    "A String",
+                  ],
+                  "title": "A String", # Optional. Title for the schema.
+                  "type": "A String", # Optional. Data type of the schema field.
+                },
+                "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+              },
+            ],
+            "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+              "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+              "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                },
+                "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                },
+              },
+            },
+            "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+              "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+              "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                "A String",
+              ],
+              "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                },
+                "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                },
+              },
+            },
+            "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+              "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+              },
+            },
+            "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+              "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+              "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                "a_key": "", # Properties of the object.
+              },
+              "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+              "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+            },
+            "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+              "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+              "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                  "apiKeyConfig": { # The API secret. # The API secret.
+                    "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                    "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                  },
+                },
+                "apiSpec": "A String", # The API spec that the external API implements.
+                "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                  "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                    "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                    "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                    "httpElementLocation": "A String", # Optional. The location of the API key.
+                    "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                  },
+                  "authType": "A String", # Type of auth scheme.
+                  "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                    "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                  },
+                  "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                    "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                  },
+                  "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                    "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                    "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                  },
+                  "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                    "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                    "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                  },
+                },
+                "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                  "index": "A String", # The ElasticSearch index to use.
+                  "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                  "searchTemplate": "A String", # The ElasticSearch search template to use.
+                },
+                "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                },
+              },
+              "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                  { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                    "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                    "filter": "A String", # 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)
+                  },
+                ],
+                "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+              },
+              "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                  "A String",
+                ],
+                "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                  { # The definition of the Rag resource.
+                    "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                    "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                      "A String",
+                    ],
+                  },
+                ],
+                "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                  "filter": { # Config for filters. # Optional. Config for filters.
+                    "metadataFilter": "A String", # Optional. String for metadata filtering.
+                    "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                    "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                  },
+                  "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                    "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                  },
+                  "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                    "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                      "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                    },
+                    "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                      "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                    },
+                  },
+                  "topK": 42, # Optional. The number of contexts to retrieve.
+                },
+                "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+              },
+            },
+            "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+            },
+          },
+        ],
+      },
+    },
+    "createTime": "A String", # Output only. Timestamp when this item was created.
+    "displayName": "A String", # Required. The display name of the EvaluationSet.
+    "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Customer-managed encryption key spec for this EvaluationSet. If set, this EvaluationSet and its sub-resources will be secured by this key.
+      "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+    },
+    "evaluationItems": [ # Required. The EvaluationItems that are part of this dataset.
+      "A String",
+    ],
+    "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset.
+      "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH".
+    },
+    "metadata": "", # Optional. Metadata for the EvaluationSet.
+    "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`
+    "updateTime": "A String", # Output only. Timestamp when this item was last updated.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, x__xgafv=None) +
Deletes an Evaluation Set Revision, then deletes each of its Evaluation Item Revisions that no other Evaluation Set Revision references. Evaluation Runs on the revision and their results are not deleted.
+
+Args:
+  name: string, Required. The name of the EvaluationSetRevision resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets an Evaluation Set Revision.
+
+Args:
+  name: string, Required. The name of the EvaluationSetRevision resource. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An immutable snapshot of an EvaluationSet and its EvaluationItems. Evaluation runs on a revision are reproducible because the revision and its item revisions cannot change.
+  "createTime": "A String", # Output only. Timestamp when this revision was created.
+  "name": "A String", # Identifier. The resource name of the EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}`
+  "snapshot": { # EvaluationSet is a collection of related EvaluationItems that are evaluated together. # Output only. A copy of the EvaluationSet at the time the revision was created. Only `display_name`, `metadata` and `labels` are copied from the source set; `agent_configs` is not. `snapshot.name` is the name of the source EvaluationSet, and `snapshot.evaluation_items` contains EvaluationItemRevision resource names instead of EvaluationItem resource names.
+    "agentConfigs": { # Optional. Static configurations for each agent associated with the items in this set. Key: `agent_id` (matches the `author` field in `events`). Value: The static configuration of the agent.
+      "a_key": { # Represents configuration for an Agent.
+        "agentId": "A String", # 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.
+        "agentType": "A String", # 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.
+        "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+        "instruction": "A String", # 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.
+        "subAgents": [ # 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.
+          "A String",
+        ],
+        "tools": [ # Optional. The list of tools available to this agent.
+          { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+            "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+            },
+            "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+              "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                "A String",
+              ],
+              "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+              "environment": "A String", # Required. The target environment where the computer use tool operates.
+              "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                "A String",
+              ],
+            },
+            "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+              "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+              "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                "A String",
+              ],
+            },
+            "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+              "apiKey": "A String", # Required. The API key for ExaAiSearch.
+              "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                "a_key": "", # Properties of the object.
+              },
+            },
+            "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+              { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                  "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                  "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                    # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  ],
+                  "default": "", # Optional. Default value to use if the field is not specified.
+                  "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  },
+                  "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                  "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                    "A String",
+                  ],
+                  "example": "", # Optional. Example of an instance of this schema.
+                  "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                  "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                  "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                  "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                  "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                  "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                  "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                  "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                  "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                  "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                  "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                  "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                  "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  },
+                  "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                    "A String",
+                  ],
+                  "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                  "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                    "A String",
+                  ],
+                  "title": "A String", # Optional. Title for the schema.
+                  "type": "A String", # Optional. Data type of the schema field.
+                },
+                "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                  "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                  "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                    # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  ],
+                  "default": "", # Optional. Default value to use if the field is not specified.
+                  "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  },
+                  "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                  "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                    "A String",
+                  ],
+                  "example": "", # Optional. Example of an instance of this schema.
+                  "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                  "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                  "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                  "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                  "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                  "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                  "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                  "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                  "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                  "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                  "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                  "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                  "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  },
+                  "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                    "A String",
+                  ],
+                  "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                  "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                    "A String",
+                  ],
+                  "title": "A String", # Optional. Title for the schema.
+                  "type": "A String", # Optional. Data type of the schema field.
+                },
+                "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+              },
+            ],
+            "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+              "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+              "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                },
+                "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                },
+              },
+            },
+            "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+              "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+              "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                "A String",
+              ],
+              "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                },
+                "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                },
+              },
+            },
+            "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+              "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+              },
+            },
+            "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+              "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+              "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                "a_key": "", # Properties of the object.
+              },
+              "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+              "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+            },
+            "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+              "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+              "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                  "apiKeyConfig": { # The API secret. # The API secret.
+                    "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                    "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                  },
+                },
+                "apiSpec": "A String", # The API spec that the external API implements.
+                "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                  "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                    "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                    "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                    "httpElementLocation": "A String", # Optional. The location of the API key.
+                    "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                  },
+                  "authType": "A String", # Type of auth scheme.
+                  "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                    "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                  },
+                  "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                    "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                  },
+                  "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                    "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                    "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                  },
+                  "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                    "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                    "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                  },
+                },
+                "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                  "index": "A String", # The ElasticSearch index to use.
+                  "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                  "searchTemplate": "A String", # The ElasticSearch search template to use.
+                },
+                "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                },
+              },
+              "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                  { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                    "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                    "filter": "A String", # 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)
+                  },
+                ],
+                "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+              },
+              "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                  "A String",
+                ],
+                "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                  { # The definition of the Rag resource.
+                    "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                    "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                      "A String",
+                    ],
+                  },
+                ],
+                "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                  "filter": { # Config for filters. # Optional. Config for filters.
+                    "metadataFilter": "A String", # Optional. String for metadata filtering.
+                    "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                    "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                  },
+                  "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                    "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                  },
+                  "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                    "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                      "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                    },
+                    "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                      "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                    },
+                  },
+                  "topK": 42, # Optional. The number of contexts to retrieve.
+                },
+                "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+              },
+            },
+            "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+            },
+          },
+        ],
+      },
+    },
+    "createTime": "A String", # Output only. Timestamp when this item was created.
+    "displayName": "A String", # Required. The display name of the EvaluationSet.
+    "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Customer-managed encryption key spec for this EvaluationSet. If set, this EvaluationSet and its sub-resources will be secured by this key.
+      "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+    },
+    "evaluationItems": [ # Required. The EvaluationItems that are part of this dataset.
+      "A String",
+    ],
+    "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset.
+      "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH".
+    },
+    "metadata": "", # Optional. Metadata for the EvaluationSet.
+    "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`
+    "updateTime": "A String", # Output only. Timestamp when this item was last updated.
+  },
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the revisions of an Evaluation Set, newest first.
+
+Args:
+  parent: string, Required. The resource name of the EvaluationSet whose revisions to list. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}` (required)
+  pageSize: integer, Optional. The maximum number of EvaluationSetRevisions to return.
+  pageToken: string, Optional. A page token, received from a previous `ListEvaluationSetRevisions` call. Provide this to retrieve the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for EvaluationManagementService.ListEvaluationSetRevisions.
+  "evaluationSetRevisions": [ # List of EvaluationSetRevisions in the requested page, newest first.
+    { # An immutable snapshot of an EvaluationSet and its EvaluationItems. Evaluation runs on a revision are reproducible because the revision and its item revisions cannot change.
+      "createTime": "A String", # Output only. Timestamp when this revision was created.
+      "name": "A String", # Identifier. The resource name of the EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}`
+      "snapshot": { # EvaluationSet is a collection of related EvaluationItems that are evaluated together. # Output only. A copy of the EvaluationSet at the time the revision was created. Only `display_name`, `metadata` and `labels` are copied from the source set; `agent_configs` is not. `snapshot.name` is the name of the source EvaluationSet, and `snapshot.evaluation_items` contains EvaluationItemRevision resource names instead of EvaluationItem resource names.
+        "agentConfigs": { # Optional. Static configurations for each agent associated with the items in this set. Key: `agent_id` (matches the `author` field in `events`). Value: The static configuration of the agent.
+          "a_key": { # Represents configuration for an Agent.
+            "agentId": "A String", # 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.
+            "agentType": "A String", # 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.
+            "description": "A String", # Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.
+            "instruction": "A String", # 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.
+            "subAgents": [ # 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.
+              "A String",
+            ],
+            "tools": [ # Optional. The list of tools available to this agent.
+              { # Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
+                "codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
+                },
+                "computerUse": { # A tool that enables the model to interact directly with a computer environment. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
+                  "disabledSafetyPolicies": [ # Optional. A list of safety policies to disable for the computer use tool.
+                    "A String",
+                  ],
+                  "enablePromptInjectionDetection": True or False, # Optional. Whether to enable the prompt injection detection check on the computer use request.
+                  "environment": "A String", # Required. The target environment where the computer use tool operates.
+                  "excludedPredefinedFunctions": [ # Optional. A list of predefined functions to explicitly exclude from the model call. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included. Excluding functions allows for a more restricted action space or custom definitions for predefined functions.
+                    "A String",
+                  ],
+                },
+                "enterpriseWebSearch": { # Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. # Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
+                  "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                  "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
+                    "A String",
+                  ],
+                },
+                "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation
+                  "apiKey": "A String", # Required. The API key for ExaAiSearch.
+                  "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
+                    "a_key": "", # Properties of the object.
+                  },
+                },
+                "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
+                  { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+                    "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
+                    "description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+                    "name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
+                    "parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
+                      "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                      "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                        # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      ],
+                      "default": "", # Optional. Default value to use if the field is not specified.
+                      "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      },
+                      "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                      "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                        "A String",
+                      ],
+                      "example": "", # Optional. Example of an instance of this schema.
+                      "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                      "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                      "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                      "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                      "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                      "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                      "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                      "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                      "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                      "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                      "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                      "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                      "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      },
+                      "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                        "A String",
+                      ],
+                      "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                      "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                        "A String",
+                      ],
+                      "title": "A String", # Optional. Title for the schema.
+                      "type": "A String", # Optional. Data type of the schema field.
+                    },
+                    "parametersJsonSchema": "", # Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive with `parameters`.
+                    "response": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
+                      "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                      "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                        # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      ],
+                      "default": "", # Optional. Default value to use if the field is not specified.
+                      "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      },
+                      "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                      "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                        "A String",
+                      ],
+                      "example": "", # Optional. Example of an instance of this schema.
+                      "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                      "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                      "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                      "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                      "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                      "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                      "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                      "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                      "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                      "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                      "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                      "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                      "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      },
+                      "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                        "A String",
+                      ],
+                      "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                      "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                        "A String",
+                      ],
+                      "title": "A String", # Optional. Title for the schema.
+                      "type": "A String", # Optional. Data type of the schema field.
+                    },
+                    "responseJsonSchema": "", # Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.
+                  },
+                ],
+                "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
+                  "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response.
+                  "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset.
+                    "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified.
+                    },
+                    "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).
+                    },
+                  },
+                },
+                "googleSearch": { # GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. # Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
+                  "blockingConfidence": "A String", # Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
+                  "excludeDomains": [ # Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
+                    "A String",
+                  ],
+                  "searchTypes": { # Different types of search that can be enabled on the GoogleSearch tool. # Optional. The set of search types to enable. If not set, web search is enabled by default.
+                    "imageSearch": { # Image search for grounding and related configurations. # Optional. Setting this field enables image search. Image bytes are returned.
+                    },
+                    "webSearch": { # Standard web search for grounding and related configurations. Only text results are returned. # Optional. Setting this field enables web search. Only text results are returned.
+                    },
+                  },
+                },
+                "googleSearchRetrieval": { # Tool to retrieve public web data for grounding, powered by Google. # Optional. Specialized retrieval tool that is powered by Google Search.
+                  "dynamicRetrievalConfig": { # Describes the options to customize dynamic retrieval. # Specifies the dynamic retrieval configuration for the given source.
+                    "dynamicThreshold": 3.14, # Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
+                    "mode": "A String", # The mode of the predictor to be used in dynamic retrieval.
+                  },
+                },
+                "parallelAiSearch": { # ParallelAiSearch tool type. A tool that uses the Parallel.ai search engine for grounding. # Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation
+                  "apiKey": "A String", # Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details.
+                  "customConfigs": { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { "source_policy": { "include_domains": ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
+                    "a_key": "", # Properties of the object.
+                  },
+                  "enableDataRetention": True or False, # Optional. Deprecated: Use `enable_zero_data_retention` instead. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                  "enableZeroDataRetention": True or False, # Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is "false" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is "true", the Parallel Web Search for Grounding - ZDR subscription will be used.
+                },
+                "retrieval": { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
+                  "disableAttribution": True or False, # Optional. Deprecated. This option is no longer supported.
+                  "externalApi": { # Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. # Use data source powered by external API for grounding.
+                    "apiAuth": { # The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. # The authentication config to access the API. Deprecated. Please use auth_config instead.
+                      "apiKeyConfig": { # The API secret. # The API secret.
+                        "apiKeySecretVersion": "A String", # Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}
+                        "apiKeyString": "A String", # The API key string. Either this or `api_key_secret_version` must be set.
+                      },
+                    },
+                    "apiSpec": "A String", # The API spec that the external API implements.
+                    "authConfig": { # Auth configuration to run the extension. # The authentication config to access the API.
+                      "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
+                        "apiKeySecret": "A String", # Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                        "apiKeyString": "A String", # Optional. The API key to be used in the request directly.
+                        "httpElementLocation": "A String", # Optional. The location of the API key.
+                        "name": "A String", # Optional. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.
+                      },
+                      "authType": "A String", # Type of auth scheme.
+                      "googleServiceAccountConfig": { # Config for Google Service Account Authentication. # Config for Google Service Account auth.
+                        "serviceAccount": "A String", # Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.
+                      },
+                      "httpBasicAuthConfig": { # Config for HTTP Basic Authentication. # Config for HTTP Basic auth.
+                        "credentialSecret": "A String", # Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.
+                      },
+                      "oauthConfig": { # Config for user oauth. # Config for user oauth.
+                        "accessToken": "A String", # Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                        "serviceAccount": "A String", # The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.
+                      },
+                      "oidcConfig": { # Config for user OIDC auth. # Config for user OIDC auth.
+                        "idToken": "A String", # OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
+                        "serviceAccount": "A String", # The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
+                      },
+                    },
+                    "elasticSearchParams": { # The search parameters to use for the ELASTIC_SEARCH spec. # Parameters for the elastic search API.
+                      "index": "A String", # The ElasticSearch index to use.
+                      "numHits": 42, # Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.
+                      "searchTemplate": "A String", # The ElasticSearch search template to use.
+                    },
+                    "endpoint": "A String", # The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search
+                    "simpleSearchParams": { # The search parameters to use for SIMPLE_SEARCH spec. # Parameters for the simple search API.
+                    },
+                  },
+                  "vertexAiSearch": { # Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder # Set to use data source powered by Vertex AI Search.
+                    "dataStoreSpecs": [ # Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
+                      { # Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
+                        "dataStore": "A String", # Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                        "filter": "A String", # 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)
+                      },
+                    ],
+                    "datastore": "A String", # Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
+                    "engine": "A String", # Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
+                    "filter": "A String", # Optional. Filter strings to be passed to the search API.
+                    "maxResults": 42, # Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
+                  },
+                  "vertexRagStore": { # Retrieve from Vertex RAG Store for grounding. # Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.
+                    "ragCorpora": [ # Optional. Deprecated. Please use rag_resources instead.
+                      "A String",
+                    ],
+                    "ragResources": [ # Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
+                      { # The definition of the Rag resource.
+                        "ragCorpus": "A String", # Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
+                        "ragFileIds": [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
+                          "A String",
+                        ],
+                      },
+                    ],
+                    "ragRetrievalConfig": { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
+                      "filter": { # Config for filters. # Optional. Config for filters.
+                        "metadataFilter": "A String", # Optional. String for metadata filtering.
+                        "vectorDistanceThreshold": 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
+                        "vectorSimilarityThreshold": 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
+                      },
+                      "hybridSearch": { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
+                        "alpha": 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
+                      },
+                      "ranking": { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
+                        "llmRanker": { # Config for LlmRanker. # Optional. Config for LlmRanker.
+                          "modelName": "A String", # Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
+                        },
+                        "rankService": { # Config for Rank Service. # Optional. Config for Rank Service.
+                          "modelName": "A String", # Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`
+                        },
+                      },
+                      "topK": 42, # Optional. The number of contexts to retrieve.
+                    },
+                    "similarityTopK": 42, # Optional. Number of top k results to return from the selected corpora.
+                    "storeContext": True or False, # Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
+                    "vectorDistanceThreshold": 3.14, # Optional. Only return results with vector distance smaller than the threshold.
+                  },
+                },
+                "urlContext": { # Tool to support URL context. # Optional. Tool to support URL context retrieval.
+                },
+              },
+            ],
+          },
+        },
+        "createTime": "A String", # Output only. Timestamp when this item was created.
+        "displayName": "A String", # Required. The display name of the EvaluationSet.
+        "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Optional. Customer-managed encryption key spec for this EvaluationSet. If set, this EvaluationSet and its sub-resources will be secured by this key.
+          "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+        },
+        "evaluationItems": [ # Required. The EvaluationItems that are part of this dataset.
+          "A String",
+        ],
+        "harborDataset": { # Metadata for a Harbor dataset. # Output only. Set when the items were imported from a Harbor dataset.
+          "gcsUri": "A String", # Optional. The GCS folder containing the Harbor dataset, e.g. "gs://BUCKET/PATH".
+        },
+        "metadata": "", # Optional. Metadata for the EvaluationSet.
+        "name": "A String", # Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`
+        "updateTime": "A String", # Output only. Timestamp when this item was last updated.
+      },
+    },
+  ],
+  "nextPageToken": "A String", # A token to retrieve the next page of results.
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.html b/docs/dyn/aiplatform_v1beta1.projects.locations.html index b38d8c4202..136a9916cb 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.html @@ -99,6 +99,11 @@

Instance Methods

Returns the cachedContents Resource.

+

+ collaborativeProjects() +

+

Returns the collaborativeProjects Resource.

+

customJobs()

@@ -119,6 +124,11 @@

Instance Methods

Returns the deploymentResourcePools Resource.

+

+ detectors() +

+

Returns the detectors Resource.

+

edgeDevices()

@@ -209,6 +219,11 @@

Instance Methods

Returns the interactionsHttp Resource.

+

+ learningSets() +

+

Returns the learningSets Resource.

+

memoryBanks()

@@ -349,6 +364,11 @@

Instance Methods

Returns the taskStores Resource.

+

+ tasks() +

+

Returns the tasks Resource.

+

tensorboards()

@@ -1544,6 +1564,7 @@

Method Details

"spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). }, "fastTryoutEnabled": True or False, # Optional. If true, enable the QMT fast tryout feature for this model if possible. + "serviceAccount": "A String", # Optional. The service account that the container of the deployed model runs as. Specify the email address of the service account. If not specified, the container runs as a service account that has no access to the resource project. Users deploying the model must have the `iam.serviceAccounts.actAs` permission on this service account. "systemLabels": { # Optional. System labels for Model Garden deployments. These labels are managed by Google and for tracking purposes only. "a_key": "A String", }, @@ -1860,6 +1881,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2070,6 +2092,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2252,6 +2275,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2436,6 +2460,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2654,6 +2679,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2812,6 +2838,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, ], "outputConfig": { # Config for evaluation output. # Required. Config for evaluation output. @@ -2885,6 +3112,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5700,6 +5928,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5882,6 +6111,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6066,6 +6296,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6284,6 +6515,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6442,68 +6674,270 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, - }, - "metricResourceName": "A String", # Optional. Resource name for registered metric. - }, - ], - "metrics": [ # The metrics used for evaluation. Currently, we only support evaluating a single metric. If multiple metrics are provided, only the first one will be evaluated. - { # The metric used for running evaluations. - "aggregationMetrics": [ # Optional. The aggregation metrics to use. - "A String", - ], - "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. - "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. - }, - "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. - "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. - "a_key": "", # Properties of the object. - }, - "type": "A String", # Required. The type of the computation based metric. - }, - "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. - "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used; requests from regions where the sandbox is unavailable will fail with UNIMPLEMENTED. - "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. - }, - "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. - }, - "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. - "additionalConfig": { # Optional. Optional additional configuration for the metric. - "a_key": "", # Properties of the object. - }, - "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). - "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. - "A String", - ], - "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. - "A String", - ], - "diarization": True or False, # Optional. Configures speaker diarization. - "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. - }, - "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. - "A String", - ], - "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. - "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. - "A String", - ], - }, - "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. - "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: }, - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, + }, + "metricResourceName": "A String", # Optional. Resource name for registered metric. + }, + ], + "metrics": [ # The metrics used for evaluation. Currently, we only support evaluating a single metric. If multiple metrics are provided, only the first one will be evaluated. + { # The metric used for running evaluations. + "aggregationMetrics": [ # Optional. The aggregation metrics to use. + "A String", + ], + "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. + "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + }, + "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. + "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. + "a_key": "", # Properties of the object. + }, + "type": "A String", # Required. The type of the computation based metric. + }, + "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used; requests from regions where the sandbox is unavailable will fail with UNIMPLEMENTED. + "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. + }, + "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. + }, + "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. + "additionalConfig": { # Optional. Optional additional configuration for the metric. + "a_key": "", # Properties of the object. + }, + "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. "personGeneration": "A String", # Optional. Controls whether the model can generate people. @@ -6676,6 +7110,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6860,6 +7295,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7078,6 +7514,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7236,6 +7673,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, ], "metricxInput": { # Input for MetricX metric. # Input for Metricx metric. @@ -8531,6 +9169,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8709,6 +9348,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8947,6 +9587,7 @@

Method Details

}, ], "evaluationRequest": "A String", # Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item} + "evaluationRequestRevision": "A String", # Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`. "evaluationRun": "A String", # Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run} "metadata": "", # Optional. Metadata about the evaluation result. "metric": "A String", # Required. The metric that was evaluated. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html b/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html index 554284553a..271ba2814e 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html @@ -327,6 +327,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -537,7 +538,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -761,7 +762,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -2436,7 +2437,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -2623,6 +2624,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -2884,6 +2886,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -3094,7 +3097,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -3318,7 +3321,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -4993,7 +4996,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -5180,6 +5183,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -5443,6 +5447,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -5653,7 +5658,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -5877,7 +5882,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -7552,7 +7557,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -7739,6 +7744,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -8009,6 +8015,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -8219,7 +8226,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -8443,7 +8450,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -10118,7 +10125,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -10305,6 +10312,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -10556,6 +10564,7 @@

Method Details

"uri": "A String", # The URI of the video. }, }, + "continuationToken": "A String", # Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding. "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). "envId": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. "environmentId": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. @@ -10766,7 +10775,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -10990,7 +10999,7 @@

Method Details

}, "text": { # Configuration for text output format. "mimeType": "A String", # The MIME type of the text output. - "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. + "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -12665,7 +12674,7 @@

Method Details

"function": { # A tool that can be used by the model. # A function that can be used by the model. "description": "A String", # A description of the function. "name": "A String", # The name of the function. - "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. + "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced. "boolValue": True or False, # Represents a boolean value. "contentValue": { # The content of the response. # Represents rich content (text, image, etc.). "audio": { # An audio content block. @@ -12852,6 +12861,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -12896,6 +12906,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -14259,6 +14270,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -14297,6 +14309,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.learningSets.html b/docs/dyn/aiplatform_v1beta1.projects.locations.learningSets.html new file mode 100644 index 0000000000..aea555e275 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.learningSets.html @@ -0,0 +1,91 @@ + + + +

Agent Platform API . projects . locations . learningSets

+

Instance Methods

+

+ operations() +

+

Returns the operations Resource.

+ +

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.learningSets.operations.html b/docs/dyn/aiplatform_v1beta1.projects.locations.learningSets.operations.html new file mode 100644 index 0000000000..961c99bea9 --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.learningSets.operations.html @@ -0,0 +1,272 @@ + + + +

Agent Platform API . projects . locations . learningSets . operations

+

Instance Methods

+

+ cancel(name, x__xgafv=None)

+

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`.

+

+ close()

+

Close httplib2 connections.

+

+ delete(name, x__xgafv=None)

+

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.

+

+ get(name, x__xgafv=None)

+

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.

+

+ list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ wait(name, timeout=None, x__xgafv=None)

+

Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.

+

Method Details

+
+ cancel(name, x__xgafv=None) +
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`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ delete(name, x__xgafv=None) +
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`.
+
+Args:
+  name: string, The name of the operation resource to be deleted. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ get(name, x__xgafv=None) +
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.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation's parent resource. (required)
+  filter: string, The standard list filter.
+  pageSize: integer, The standard list page size.
+  pageToken: string, The standard list page token.
+  returnPartialSuccess: boolean, 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.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Operations.ListOperations.
+  "nextPageToken": "A String", # The standard List next-page token.
+  "operations": [ # A list of operations that matches the specified filter in the request.
+    { # This resource represents a long-running operation that is the result of a network API call.
+      "done": True or False, # 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.
+      "error": { # 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). # The error result of the operation in case of failure or cancellation.
+        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+          {
+            "a_key": "", # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+        "message": "A String", # 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.
+      },
+      "metadata": { # 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.
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+      "name": "A String", # 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}`.
+      "response": { # 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`.
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+  "unreachable": [ # 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.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ wait(name, timeout=None, x__xgafv=None) +
Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.
+
+Args:
+  name: string, The name of the operation resource to wait on. (required)
+  timeout: string, The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.monitoredAgents.analyzedSessions.html b/docs/dyn/aiplatform_v1beta1.projects.locations.monitoredAgents.analyzedSessions.html index bee324a5a6..b7043f9415 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.monitoredAgents.analyzedSessions.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.monitoredAgents.analyzedSessions.html @@ -128,6 +128,9 @@

Method Details

"monitoredAgent": "A String", # The MonitoredAgent resource name. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}` "severities": { # Map of severity level (string representation of Severity) to detector summaries aggregated across all sessions for this agent. The key is the string representation of Severity enum: "SEVERITY_UNSPECIFIED", "SEVERITY_CRITICAL", "SEVERITY_HIGH", "SEVERITY_MEDIUM", "SEVERITY_LOW". "a_key": { # Breaks down anomalies by severity. + "detectorDisplayNames": { # Output only. The display names of the customer-defined detectors in `detector_ids`, keyed by detector ID. A detector ID with no entry -- a Google-managed detector, or a customer-defined detector that has since been deleted -- has no display name. + "a_key": "A String", + }, "detectorIds": [ # The list of detectors summaries for this severity level. "A String", ], @@ -145,6 +148,9 @@

Method Details

"llmScannedSessionsCount": 42, # Output only. The number of distinct sessions in the time window that were scanned by the LLM judge. "severities": { # The list of severity summaries for the analyzed sessions. The key is the string representation of Severity enum: "SEVERITY_UNSPECIFIED", "SEVERITY_CRITICAL", "SEVERITY_HIGH", "SEVERITY_MEDIUM", "SEVERITY_LOW". "a_key": { # Breaks down anomalies by severity. + "detectorDisplayNames": { # Output only. The display names of the customer-defined detectors in `detector_ids`, keyed by detector ID. A detector ID with no entry -- a Google-managed detector, or a customer-defined detector that has since been deleted -- has no display name. + "a_key": "A String", + }, "detectorIds": [ # The list of detectors summaries for this severity level. "A String", ], @@ -222,6 +228,9 @@

Method Details

"sessionState": "A String", # Output only. The state of the session. "severities": { # Output only. Map of severity counts for listing analyzed sessions. The key is the string representation of Severity. Populated in BASIC view only. "a_key": { # Breaks down anomalies by severity. + "detectorDisplayNames": { # Output only. The display names of the customer-defined detectors in `detector_ids`, keyed by detector ID. A detector ID with no entry -- a Google-managed detector, or a customer-defined detector that has since been deleted -- has no display name. + "a_key": "A String", + }, "detectorIds": [ # The list of detectors summaries for this severity level. "A String", ], @@ -285,6 +294,9 @@

Method Details

"sessionState": "A String", # Output only. The state of the session. "severities": { # Output only. Map of severity counts for listing analyzed sessions. The key is the string representation of Severity. Populated in BASIC view only. "a_key": { # Breaks down anomalies by severity. + "detectorDisplayNames": { # Output only. The display names of the customer-defined detectors in `detector_ids`, keyed by detector ID. A detector ID with no entry -- a Google-managed detector, or a customer-defined detector that has since been deleted -- has no display name. + "a_key": "A String", + }, "detectorIds": [ # The list of detectors summaries for this severity level. "A String", ], @@ -302,6 +314,9 @@

Method Details

"llmScannedSessionsCount": 42, # Output only. The number of distinct sessions in the time window that were scanned by the LLM judge. "severities": { # The list of severity summaries for the analyzed sessions. The key is the string representation of Severity enum: "SEVERITY_UNSPECIFIED", "SEVERITY_CRITICAL", "SEVERITY_HIGH", "SEVERITY_MEDIUM", "SEVERITY_LOW". "a_key": { # Breaks down anomalies by severity. + "detectorDisplayNames": { # Output only. The display names of the customer-defined detectors in `detector_ids`, keyed by detector ID. A detector ID with no entry -- a Google-managed detector, or a customer-defined detector that has since been deleted -- has no display name. + "a_key": "A String", + }, "detectorIds": [ # The list of detectors summaries for this severity level. "A String", ], diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimeTemplates.html b/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimeTemplates.html index a8f2fb4b8b..557ed02bd6 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimeTemplates.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimeTemplates.html @@ -103,6 +103,9 @@

Instance Methods

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates a NotebookRuntimeTemplate.

+

+ setDefault(parent, body=None, x__xgafv=None)

+

Sets the default NotebookRuntimeTemplate for a Location.

setIamPolicy(resource, body=None, x__xgafv=None)

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

@@ -702,6 +705,111 @@

Method Details

}
+
+ setDefault(parent, body=None, x__xgafv=None) +
Sets the default NotebookRuntimeTemplate for a Location.
+
+Args:
+  parent: string, Required. The resource name of the Location to set the default NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for NotebookService.SetDefaultNotebookRuntimeTemplate.
+  "name": "A String", # Required. The resource name of the NotebookRuntimeTemplate to set as default. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for NotebookService.SetDefaultNotebookRuntimeTemplate.
+  "notebookRuntimeTemplate": { # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. # The NotebookRuntimeTemplate that was set as default.
+    "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created.
+    "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage.
+      "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB).
+      "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput)
+    },
+    "description": "A String", # The description of the NotebookRuntimeTemplate.
+    "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters.
+    "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Customer-managed encryption key spec for the notebook runtime.
+      "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+    },
+    "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
+    "eucConfig": { # The euc configuration of NotebookRuntimeTemplate. # EUC configuration of the NotebookRuntimeTemplate.
+      "bypassActasCheck": True or False, # Output only. Whether ActAs check is bypassed for service account attached to the VM. If false, we need ActAs check for the default Compute Engine Service account. When a Runtime is created, a VM is allocated using Default Compute Engine Service Account. Any user requesting to use this Runtime requires Service Account User (ActAs) permission over this SA. If true, Runtime owner is using EUC and does not require the above permission as VM no longer use default Compute Engine SA, but a P4SA.
+      "eucDisabled": True or False, # Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. In proto3, the default value of a boolean is false. In this way, by default EUC will be enabled for NotebookRuntimeTemplate.
+    },
+    "idleShutdownConfig": { # The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field. # The idle shutdown configuration of NotebookRuntimeTemplate. This config will only be set when idle shutdown is enabled.
+      "idleShutdownDisabled": True or False, # Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate.
+      "idleTimeout": "A String", # Required. Duration is accurate to the second. In Notebook, Idle Timeout is accurate to minute so the range of idle_timeout (second) is: 10 * 60 ~ 1440 * 60.
+    },
+    "isDefault": True or False, # Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified.
+    "labels": { # The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
+      "a_key": "A String",
+    },
+    "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template.
+      "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled.
+      "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count.
+      "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1.
+      "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
+      "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure.
+      "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments.
+      "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation.
+        "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value.
+        "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type.
+        "values": [ # Optional. Corresponds to the label values of a reservation resource. This must be the resource name of the reservation, reservation block, or reservation sub- block.
+          "A String",
+        ],
+      },
+      "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
+    },
+    "name": "A String", # The resource name of the NotebookRuntimeTemplate.
+    "networkSpec": { # Network spec. # Optional. Network spec.
+      "enableInternetAccess": True or False, # Whether to enable public internet access. Default false.
+      "network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks)
+      "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}`
+    },
+    "networkTags": [ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).
+      "A String",
+    ],
+    "notebookRuntimeType": "A String", # Optional. Immutable. The type of the notebook runtime template.
+    "reservationAffinity": { # Notebook Reservation Affinity for consuming Zonal reservation. # Optional. Reservation Affinity of the notebook runtime template.
+      "consumeReservationType": "A String", # Required. Specifies the type of reservation from which this instance can consume resources: RESERVATION_ANY (default), RESERVATION_SPECIFIC, or RESERVATION_NONE. See Consuming reserved instances for examples.
+      "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a RESERVATION_SPECIFIC by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
+      "values": [ # Optional. Corresponds to the label values of a reservation resource. This must be the full path name of Reservation.
+        "A String",
+      ],
+    },
+    "serviceAccount": "A String", # Deprecated: This field is ignored and the "Vertex AI Notebook Service Account" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.
+    "shieldedVmConfig": { # A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). # Optional. Immutable. Runtime Shielded VM spec.
+      "enableSecureBoot": True or False, # Defines whether the instance has [Secure Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.
+    },
+    "softwareConfig": { # Notebook Software Config. This is passed to the backend when user makes software configurations in UI. # Optional. The notebook software configuration of the notebook runtime.
+      "colabImage": { # Colab image of the runtime. # Optional. Google-managed NotebookRuntime colab image.
+        "description": "A String", # Output only. A human-readable description of the specified colab image release, populated by the system. Example: "Python 3.10", "Latest - current Python 3.11"
+        "releaseName": "A String", # Optional. The release name of the NotebookRuntime Colab image, e.g. "py310". If not specified, detault to the latest release.
+      },
+      "env": [ # Optional. Environment variables to be passed to the container. Maximum limit is 100.
+        { # Represents an environment variable present in a Container or Python Module.
+          "name": "A String", # Required. Name of the environment variable. Must be a valid C identifier.
+          "value": "A String", # Required. Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
+        },
+      ],
+      "postStartupScriptConfig": { # Post startup script config. # Optional. Post startup script config.
+        "postStartupScript": "A String", # Optional. Post startup script to run after runtime is started.
+        "postStartupScriptBehavior": "A String", # Optional. Post startup script behavior that defines download and execution behavior.
+        "postStartupScriptUrl": "A String", # Optional. Post startup script url to download. Example: `gs://bucket/script.sh`
+      },
+    },
+    "updateTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was most recently updated.
+  },
+}
+
+
setIamPolicy(resource, body=None, x__xgafv=None)
Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.onlineEvaluators.html b/docs/dyn/aiplatform_v1beta1.projects.locations.onlineEvaluators.html
index 6ad6af6293..3fe649cd01 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.onlineEvaluators.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.onlineEvaluators.html
@@ -289,6 +289,7 @@ 

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -471,6 +472,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -655,6 +657,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -873,6 +876,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1031,6 +1035,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, "metricResourceName": "A String", # Optional. Resource name for registered metric. }, @@ -1250,6 +1455,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1432,6 +1638,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1616,6 +1823,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1834,6 +2042,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1992,76 +2201,277 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, - }, - "metricResourceName": "A String", # Optional. Resource name for registered metric. - }, - ], - "name": "A String", # Identifier. The resource name of the OnlineEvaluator. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}. - "state": "A String", # Output only. The state of the OnlineEvaluator. - "stateDetails": [ # Output only. Contains additional information about the state of the OnlineEvaluator. This is used to provide more details in the event of a failure. - { # Contains additional information about the state of the OnlineEvaluator. - "message": "A String", # Output only. Human-readable message describing the state of the OnlineEvaluator. - }, - ], - "updateTime": "A String", # Output only. Timestamp when the OnlineEvaluator was last updated. -}
-
- -
- list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists the OnlineEvaluators for the given project and location.
-
-Args:
-  parent: string, Required. The parent resource of the OnlineEvaluators to list. Format: projects/{project}/locations/{location}. (required)
-  filter: string, Optional. Standard list filter. Supported fields: * `create_time` * `update_time` * `agent_resource` Example: `create_time>"2026-01-01T00:00:00-04:00"` where the timestamp is in RFC 3339 format) Based on aip.dev/160.
-  orderBy: string, Optional. A comma-separated list of fields to order by. The default sorting order is ascending. Use "desc" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`. Based on aip.dev/132.
-  pageSize: integer, Optional. The maximum number of OnlineEvaluators to return. The service may return fewer than this value. If unspecified, at most 100 OnlineEvaluators will be returned. The maximum value is 100; values above 100 will be coerced to 100. Based on aip.dev/158.
-  pageToken: string, Optional. A token identifying a page of results the server should return. Based on aip.dev/158.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for ListOnlineEvaluators.
-  "nextPageToken": "A String", # A token to retrieve the next page. Absence of this field indicates there are no subsequent pages.
-  "onlineEvaluators": [ # A list of OnlineEvaluators matching the request.
-    { # An OnlineEvaluator contains the configuration for an Online Evaluation.
-      "agentResource": "A String", # Required. Immutable. The name of the agent that the OnlineEvaluator evaluates periodically. This value is used to filter the traces with a matching cloud.resource_id and link the evaluation results with relevant dashboards/UIs. This field is immutable. Once set, it cannot be changed.
-      "cloudObservability": { # Data source for the OnlineEvaluator, based on Google Cloud Observability stack (Cloud Trace & Cloud Logging). # Data source for the OnlineEvaluator, based on Google Cloud Observability stack (Cloud Trace & Cloud Logging).
-        "logView": "A String", # Optional. Optional log view that will be used to query logs. If empty, the project's default view (`projects/{project_id}`) will be used.
-        "openTelemetry": { # Configuration for data source following OpenTelemetry. # Data source follows OpenTelemetry convention.
-          "semconvVersion": "A String", # Required. Defines which version OTel Semantic Convention the data follows. Can be "1.39.0" or newer.
-        },
-        "sessionScope": { # If chosen, the online evaluator will evaluate sessions matching specified `filter`. A session is a group of traces with a common `gen_ai.conversation.id`. # Scope online evaluation to OTel sessions (i.e. group of traces with the same conversation ID).
-          "filter": [ # Optional. A list of predicates to filter sessions. Multiple predicates are combined using AND. The maximum number of predicates is 10.
-            { # Defines a single filter predicate.
-              "duration": { # Defines a predicate for filtering based on a numeric value. # Filter on the duration of a session (in seconds).
-                "comparisonOperator": "A String", # Required. The comparison operator to apply.
-                "value": 3.14, # Required. The value to compare against.
-              },
-              "modelCallErrors": { # Defines a predicate for filtering based on a numeric value. # Filter on the number of LLM call errors within a session.
-                "comparisonOperator": "A String", # Required. The comparison operator to apply.
-                "value": 3.14, # Required. The value to compare against.
-              },
-              "modelCalls": { # Defines a predicate for filtering based on a numeric value. # Filter on the number of underlying LLM calls within a session.
-                "comparisonOperator": "A String", # Required. The comparison operator to apply.
-                "value": 3.14, # Required. The value to compare against.
-              },
-              "serviceVersion": { # Defines a predicate for filtering based on a string value. # Filter on the versions that served a session (`service.version` OTel resource attribute); matches if any of them is listed. At most one is allowed. On Vertex AI Agent Engine, this is the runtime revision id, currently set only for agents created via v1beta1.
-                "values": [ # Required. The values to match exactly (case-sensitive). Requires 1 to 20 values, each at most 128 characters long.
-                  "A String",
-                ],
-              },
-              "toolCallErrors": { # Defines a predicate for filtering based on a numeric value. # Filter on the number of tool call errors within a session.
-                "comparisonOperator": "A String", # Required. The comparison operator to apply.
-                "value": 3.14, # Required. The value to compare against.
+        "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric.
+          "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace.
+            "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent.
+              "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]:
+            },
+            "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression.
+              "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace.
+                "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive.
+                "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept.
               },
-              "toolCalls": { # Defines a predicate for filtering based on a numeric value. # Filter on the number of underlying tool calls within a session.
-                "comparisonOperator": "A String", # Required. The comparison operator to apply.
-                "value": 3.14, # Required. The value to compare against.
+            },
+          },
+          "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score.
+            { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps.
+              "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used.
+                "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+                "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
+                "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
+                  "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+                  "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition).
+                    "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards.
+                      "A String",
+                    ],
+                    "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms.
+                      "A String",
+                    ],
+                    "diarization": True or False, # Optional. Configures speaker diarization.
+                    "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically.
+                    },
+                    "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection.
+                      "A String",
+                    ],
+                    "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio.
+                      "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified.
+                        "A String",
+                      ],
+                    },
+                    "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`.
+                    "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it.
+                    "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation.
+                  },
+                  "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+                  "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+                  "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+                  "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead.
+                    "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+                    "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+                      "compressionQuality": 42, # Optional. The compression quality of the output image.
+                      "mimeType": "A String", # Optional. The image format that the output should be saved as.
+                    },
+                    "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+                    "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+                    "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+                  },
+                  "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+                  "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+                  "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+                  "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+                    "featureSelectionPreference": "A String", # Required. Feature selection preference.
+                  },
+                  "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+                  "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery.
+                    { # Configuration for the model to configure output formatting and delivery.
+                      "audio": { # Configuration for audio-specific output formatting. # Audio output format.
+                        "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+                        "delivery": "A String", # Optional. Delivery mode for the generated content.
+                        "mimeType": "A String", # Optional. The MIME type of the audio output.
+                        "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz.
+                      },
+                      "image": { # Configuration for image-specific output formatting. # Image output format.
+                        "aspectRatio": "A String", # Optional. The aspect ratio for the image output.
+                        "delivery": "A String", # Optional. Delivery mode for the generated content.
+                        "imageSize": "A String", # Optional. The size of the image output.
+                        "mimeType": "A String", # Optional. The MIME type of the image output.
+                      },
+                      "text": { # Configuration for text-specific output formatting. # Text output format.
+                        "mimeType": "A String", # Optional. The IANA standard MIME type of the response.
+                        "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON.
+                      },
+                      "video": { # Configuration for video-specific output formatting. # Video output format.
+                        "aspectRatio": "A String", # The aspect ratio for the video output.
+                        "delivery": "A String", # Optional. Delivery mode for the generated content.
+                        "duration": "A String", # Optional. The duration for the video output.
+                        "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI.
+                        "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k".
+                      },
+                    },
+                  ],
+                  "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead.
+                  "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+                  "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead.
+                  "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+                    "A String",
+                  ],
+                  "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead.
+                    "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                    "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                      # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                    ],
+                    "default": "", # Optional. Default value to use if the field is not specified.
+                    "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                      "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                    },
+                    "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                    "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                      "A String",
+                    ],
+                    "example": "", # Optional. Example of an instance of this schema.
+                    "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                    "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                    "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                    "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                    "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                    "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                    "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                    "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                    "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                    "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                    "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                    "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                    "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                      "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                    },
+                    "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                      "A String",
+                    ],
+                    "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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
+                    "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                      "A String",
+                    ],
+                    "title": "A String", # Optional. Title for the schema.
+                    "type": "A String", # Optional. Data type of the schema field.
+                  },
+                  "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+                    "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+                      "modelRoutingPreference": "A String", # The model routing preference.
+                    },
+                    "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+                      "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
+                    },
+                  },
+                  "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+                  "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+                    "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+                    "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+                      "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                        { # Configuration for a single speaker in a multi-speaker setup.
+                          "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                          "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                            "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                              "voiceName": "A String", # The name of the prebuilt voice to use.
+                            },
+                            "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                              "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                              "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                            },
+                            "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`).
+                          },
+                        },
+                      ],
+                    },
+                    "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+                      "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                        "voiceName": "A String", # The name of the prebuilt voice to use.
+                      },
+                      "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                        "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                        "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                      },
+                      "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`).
+                    },
+                  },
+                  "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+                    "A String",
+                  ],
+                  "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+                  "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+                    "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+                    "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+                    "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+                  },
+                  "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+                  "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+                  "translationConfig": { # Config for translation features. # Optional. Config for translation.
+                    "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language.
+                    "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr").
+                  },
+                },
+                "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+              },
+              "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`.
+              "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response.
+                "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response.
+                  "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used.
+                  "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation
+                },
+              },
+              "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`.
+            },
+          ],
+        },
+      },
+      "metricResourceName": "A String", # Optional. Resource name for registered metric.
+    },
+  ],
+  "name": "A String", # Identifier. The resource name of the OnlineEvaluator. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.
+  "state": "A String", # Output only. The state of the OnlineEvaluator.
+  "stateDetails": [ # Output only. Contains additional information about the state of the OnlineEvaluator. This is used to provide more details in the event of a failure.
+    { # Contains additional information about the state of the OnlineEvaluator.
+      "message": "A String", # Output only. Human-readable message describing the state of the OnlineEvaluator.
+    },
+  ],
+  "updateTime": "A String", # Output only. Timestamp when the OnlineEvaluator was last updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the OnlineEvaluators for the given project and location.
+
+Args:
+  parent: string, Required. The parent resource of the OnlineEvaluators to list. Format: projects/{project}/locations/{location}. (required)
+  filter: string, Optional. Standard list filter. Supported fields: * `create_time` * `update_time` * `agent_resource` Example: `create_time>"2026-01-01T00:00:00-04:00"` where the timestamp is in RFC 3339 format) Based on aip.dev/160.
+  orderBy: string, Optional. A comma-separated list of fields to order by. The default sorting order is ascending. Use "desc" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`. Based on aip.dev/132.
+  pageSize: integer, Optional. The maximum number of OnlineEvaluators to return. The service may return fewer than this value. If unspecified, at most 100 OnlineEvaluators will be returned. The maximum value is 100; values above 100 will be coerced to 100. Based on aip.dev/158.
+  pageToken: string, Optional. A token identifying a page of results the server should return. Based on aip.dev/158.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListOnlineEvaluators.
+  "nextPageToken": "A String", # A token to retrieve the next page. Absence of this field indicates there are no subsequent pages.
+  "onlineEvaluators": [ # A list of OnlineEvaluators matching the request.
+    { # An OnlineEvaluator contains the configuration for an Online Evaluation.
+      "agentResource": "A String", # Required. Immutable. The name of the agent that the OnlineEvaluator evaluates periodically. This value is used to filter the traces with a matching cloud.resource_id and link the evaluation results with relevant dashboards/UIs. This field is immutable. Once set, it cannot be changed.
+      "cloudObservability": { # Data source for the OnlineEvaluator, based on Google Cloud Observability stack (Cloud Trace & Cloud Logging). # Data source for the OnlineEvaluator, based on Google Cloud Observability stack (Cloud Trace & Cloud Logging).
+        "logView": "A String", # Optional. Optional log view that will be used to query logs. If empty, the project's default view (`projects/{project_id}`) will be used.
+        "openTelemetry": { # Configuration for data source following OpenTelemetry. # Data source follows OpenTelemetry convention.
+          "semconvVersion": "A String", # Required. Defines which version OTel Semantic Convention the data follows. Can be "1.39.0" or newer.
+        },
+        "sessionScope": { # If chosen, the online evaluator will evaluate sessions matching specified `filter`. A session is a group of traces with a common `gen_ai.conversation.id`. # Scope online evaluation to OTel sessions (i.e. group of traces with the same conversation ID).
+          "filter": [ # Optional. A list of predicates to filter sessions. Multiple predicates are combined using AND. The maximum number of predicates is 10.
+            { # Defines a single filter predicate.
+              "duration": { # Defines a predicate for filtering based on a numeric value. # Filter on the duration of a session (in seconds).
+                "comparisonOperator": "A String", # Required. The comparison operator to apply.
+                "value": 3.14, # Required. The value to compare against.
+              },
+              "modelCallErrors": { # Defines a predicate for filtering based on a numeric value. # Filter on the number of LLM call errors within a session.
+                "comparisonOperator": "A String", # Required. The comparison operator to apply.
+                "value": 3.14, # Required. The value to compare against.
+              },
+              "modelCalls": { # Defines a predicate for filtering based on a numeric value. # Filter on the number of underlying LLM calls within a session.
+                "comparisonOperator": "A String", # Required. The comparison operator to apply.
+                "value": 3.14, # Required. The value to compare against.
+              },
+              "serviceVersion": { # Defines a predicate for filtering based on a string value. # Filter on the versions that served a session (`service.version` OTel resource attribute); matches if any of them is listed. At most one is allowed. On Vertex AI Agent Engine, this is the runtime revision id, currently set only for agents created via v1beta1.
+                "values": [ # Required. The values to match exactly (case-sensitive). Requires 1 to 20 values, each at most 128 characters long.
+                  "A String",
+                ],
+              },
+              "toolCallErrors": { # Defines a predicate for filtering based on a numeric value. # Filter on the number of tool call errors within a session.
+                "comparisonOperator": "A String", # Required. The comparison operator to apply.
+                "value": 3.14, # Required. The value to compare against.
+              },
+              "toolCalls": { # Defines a predicate for filtering based on a numeric value. # Filter on the number of underlying tool calls within a session.
+                "comparisonOperator": "A String", # Required. The comparison operator to apply.
+                "value": 3.14, # Required. The value to compare against.
               },
               "totalTokenUsage": { # Defines a predicate for filtering based on a numeric value. # Filter on the total token usage within a session.
                 "comparisonOperator": "A String", # Required. The comparison operator to apply.
@@ -2155,6 +2565,7 @@ 

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2337,6 +2748,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2521,6 +2933,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2739,6 +3152,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2856,46 +3270,247 @@

Method Details

"mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + }, + }, + "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. + "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. + "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. + "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + ], }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation }, }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. }, - }, - }, - "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. - "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. - "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. - "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + ], }, }, "metricResourceName": "A String", # Optional. Resource name for registered metric. @@ -3064,6 +3679,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3246,6 +3862,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3430,6 +4047,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3648,6 +4266,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3806,6 +4425,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, "metricResourceName": "A String", # Optional. Resource name for registered metric. }, diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.files.html b/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.files.html index 8d3ecdf190..6c364058d4 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.files.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.files.html @@ -90,7 +90,7 @@

Instance Methods

get(name, x__xgafv=None)

Gets the metadata for the given file.

- list(parent, publishersId, ids=None, limit=None, page=None, x__xgafv=None)

+ list(parent, publishersId, limit=None, page=None, x__xgafv=None)

Lists the files owned by the requesting project and location. Supports two mutually exclusive modes: paginated listing via an opaque `page` cursor, or batch fetch by `ids`. See `ListFilesRequest`.

upload(parent, publishersId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)

@@ -183,13 +183,12 @@

Method Details

- list(parent, publishersId, ids=None, limit=None, page=None, x__xgafv=None) + list(parent, publishersId, limit=None, page=None, x__xgafv=None)
Lists the files owned by the requesting project and location. Supports two mutually exclusive modes: paginated listing via an opaque `page` cursor, or batch fetch by `ids`. See `ListFilesRequest`.
 
 Args:
   parent: string, Required. The location to list files under. Format: `projects/{project}/locations/{location}` (required)
   publishersId: string, A parameter (required)
-  ids: string, Optional. Batch fetch: return only these files, up to 100 IDs after de-duplication. Mutually exclusive with both `page` and `limit`. Serialised as a repeated `ids` query parameter, one occurrence per ID. (repeated)
   limit: integer, Optional. The number of files to return per page. Defaults to 20 if unset, maximum 1000. Mutually exclusive with `ids`.
   page: string, Optional. Opaque pagination cursor. Pass the previous response's `next_page` to fetch the next page. Mutually exclusive with `ids`.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html b/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html
index 6c97d65fed..6fa2007475 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html
@@ -573,6 +573,7 @@ 

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1506,6 +1507,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2882,6 +2884,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.html b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.html index f3f3289caa..b3ac5a4e54 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.html @@ -587,6 +587,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1073,6 +1078,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1490,6 +1500,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1877,6 +1892,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.runtimeRevisions.html b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.runtimeRevisions.html index 3fb9d696f2..a5622c7d90 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.runtimeRevisions.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.runtimeRevisions.html @@ -257,6 +257,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -394,6 +399,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html index 73ca1e632d..ebef918992 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html @@ -97,6 +97,9 @@

Instance Methods

list_next(previous_request, previous_response)

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates the specific SandboxEnvironmentTemplate. Only the container image and the warm pool size can be updated.

Method Details

close() @@ -183,6 +186,10 @@

Method Details

"state": "A String", # Output only. The state of the sandbox environment template. "updateTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was most recently updated. "useGkeTd": True or False, # Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool. + "warmPoolConfig": { # Configuration for a warm pool of sandbox instances. # Optional. The configuration for the warm pool of this template. + "targetInstanceCount": 42, # Optional. The target number of pre-warmed instances to maintain. + "updateStrategy": "A String", # Optional. The strategy for updating warm pool instances when the template is updated. + }, } x__xgafv: string, V1 error format. @@ -334,6 +341,10 @@

Method Details

"state": "A String", # Output only. The state of the sandbox environment template. "updateTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was most recently updated. "useGkeTd": True or False, # Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool. + "warmPoolConfig": { # Configuration for a warm pool of sandbox instances. # Optional. The configuration for the warm pool of this template. + "targetInstanceCount": 42, # Optional. The target number of pre-warmed instances to maintain. + "updateStrategy": "A String", # Optional. The strategy for updating warm pool instances when the template is updated. + }, }
@@ -428,6 +439,10 @@

Method Details

"state": "A String", # Output only. The state of the sandbox environment template. "updateTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was most recently updated. "useGkeTd": True or False, # Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool. + "warmPoolConfig": { # Configuration for a warm pool of sandbox instances. # Optional. The configuration for the warm pool of this template. + "targetInstanceCount": 42, # Optional. The target number of pre-warmed instances to maintain. + "updateStrategy": "A String", # Optional. The strategy for updating warm pool instances when the template is updated. + }, }, ], } @@ -447,4 +462,120 @@

Method Details

+
+ patch(name, body=None, updateMask=None, x__xgafv=None) +
Updates the specific SandboxEnvironmentTemplate. Only the container image and the warm pool size can be updated.
+
+Args:
+  name: string, Identifier. The resource name of the SandboxEnvironmentTemplate. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The specification of a SandboxEnvironmentTemplate. A SandboxEnvironmentTemplate defines a template for creating SandboxEnvironments.
+  "createTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was created.
+  "customContainerEnvironment": { # The customized sandbox runtime environment for BYOC. # The sandbox environment for custom container workloads.
+    "customContainerSpec": { # Specification for deploying from a custom container image. # The specification of the custom container environment.
+      "imageUri": "A String", # Required. The Artifact Registry Docker image URI (e.g., us-central1-docker.pkg.dev/my-project/my-repo/my-image:tag) of the container image that is to be run on each worker replica.
+    },
+    "ports": [ # Ports to expose from the container.
+      { # Represents a network port in a container.
+        "port": 42, # Optional. Port number to expose. This must be a valid port number, between 1 and 65535.
+        "protocol": "A String", # Optional. Protocol for port. Defaults to TCP if not specified.
+      },
+    ],
+    "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Resource requests and limits for the container.
+      "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi").
+        "a_key": "A String",
+      },
+      "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi").
+        "a_key": "A String",
+      },
+    },
+  },
+  "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads.
+    "defaultContainerCategory": "A String", # Required. The category of the default container image.
+    "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container.
+      "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi").
+        "a_key": "A String",
+      },
+      "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi").
+        "a_key": "A String",
+      },
+    },
+  },
+  "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate.
+  "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template.
+    "dnsPeeringConfigs": [ # Optional. DNS peering configurations that allow sandbox egress to resolve customer-internal domains via the customer VPC.
+      { # Configuration for peering a customer's private DNS zone so that sandbox egress can resolve customer-internal domains via the customer VPC.
+        "domain": "A String", # Required. The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
+        "targetNetwork": "A String", # Required. The VPC network name in the target_project where the DNS zone specified by `domain` is visible.
+        "targetProject": "A String", # Required. The project ID hosting the Cloud DNS managed zone that contains the `domain`. The Vertex AI Service Agent requires the dns.peer role on this project.
+      },
+    ],
+    "internetAccess": True or False, # Optional. Whether to allow internet access.
+    "networkAttachment": "A String", # Optional. The name of the customer VPC `NetworkAttachment` used to draw a PSC interface IP into the customer VPC for sandbox egress.
+  },
+  "ingressControlConfig": { # Represents configuration for private service connect. # Optional. The configuration for private ingress (PSC-E) of this template. When set, the sandbox router is exposed privately via a PSC service attachment so VPC-SC customers can connect from their VPC over a private endpoint instead of the public internet. The resulting service attachment is surfaced on `SandboxEnvironment.connection_info.service_attachment`. Only the PSC-E (service-attachment/ingress) portion of `PrivateServiceConnectConfig` applies here: `enable_private_service_connect` and `project_allowlist` (the consumer projects allowed to connect). The nested `psc_interface_config` (PSC-I / egress) is not used for sandbox ingress; sandbox egress is configured via `egress_control_config` instead.
+    "enablePrivateServiceConnect": True or False, # Required. If true, expose the IndexEndpoint via private service connect.
+    "enableSecurePrivateServiceConnect": True or False, # Optional. If set to true, enable secure private service connect with IAM authorization. Otherwise, private service connect will be done without authorization. Note latency will be slightly increased if authorization is enabled.
+    "projectAllowlist": [ # A list of Projects from which the forwarding rule will target the service attachment.
+      "A String",
+    ],
+    "pscAutomationConfigs": [ # Optional. List of projects and networks where the PSC endpoints will be created. This field is used by Online Inference(Prediction) only.
+      { # PSC config that is used to automatically create PSC endpoints in the user projects.
+        "errorMessage": "A String", # Output only. Error message if the PSC service automation failed.
+        "forwardingRule": "A String", # Output only. Forwarding rule created by the PSC service automation.
+        "ipAddress": "A String", # Output only. IP address rule created by the PSC service automation.
+        "network": "A String", # Required. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/get): `projects/{project}/global/networks/{network}`.
+        "projectId": "A String", # Required. Project id used to create forwarding rule.
+        "state": "A String", # Output only. The state of the PSC service automation.
+      },
+    ],
+    "serviceAttachment": "A String", # Output only. The name of the generated service attachment resource. This is only populated if the endpoint is deployed with PrivateServiceConnect.
+  },
+  "name": "A String", # Identifier. The resource name of the SandboxEnvironmentTemplate. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`
+  "persistentDiskConfig": { # Configuration for attaching a persistent disk (PD) to each SandboxEnvironment created from this template. A persistent disk provides durable, per-sandbox block storage whose contents survive across the sandbox lifecycle events that this service supports (e.g. pause/resume), unlike ephemeral local storage which is lost when the underlying runtime is torn down. # Optional. Configuration for attaching a persistent disk (PD) to each SandboxEnvironment created from this template. When unset (or when `enabled` is `false`), sandboxes created from this template are not backed by a persistent disk and rely on ephemeral storage only. See PersistentDiskConfig for details.
+    "enabled": True or False, # Optional. Whether a persistent disk is attached to sandboxes created from this template. Defaults to `false`. This flag lets a template carry (and preserve) disk configuration while keeping the disk detached, so it can be toggled on later without re-specifying the rest of the config. When `false`, the remaining fields in this message are ignored.
+    "mountPath": "A String", # Optional. The absolute path inside the sandbox container at which the persistent disk is mounted. Defaults to `/workspace` when unset. Ignored when `enabled` is `false`. Only writes beneath this path land on the disk. Writes elsewhere go to the container's writable layer, which counts against the container's ephemeral storage and is lost when the sandbox's runtime is torn down, so this should be the directory the workload actually writes to. Paths that would shadow the container's system directories (for example `/etc`, `/proc`, or `/usr` itself) are rejected.
+    "sizeGb": "A String", # Optional. The size of the persistent disk in GB. Must be non-negative. When `enabled` is `true`, a positive value is required; when unset or zero while enabled, the service applies a default size. Ignored when `enabled` is `false`.
+  },
+  "state": "A String", # Output only. The state of the sandbox environment template.
+  "updateTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was most recently updated.
+  "useGkeTd": True or False, # Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool.
+  "warmPoolConfig": { # Configuration for a warm pool of sandbox instances. # Optional. The configuration for the warm pool of this template.
+    "targetInstanceCount": 42, # Optional. The target number of pre-warmed instances to maintain.
+    "updateStrategy": "A String", # Optional. The strategy for updating warm pool instances when the template is updated.
+  },
+}
+
+  updateMask: string, Optional. The fields to update. Only these paths are supported: * `custom_container_environment.custom_container_spec.image_uri` * `warm_pool_config.target_instance_count` * `warm_pool_config.update_strategy`
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.tasks.html b/docs/dyn/aiplatform_v1beta1.projects.locations.tasks.html new file mode 100644 index 0000000000..95a54b793f --- /dev/null +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.tasks.html @@ -0,0 +1,2566 @@ + + + +

Agent Platform API . projects . locations . tasks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

Gets a task.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists tasks under a parent. Supports filtering (e.g. by status or assigned_agent) so a surface can show "my tasks".

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(name, x__xgafv=None) +
Gets a task.
+
+Args:
+  name: string, Required. The name of the task to retrieve. Both name forms are accepted: * projects/{project}/locations/{location}/agents/{agent}/tasks/{task} * projects/{project}/locations/{location}/tasks/{task} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+  "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+  "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+  "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+    "attributions": [ # Output only. Spend broken down by consumer.
+      { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+        "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+        },
+        "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+          "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+          "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+        },
+        "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+          "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+        },
+      },
+    ],
+    "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+    "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+      "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+      "spent": "A String", # Output only. Amount consumed so far.
+    },
+  },
+  "createTime": "A String", # Output only. The time the task was created.
+  "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+    { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+      "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+      "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+      "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+      "state": "A String", # Output only. The goal's state.
+      "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+        { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+          "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+          },
+          "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+          "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+            "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+          },
+          "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+          "state": "A String", # Output only. The verifier's latest verdict.
+        },
+      ],
+    },
+  ],
+  "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name of the task.
+  "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+  "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+  "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+  "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+  "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+  "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+    "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+      "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+      "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+      "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+    },
+    "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+    "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+      "audio": { # Configuration for audio output format.
+        "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+        "delivery": "A String", # The delivery mode for the audio output.
+        "mimeType": "A String", # The MIME type of the audio output.
+        "sampleRate": 42, # Sample rate in Hz.
+      },
+      "image": { # Configuration for image output format.
+        "aspectRatio": "A String", # The aspect ratio for the image output.
+        "delivery": "A String", # The delivery mode for the image output.
+        "imageSize": "A String", # The size of the image output.
+        "mimeType": "A String", # The MIME type of the image output.
+      },
+      "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+        "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+          { # Represents a single field in a struct.
+            "name": "A String",
+            "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+        ],
+      },
+      "text": { # Configuration for text output format.
+        "mimeType": "A String", # The MIME type of the text output.
+        "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+          "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+            { # Represents a single field in a struct.
+              "name": "A String",
+              "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                "boolValue": True or False, # Represents a boolean value.
+                "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+                "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                  "values": [ # Repeated field of dynamically typed values.
+                    # Object with schema name: GenaiValue
+                  ],
+                },
+                "nullValue": "A String", # Represents a null value.
+                "numberValue": 3.14, # Represents a double value.
+                "stringValue": "A String", # Represents a string value.
+                "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+              },
+            },
+          ],
+        },
+      },
+      "video": { # Configuration for video output format.
+        "aspectRatio": "A String", # The aspect ratio for the video output.
+        "delivery": "A String", # The delivery mode for the video output.
+        "duration": "A String", # The duration for the video output.
+        "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+        "resolution": "A String", # The video output resolution. Defaults to 720p.
+      },
+    },
+    "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+      "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+    },
+    "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+      { # A step in the interaction.
+        "modelOutput": { # Output generated by the model.
+          "content": [
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+          "error": { # 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). # The error result of the operation in case of failure or cancellation.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            "message": "A String", # 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.
+          },
+        },
+        "thought": { # A thought step.
+          "signature": "A String", # A signature hash for backend validation.
+          "summary": [ # A summary of the thought.
+            { # The content of the response.
+              "audio": { # An audio content block.
+                "channels": 42, # The number of audio channels.
+                "data": "A String", # The audio content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "sampleRate": 42, # The sample rate of the audio.
+                "uri": "A String", # The URI of the audio.
+              },
+              "document": { # A document content block.
+                "data": "A String", # The document content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "uri": "A String", # The URI of the document.
+              },
+              "image": { # An image content block.
+                "data": "A String", # The image content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the image.
+              },
+              "text": { # A text content block.
+                "annotations": [ # Citation information for model-generated content.
+                  { # Citation information for model-generated content.
+                    "endIndex": 42, # End of the attributed segment, exclusive.
+                    "fileCitation": { # A file citation annotation. # A file citation annotation.
+                      "customMetadata": { # User provided metadata about the retrieved context.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "documentUri": "A String", # The URI of the file.
+                      "fileName": "A String", # The name of the file.
+                      "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                      "pageNumber": 42, # Page number of the cited document, if applicable.
+                      "source": "A String", # Source attributed for a portion of the text.
+                    },
+                    "placeCitation": { # A place citation annotation. # A place citation annotation.
+                      "name": "A String", # Title of the place.
+                      "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                      "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                        { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                          "reviewId": "A String", # The ID of the review snippet.
+                          "title": "A String", # Title of the review.
+                          "url": "A String", # A link that corresponds to the user review on Google Maps.
+                        },
+                      ],
+                      "url": "A String", # URI reference of the place.
+                    },
+                    "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                      "speaker": "A String", # The speaker to associate with this turn.
+                      "style": "A String", # Style instruction for the speech synthesis.
+                    },
+                    "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                    "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                      "title": "A String", # The title of the URL.
+                      "url": "A String", # The URL.
+                    },
+                    "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                      "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                      "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                      "text": "A String", # The transcribed word.
+                    },
+                  },
+                ],
+                "text": "A String", # Required. The text content.
+              },
+              "video": { # A video content block.
+                "data": "A String", # The video content.
+                "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                "processingConfig": {
+                  "static": {
+                    "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                    "fps": 3.14, # Optional. Video frame-rate sampling density.
+                    "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                  },
+                },
+                "processingType": "A String",
+                "resolution": "A String", # The resolution of the media.
+                "uri": "A String", # The URI of the video.
+              },
+            },
+          ],
+        },
+        "toolCall": { # Tool call step.
+          "codeExecutionCall": { # Code execution call step.
+            "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+              "code": "A String", # The code to be executed.
+              "language": "A String", # Programming language of the `code`.
+            },
+          },
+          "fileSearchCall": { # File Search call step.
+          },
+          "functionCall": { # A function tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool to call.
+          },
+          "googleMapsCall": { # Google Maps call step.
+            "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+              "queries": [ # The queries to be executed.
+                "A String",
+              ],
+            },
+          },
+          "googleSearchCall": { # Google Search call step.
+            "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+              "queries": [ # Web search queries for the following-up web search.
+                "A String",
+              ],
+            },
+            "searchType": "A String", # The type of search grounding enabled.
+          },
+          "id": "A String", # Required. A unique ID for this specific tool call.
+          "mcpServerToolCall": { # MCPServer tool call step.
+            "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+            "name": "A String", # Required. The name of the tool which was called.
+            "serverName": "A String", # Required. The name of the used MCP server.
+          },
+          "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+          },
+          "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+            "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+              "queries": [ # Queries for Retrieval information.
+                "A String",
+              ],
+            },
+            "retrievalType": "A String", # The type of retrieval tools.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextCall": { # URL context call step.
+            "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+              "urls": [ # The URLs to fetch.
+                "A String",
+              ],
+            },
+          },
+        },
+        "toolResult": { # Tool result step.
+          "callId": "A String", # Required. ID to match the ID from the function call block.
+          "codeExecutionResult": { # Code execution result step.
+            "isError": True or False, # Whether the code execution resulted in an error.
+            "result": "A String", # Required. The output of the code execution.
+          },
+          "fileSearchResult": { # File Search result step.
+          },
+          "functionResult": { # Result of a function tool call.
+            "isError": True or False, # Whether the tool call resulted in an error.
+            "name": "A String", # The name of the tool that was called.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+          },
+          "googleMapsResult": { # Google Maps result step.
+            "result": [
+              { # The result of the Google Maps.
+                "places": [
+                  {
+                    "name": "A String",
+                    "placeId": "A String",
+                    "reviewSnippets": [
+                      { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                        "reviewId": "A String", # The ID of the review snippet.
+                        "title": "A String", # Title of the review.
+                        "url": "A String", # A link that corresponds to the user review on Google Maps.
+                      },
+                    ],
+                    "url": "A String",
+                  },
+                ],
+                "widgetContextToken": "A String",
+              },
+            ],
+          },
+          "googleSearchResult": { # Google Search result step.
+            "isError": True or False, # Whether the Google Search resulted in an error.
+            "result": [ # Required. The results of the Google Search.
+              { # The result of the Google Search.
+                "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+              },
+            ],
+          },
+          "mcpServerToolResult": { # MCPServer tool result step.
+            "name": "A String", # Name of the tool which is called for this specific tool call.
+            "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+              "boolValue": True or False, # Represents a boolean value.
+              "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+              "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                "values": [ # Repeated field of dynamically typed values.
+                  # Object with schema name: GenaiValue
+                ],
+              },
+              "nullValue": "A String", # Represents a null value.
+              "numberValue": 3.14, # Represents a double value.
+              "stringValue": "A String", # Represents a string value.
+              "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+            },
+            "serverName": "A String", # The name of the used MCP server.
+          },
+          "processingResult": { # The result of a server-initiated media processing step.
+          },
+          "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+            "isError": True or False, # Whether the retrieval resulted in an error.
+          },
+          "signature": "A String", # A signature hash for backend validation.
+          "urlContextResult": { # URL context result step.
+            "isError": True or False, # Whether the URL context resulted in an error.
+            "result": [ # Required. The results of the URL context.
+              { # The result of the URL context.
+                "status": "A String", # The status of the URL retrieval.
+                "url": "A String", # The URL that was fetched.
+              },
+            ],
+          },
+        },
+        "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+          "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+            "contents": [ # The contents of the list.
+              { # The content of the response.
+                "audio": { # An audio content block.
+                  "channels": 42, # The number of audio channels.
+                  "data": "A String", # The audio content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "sampleRate": 42, # The sample rate of the audio.
+                  "uri": "A String", # The URI of the audio.
+                },
+                "document": { # A document content block.
+                  "data": "A String", # The document content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "uri": "A String", # The URI of the document.
+                },
+                "image": { # An image content block.
+                  "data": "A String", # The image content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the image.
+                },
+                "text": { # A text content block.
+                  "annotations": [ # Citation information for model-generated content.
+                    { # Citation information for model-generated content.
+                      "endIndex": 42, # End of the attributed segment, exclusive.
+                      "fileCitation": { # A file citation annotation. # A file citation annotation.
+                        "customMetadata": { # User provided metadata about the retrieved context.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "documentUri": "A String", # The URI of the file.
+                        "fileName": "A String", # The name of the file.
+                        "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                        "pageNumber": 42, # Page number of the cited document, if applicable.
+                        "source": "A String", # Source attributed for a portion of the text.
+                      },
+                      "placeCitation": { # A place citation annotation. # A place citation annotation.
+                        "name": "A String", # Title of the place.
+                        "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                        "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String", # URI reference of the place.
+                      },
+                      "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                        "speaker": "A String", # The speaker to associate with this turn.
+                        "style": "A String", # Style instruction for the speech synthesis.
+                      },
+                      "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                      "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                        "title": "A String", # The title of the URL.
+                        "url": "A String", # The URL.
+                      },
+                      "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                        "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                        "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                        "text": "A String", # The transcribed word.
+                      },
+                    },
+                  ],
+                  "text": "A String", # Required. The text content.
+                },
+                "video": { # A video content block.
+                  "data": "A String", # The video content.
+                  "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                  "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                  "processingConfig": {
+                    "static": {
+                      "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                      "fps": 3.14, # Optional. Video frame-rate sampling density.
+                      "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                    },
+                  },
+                  "processingType": "A String",
+                  "resolution": "A String", # The resolution of the media.
+                  "uri": "A String", # The URI of the video.
+                },
+              },
+            ],
+          },
+          "contentString": "A String", # The content of the step. A single string.
+        },
+      },
+    ],
+    "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+    "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+      "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+      "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+      "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+      "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+      "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+    },
+    "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+    "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+      "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+        "delay": "A String", # Relative delay before the single run.
+        "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+      },
+      "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+        "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+          "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+          "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+        },
+        "endTime": "A String", # Optional. Do not fire after this time.
+        "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+          "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+        },
+        "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+        "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+        "startTime": "A String", # Optional. Do not fire before this time.
+      },
+    },
+    "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+      "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+        "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+      },
+      "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+        "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+          "a_key": "A String",
+        },
+        "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+      },
+      "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+        "env": { # Environment variables to set in the sandbox environment.
+          "a_key": { # An environment variable to set in the execution environment.
+            "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+            "value": "A String", # Direct string value for plain environment variables.
+          },
+        },
+        "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+        "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+          { # A memory store mounted into the environment under `/memory/`.
+            "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+            "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+            "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+            "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+          },
+        ],
+        "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+          "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+            { # A single domain allowlist rule with optional header injection.
+              "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+              "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+              "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+              "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                "a_key": "A String",
+              },
+            },
+          ],
+        },
+        "networkMode": "A String", # Network egress mode.
+        "sources": [
+          { # A source to be mounted into the environment.
+            "content": "A String", # The inline content if `type` is `INLINE`.
+            "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+            "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+            "target": "A String", # Where the source should appear in the environment.
+            "type": "A String",
+          },
+        ],
+      },
+      "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+        "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+          "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+            "A String",
+          ],
+        },
+        "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+          "A String",
+        ],
+        "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+          { # A specific resource boundary restricting an agent's access to designated entities.
+            "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+              "A String",
+            ],
+            "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+            "resourceType": "A String", # Required. The type of resource being scoped.
+            "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+          },
+        ],
+        "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+          "A String",
+        ],
+      },
+      "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+      },
+      "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+        "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+        "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+      },
+      "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+      },
+      "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+        "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+        "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+          "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+            "A String",
+          ],
+          "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+          "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+        },
+      },
+    },
+    "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+      "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+    },
+    "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+  },
+  "status": "A String", # Output only. The coarse, durable status of the task.
+  "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+    "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+    "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+  },
+  "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+  "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+  "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+  "updateTime": "A String", # Output only. The time the task was last updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists tasks under a parent. Supports filtering (e.g. by status or assigned_agent) so a surface can show "my tasks".
+
+Args:
+  parent: string, Required. The parent to list tasks under. Both forms are accepted and scope the listing differently: * projects/{project}/locations/{location}/agents/{agent} -- tasks assigned to that agent. * projects/{project}/locations/{location} -- all tasks in the location. (required)
+  filter: string, Optional. A filter expression, e.g. "status=WORKING". Lineage filters pick how much of a task tree to fetch: * "parent_task_id=" -- direct children only (progressive disclosure, one level per call). * "root_task_id=" -- the whole tree in one flat collection. Label filters support filtering by task labels: * "labels.=" -- match tasks with the given label key and value. Multiple label filters can be combined with AND. Multiple values for the same key can be combined with OR, e.g., "labels.foo=bar OR labels.foo=baz". Status filters restrict the listing to tasks in the given statuses: * "status=" -- e.g. "status=WORKING". Multiple statuses can be combined with OR, e.g., "status=WORKING OR status=IDLE". Both page normally via `page_size`/`page_token`, and both are ordered by `order_by` (default "create_time desc"), not by tree shape. A whole-tree page is therefore not a subtree: a child can arrive before its parent, so the client buffers by `parent_task_id` and renders as parents resolve.
+  orderBy: string, Optional. Sort order, e.g. "create_time desc". The sortable fields are `create_time` and `update_time`. Defaults to "create_time desc".
+  pageSize: integer, Optional. The maximum number of tasks to return. The service may return fewer. If unspecified (or <= 0), at most 50 are returned. The maximum is 100; larger values are capped to 100.
+  pageToken: string, Optional. A page token from a previous ListTasks call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for TaskService.ListTasks.
+  "nextPageToken": "A String", # A token to retrieve the next page; empty if there are no more pages.
+  "tasks": [ # The tasks from the requested collection.
+    { # A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light "header" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.
+      "assignedAgent": "A String", # Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.
+      "assignedAgentIdentity": "A String", # Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.
+      "budgetConsumptionDetail": { # Observability snapshot of budget consumption for a Task . # Output only. Current budget consumption detail of the Task.
+        "attributions": [ # Output only. Spend broken down by consumer.
+          { # Per-consumer attribution: which unit of the Task tree incurred the spend.
+            "root": { # The root (owning) Task's own spend. # Output only. The root Task's own spend.
+            },
+            "spent": { # A consumer's spend, per Budget dimension. # Output only. This consumer's spend, per dimension.
+              "tokenCount": "A String", # Output only. Tokens spent by this consumer.
+              "toolCallCount": "A String", # Output only. Tool calls spent by this consumer.
+            },
+            "subTask": { # A spawned sub-Task's spend. # Output only. A spawned sub-Task's spend.
+              "task": "A String", # Output only. Resource name of the sub-Task that incurred the spend.
+            },
+          },
+        ],
+        "tokenConsumption": { # Consumption for one budget dimension. # Output only. Token budget status. This is only populated if the Task has a token limit Budget set.
+          "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+          "spent": "A String", # Output only. Amount consumed so far.
+        },
+        "toolCallConsumption": { # Consumption for one budget dimension. # Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.
+          "limit": "A String", # Output only. The cap from `TaskSpec.budget` for this dimension's consumption.
+          "spent": "A String", # Output only. Amount consumed so far.
+        },
+      },
+      "createTime": "A String", # Output only. The time the task was created.
+      "goals": [ # Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .
+        { # A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.
+          "displayName": "A String", # Optional. A human-readable title specifiable to the goal.
+          "id": "A String", # Output only. Server-assigned identifier, stable across the goal's lifetime.
+          "spec": "A String", # Required. The goal's objective. This is the "goal" and what the agent should pursue.
+          "state": "A String", # Output only. The goal's state.
+          "verifiers": [ # Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.
+            { # A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.
+              "autoVerification": { # Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed. # Automated. Judged against the goal's own `spec`.
+              },
+              "name": "A String", # Optional. Optional label used for reporting (e.g. "tests-green").
+              "nlCriteria": { # An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change. # Automated. A customizable natural-language rubric an autorater/agent evaluates.
+                "criteria": "A String", # Required. The rubric to evaluate (e.g. "Every unread high-priority thread has a summary and a draft").
+              },
+              "required": True or False, # Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).
+              "state": "A String", # Output only. The verifier's latest verdict.
+            },
+          ],
+        },
+      ],
+      "labels": { # Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. Resource name of the task.
+      "nextRunTime": "A String", # Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.
+      "parentTaskId": "A String", # Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .
+      "rootTaskId": "A String", # Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: "root_task_id=")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.
+      "runCount": "A String", # Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.
+      "scheduleState": "A String", # Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.
+      "spec": { # The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers). # Required. The full specification of what to do, how to run it, and how to know it is done.
+        "budget": { # Holistic resource caps metered across the entire task. # Optional. Optional holistic budget caps metered across the entire task lifetime.
+          "maxToolCalls": "A String", # Optional. Maximum total tool calls across the whole task.
+          "maxTotalTokens": "A String", # Optional. Maximum total model tokens across the whole task.
+          "maxWallclock": "A String", # Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.
+        },
+        "deltaStreaming": True or False, # Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.
+        "expectedOutput": { # Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it.
+          "audio": { # Configuration for audio output format.
+            "bitRate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+            "delivery": "A String", # The delivery mode for the audio output.
+            "mimeType": "A String", # The MIME type of the audio output.
+            "sampleRate": 42, # Sample rate in Hz.
+          },
+          "image": { # Configuration for image output format.
+            "aspectRatio": "A String", # The aspect ratio for the image output.
+            "delivery": "A String", # The delivery mode for the image output.
+            "imageSize": "A String", # The size of the image output.
+            "mimeType": "A String", # The MIME type of the image output.
+          },
+          "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+            "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+              { # Represents a single field in a struct.
+                "name": "A String",
+                "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                  "boolValue": True or False, # Represents a boolean value.
+                  "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                    "audio": { # An audio content block.
+                      "channels": 42, # The number of audio channels.
+                      "data": "A String", # The audio content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "sampleRate": 42, # The sample rate of the audio.
+                      "uri": "A String", # The URI of the audio.
+                    },
+                    "document": { # A document content block.
+                      "data": "A String", # The document content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "uri": "A String", # The URI of the document.
+                    },
+                    "image": { # An image content block.
+                      "data": "A String", # The image content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the image.
+                    },
+                    "text": { # A text content block.
+                      "annotations": [ # Citation information for model-generated content.
+                        { # Citation information for model-generated content.
+                          "endIndex": 42, # End of the attributed segment, exclusive.
+                          "fileCitation": { # A file citation annotation. # A file citation annotation.
+                            "customMetadata": { # User provided metadata about the retrieved context.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "documentUri": "A String", # The URI of the file.
+                            "fileName": "A String", # The name of the file.
+                            "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                            "pageNumber": 42, # Page number of the cited document, if applicable.
+                            "source": "A String", # Source attributed for a portion of the text.
+                          },
+                          "placeCitation": { # A place citation annotation. # A place citation annotation.
+                            "name": "A String", # Title of the place.
+                            "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                            "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                              { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                "reviewId": "A String", # The ID of the review snippet.
+                                "title": "A String", # Title of the review.
+                                "url": "A String", # A link that corresponds to the user review on Google Maps.
+                              },
+                            ],
+                            "url": "A String", # URI reference of the place.
+                          },
+                          "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                            "speaker": "A String", # The speaker to associate with this turn.
+                            "style": "A String", # Style instruction for the speech synthesis.
+                          },
+                          "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                          "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                            "title": "A String", # The title of the URL.
+                            "url": "A String", # The URL.
+                          },
+                          "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                            "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                            "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "text": "A String", # The transcribed word.
+                          },
+                        },
+                      ],
+                      "text": "A String", # Required. The text content.
+                    },
+                    "video": { # A video content block.
+                      "data": "A String", # The video content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                      "processingConfig": {
+                        "static": {
+                          "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                          "fps": 3.14, # Optional. Video frame-rate sampling density.
+                          "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                        },
+                      },
+                      "processingType": "A String",
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the video.
+                    },
+                  },
+                  "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                    "values": [ # Repeated field of dynamically typed values.
+                      # Object with schema name: GenaiValue
+                    ],
+                  },
+                  "nullValue": "A String", # Represents a null value.
+                  "numberValue": 3.14, # Represents a double value.
+                  "stringValue": "A String", # Represents a string value.
+                  "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                },
+              },
+            ],
+          },
+          "text": { # Configuration for text output format.
+            "mimeType": "A String", # The MIME type of the text output.
+            "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
+              "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                { # Represents a single field in a struct.
+                  "name": "A String",
+                  "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                      "audio": { # An audio content block.
+                        "channels": 42, # The number of audio channels.
+                        "data": "A String", # The audio content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "sampleRate": 42, # The sample rate of the audio.
+                        "uri": "A String", # The URI of the audio.
+                      },
+                      "document": { # A document content block.
+                        "data": "A String", # The document content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "uri": "A String", # The URI of the document.
+                      },
+                      "image": { # An image content block.
+                        "data": "A String", # The image content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the image.
+                      },
+                      "text": { # A text content block.
+                        "annotations": [ # Citation information for model-generated content.
+                          { # Citation information for model-generated content.
+                            "endIndex": 42, # End of the attributed segment, exclusive.
+                            "fileCitation": { # A file citation annotation. # A file citation annotation.
+                              "customMetadata": { # User provided metadata about the retrieved context.
+                                "a_key": "", # Properties of the object.
+                              },
+                              "documentUri": "A String", # The URI of the file.
+                              "fileName": "A String", # The name of the file.
+                              "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                              "pageNumber": 42, # Page number of the cited document, if applicable.
+                              "source": "A String", # Source attributed for a portion of the text.
+                            },
+                            "placeCitation": { # A place citation annotation. # A place citation annotation.
+                              "name": "A String", # Title of the place.
+                              "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                              "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                  "reviewId": "A String", # The ID of the review snippet.
+                                  "title": "A String", # Title of the review.
+                                  "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                },
+                              ],
+                              "url": "A String", # URI reference of the place.
+                            },
+                            "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                              "speaker": "A String", # The speaker to associate with this turn.
+                              "style": "A String", # Style instruction for the speech synthesis.
+                            },
+                            "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                            "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                              "title": "A String", # The title of the URL.
+                              "url": "A String", # The URL.
+                            },
+                            "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                              "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                              "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                              "text": "A String", # The transcribed word.
+                            },
+                          },
+                        ],
+                        "text": "A String", # Required. The text content.
+                      },
+                      "video": { # A video content block.
+                        "data": "A String", # The video content.
+                        "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                        "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                        "processingConfig": {
+                          "static": {
+                            "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                            "fps": 3.14, # Optional. Video frame-rate sampling density.
+                            "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                          },
+                        },
+                        "processingType": "A String",
+                        "resolution": "A String", # The resolution of the media.
+                        "uri": "A String", # The URI of the video.
+                      },
+                    },
+                    "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                      "values": [ # Repeated field of dynamically typed values.
+                        # Object with schema name: GenaiValue
+                      ],
+                    },
+                    "nullValue": "A String", # Represents a null value.
+                    "numberValue": 3.14, # Represents a double value.
+                    "stringValue": "A String", # Represents a string value.
+                    "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                  },
+                },
+              ],
+            },
+          },
+          "video": { # Configuration for video output format.
+            "aspectRatio": "A String", # The aspect ratio for the video output.
+            "delivery": "A String", # The delivery mode for the video output.
+            "duration": "A String", # The duration for the video output.
+            "gcsUri": "A String", # The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.
+            "resolution": "A String", # The video output resolution. Defaults to 720p.
+          },
+        },
+        "hitlConfig": { # Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task. # Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults.
+          "approvalMode": "A String", # Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.
+        },
+        "inputs": [ # Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.
+          { # A step in the interaction.
+            "modelOutput": { # Output generated by the model.
+              "content": [
+                { # The content of the response.
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+              ],
+              "error": { # 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). # The error result of the operation in case of failure or cancellation.
+                "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+                "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                  {
+                    "a_key": "", # Properties of the object. Contains field @type with type URL.
+                  },
+                ],
+                "message": "A String", # 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.
+              },
+            },
+            "thought": { # A thought step.
+              "signature": "A String", # A signature hash for backend validation.
+              "summary": [ # A summary of the thought.
+                { # The content of the response.
+                  "audio": { # An audio content block.
+                    "channels": 42, # The number of audio channels.
+                    "data": "A String", # The audio content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "sampleRate": 42, # The sample rate of the audio.
+                    "uri": "A String", # The URI of the audio.
+                  },
+                  "document": { # A document content block.
+                    "data": "A String", # The document content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "uri": "A String", # The URI of the document.
+                  },
+                  "image": { # An image content block.
+                    "data": "A String", # The image content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the image.
+                  },
+                  "text": { # A text content block.
+                    "annotations": [ # Citation information for model-generated content.
+                      { # Citation information for model-generated content.
+                        "endIndex": 42, # End of the attributed segment, exclusive.
+                        "fileCitation": { # A file citation annotation. # A file citation annotation.
+                          "customMetadata": { # User provided metadata about the retrieved context.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "documentUri": "A String", # The URI of the file.
+                          "fileName": "A String", # The name of the file.
+                          "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                          "pageNumber": 42, # Page number of the cited document, if applicable.
+                          "source": "A String", # Source attributed for a portion of the text.
+                        },
+                        "placeCitation": { # A place citation annotation. # A place citation annotation.
+                          "name": "A String", # Title of the place.
+                          "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                          "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                            { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                              "reviewId": "A String", # The ID of the review snippet.
+                              "title": "A String", # Title of the review.
+                              "url": "A String", # A link that corresponds to the user review on Google Maps.
+                            },
+                          ],
+                          "url": "A String", # URI reference of the place.
+                        },
+                        "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                          "speaker": "A String", # The speaker to associate with this turn.
+                          "style": "A String", # Style instruction for the speech synthesis.
+                        },
+                        "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                        "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                          "title": "A String", # The title of the URL.
+                          "url": "A String", # The URL.
+                        },
+                        "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                          "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                          "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                          "text": "A String", # The transcribed word.
+                        },
+                      },
+                    ],
+                    "text": "A String", # Required. The text content.
+                  },
+                  "video": { # A video content block.
+                    "data": "A String", # The video content.
+                    "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                    "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                    "processingConfig": {
+                      "static": {
+                        "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                        "fps": 3.14, # Optional. Video frame-rate sampling density.
+                        "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                      },
+                    },
+                    "processingType": "A String",
+                    "resolution": "A String", # The resolution of the media.
+                    "uri": "A String", # The URI of the video.
+                  },
+                },
+              ],
+            },
+            "toolCall": { # Tool call step.
+              "codeExecutionCall": { # Code execution call step.
+                "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+                  "code": "A String", # The code to be executed.
+                  "language": "A String", # Programming language of the `code`.
+                },
+              },
+              "fileSearchCall": { # File Search call step.
+              },
+              "functionCall": { # A function tool call step.
+                "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+                  "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                    { # Represents a single field in a struct.
+                      "name": "A String",
+                      "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                          "audio": { # An audio content block.
+                            "channels": 42, # The number of audio channels.
+                            "data": "A String", # The audio content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "sampleRate": 42, # The sample rate of the audio.
+                            "uri": "A String", # The URI of the audio.
+                          },
+                          "document": { # A document content block.
+                            "data": "A String", # The document content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "uri": "A String", # The URI of the document.
+                          },
+                          "image": { # An image content block.
+                            "data": "A String", # The image content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "resolution": "A String", # The resolution of the media.
+                            "uri": "A String", # The URI of the image.
+                          },
+                          "text": { # A text content block.
+                            "annotations": [ # Citation information for model-generated content.
+                              { # Citation information for model-generated content.
+                                "endIndex": 42, # End of the attributed segment, exclusive.
+                                "fileCitation": { # A file citation annotation. # A file citation annotation.
+                                  "customMetadata": { # User provided metadata about the retrieved context.
+                                    "a_key": "", # Properties of the object.
+                                  },
+                                  "documentUri": "A String", # The URI of the file.
+                                  "fileName": "A String", # The name of the file.
+                                  "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                                  "pageNumber": 42, # Page number of the cited document, if applicable.
+                                  "source": "A String", # Source attributed for a portion of the text.
+                                },
+                                "placeCitation": { # A place citation annotation. # A place citation annotation.
+                                  "name": "A String", # Title of the place.
+                                  "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                                  "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                    { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                      "reviewId": "A String", # The ID of the review snippet.
+                                      "title": "A String", # Title of the review.
+                                      "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                    },
+                                  ],
+                                  "url": "A String", # URI reference of the place.
+                                },
+                                "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                                  "speaker": "A String", # The speaker to associate with this turn.
+                                  "style": "A String", # Style instruction for the speech synthesis.
+                                },
+                                "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                                "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                                  "title": "A String", # The title of the URL.
+                                  "url": "A String", # The URL.
+                                },
+                                "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                                  "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                  "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                                  "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                  "text": "A String", # The transcribed word.
+                                },
+                              },
+                            ],
+                            "text": "A String", # Required. The text content.
+                          },
+                          "video": { # A video content block.
+                            "data": "A String", # The video content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                            "processingConfig": {
+                              "static": {
+                                "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                                "fps": 3.14, # Optional. Video frame-rate sampling density.
+                                "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                              },
+                            },
+                            "processingType": "A String",
+                            "resolution": "A String", # The resolution of the media.
+                            "uri": "A String", # The URI of the video.
+                          },
+                        },
+                        "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                          "values": [ # Repeated field of dynamically typed values.
+                            # Object with schema name: GenaiValue
+                          ],
+                        },
+                        "nullValue": "A String", # Represents a null value.
+                        "numberValue": 3.14, # Represents a double value.
+                        "stringValue": "A String", # Represents a string value.
+                        "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                      },
+                    },
+                  ],
+                },
+                "name": "A String", # Required. The name of the tool to call.
+              },
+              "googleMapsCall": { # Google Maps call step.
+                "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+                  "queries": [ # The queries to be executed.
+                    "A String",
+                  ],
+                },
+              },
+              "googleSearchCall": { # Google Search call step.
+                "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+                  "queries": [ # Web search queries for the following-up web search.
+                    "A String",
+                  ],
+                },
+                "searchType": "A String", # The type of search grounding enabled.
+              },
+              "id": "A String", # Required. A unique ID for this specific tool call.
+              "mcpServerToolCall": { # MCPServer tool call step.
+                "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+                  "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+                    { # Represents a single field in a struct.
+                      "name": "A String",
+                      "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                          "audio": { # An audio content block.
+                            "channels": 42, # The number of audio channels.
+                            "data": "A String", # The audio content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "sampleRate": 42, # The sample rate of the audio.
+                            "uri": "A String", # The URI of the audio.
+                          },
+                          "document": { # A document content block.
+                            "data": "A String", # The document content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "uri": "A String", # The URI of the document.
+                          },
+                          "image": { # An image content block.
+                            "data": "A String", # The image content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "resolution": "A String", # The resolution of the media.
+                            "uri": "A String", # The URI of the image.
+                          },
+                          "text": { # A text content block.
+                            "annotations": [ # Citation information for model-generated content.
+                              { # Citation information for model-generated content.
+                                "endIndex": 42, # End of the attributed segment, exclusive.
+                                "fileCitation": { # A file citation annotation. # A file citation annotation.
+                                  "customMetadata": { # User provided metadata about the retrieved context.
+                                    "a_key": "", # Properties of the object.
+                                  },
+                                  "documentUri": "A String", # The URI of the file.
+                                  "fileName": "A String", # The name of the file.
+                                  "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                                  "pageNumber": 42, # Page number of the cited document, if applicable.
+                                  "source": "A String", # Source attributed for a portion of the text.
+                                },
+                                "placeCitation": { # A place citation annotation. # A place citation annotation.
+                                  "name": "A String", # Title of the place.
+                                  "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                                  "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                                    { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                      "reviewId": "A String", # The ID of the review snippet.
+                                      "title": "A String", # Title of the review.
+                                      "url": "A String", # A link that corresponds to the user review on Google Maps.
+                                    },
+                                  ],
+                                  "url": "A String", # URI reference of the place.
+                                },
+                                "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                                  "speaker": "A String", # The speaker to associate with this turn.
+                                  "style": "A String", # Style instruction for the speech synthesis.
+                                },
+                                "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                                "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                                  "title": "A String", # The title of the URL.
+                                  "url": "A String", # The URL.
+                                },
+                                "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                                  "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                  "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                                  "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                                  "text": "A String", # The transcribed word.
+                                },
+                              },
+                            ],
+                            "text": "A String", # Required. The text content.
+                          },
+                          "video": { # A video content block.
+                            "data": "A String", # The video content.
+                            "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                            "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                            "processingConfig": {
+                              "static": {
+                                "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                                "fps": 3.14, # Optional. Video frame-rate sampling density.
+                                "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                              },
+                            },
+                            "processingType": "A String",
+                            "resolution": "A String", # The resolution of the media.
+                            "uri": "A String", # The URI of the video.
+                          },
+                        },
+                        "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                          "values": [ # Repeated field of dynamically typed values.
+                            # Object with schema name: GenaiValue
+                          ],
+                        },
+                        "nullValue": "A String", # Represents a null value.
+                        "numberValue": 3.14, # Represents a double value.
+                        "stringValue": "A String", # Represents a string value.
+                        "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                      },
+                    },
+                  ],
+                },
+                "name": "A String", # Required. The name of the tool which was called.
+                "serverName": "A String", # Required. The name of the used MCP server.
+              },
+              "processingCall": { # A server-initiated processing step for media analysis (e.g. video understanding).
+              },
+              "retrievalCall": { # Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.
+                "arguments": { # The arguments to pass to Retrieval tools. # Required. The arguments to pass to the retrieval tool.
+                  "queries": [ # Queries for Retrieval information.
+                    "A String",
+                  ],
+                },
+                "retrievalType": "A String", # The type of retrieval tools.
+              },
+              "signature": "A String", # A signature hash for backend validation.
+              "urlContextCall": { # URL context call step.
+                "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+                  "urls": [ # The URLs to fetch.
+                    "A String",
+                  ],
+                },
+              },
+            },
+            "toolResult": { # Tool result step.
+              "callId": "A String", # Required. ID to match the ID from the function call block.
+              "codeExecutionResult": { # Code execution result step.
+                "isError": True or False, # Whether the code execution resulted in an error.
+                "result": "A String", # Required. The output of the code execution.
+              },
+              "fileSearchResult": { # File Search result step.
+              },
+              "functionResult": { # Result of a function tool call.
+                "isError": True or False, # Whether the tool call resulted in an error.
+                "name": "A String", # The name of the tool that was called.
+                "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The result of the tool call.
+                  "boolValue": True or False, # Represents a boolean value.
+                  "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                    "audio": { # An audio content block.
+                      "channels": 42, # The number of audio channels.
+                      "data": "A String", # The audio content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "sampleRate": 42, # The sample rate of the audio.
+                      "uri": "A String", # The URI of the audio.
+                    },
+                    "document": { # A document content block.
+                      "data": "A String", # The document content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "uri": "A String", # The URI of the document.
+                    },
+                    "image": { # An image content block.
+                      "data": "A String", # The image content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the image.
+                    },
+                    "text": { # A text content block.
+                      "annotations": [ # Citation information for model-generated content.
+                        { # Citation information for model-generated content.
+                          "endIndex": 42, # End of the attributed segment, exclusive.
+                          "fileCitation": { # A file citation annotation. # A file citation annotation.
+                            "customMetadata": { # User provided metadata about the retrieved context.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "documentUri": "A String", # The URI of the file.
+                            "fileName": "A String", # The name of the file.
+                            "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                            "pageNumber": 42, # Page number of the cited document, if applicable.
+                            "source": "A String", # Source attributed for a portion of the text.
+                          },
+                          "placeCitation": { # A place citation annotation. # A place citation annotation.
+                            "name": "A String", # Title of the place.
+                            "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                            "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                              { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                "reviewId": "A String", # The ID of the review snippet.
+                                "title": "A String", # Title of the review.
+                                "url": "A String", # A link that corresponds to the user review on Google Maps.
+                              },
+                            ],
+                            "url": "A String", # URI reference of the place.
+                          },
+                          "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                            "speaker": "A String", # The speaker to associate with this turn.
+                            "style": "A String", # Style instruction for the speech synthesis.
+                          },
+                          "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                          "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                            "title": "A String", # The title of the URL.
+                            "url": "A String", # The URL.
+                          },
+                          "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                            "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                            "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "text": "A String", # The transcribed word.
+                          },
+                        },
+                      ],
+                      "text": "A String", # Required. The text content.
+                    },
+                    "video": { # A video content block.
+                      "data": "A String", # The video content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                      "processingConfig": {
+                        "static": {
+                          "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                          "fps": 3.14, # Optional. Video frame-rate sampling density.
+                          "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                        },
+                      },
+                      "processingType": "A String",
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the video.
+                    },
+                  },
+                  "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                    "values": [ # Repeated field of dynamically typed values.
+                      # Object with schema name: GenaiValue
+                    ],
+                  },
+                  "nullValue": "A String", # Represents a null value.
+                  "numberValue": 3.14, # Represents a double value.
+                  "stringValue": "A String", # Represents a string value.
+                  "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                },
+              },
+              "googleMapsResult": { # Google Maps result step.
+                "result": [
+                  { # The result of the Google Maps.
+                    "places": [
+                      {
+                        "name": "A String",
+                        "placeId": "A String",
+                        "reviewSnippets": [
+                          { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                            "reviewId": "A String", # The ID of the review snippet.
+                            "title": "A String", # Title of the review.
+                            "url": "A String", # A link that corresponds to the user review on Google Maps.
+                          },
+                        ],
+                        "url": "A String",
+                      },
+                    ],
+                    "widgetContextToken": "A String",
+                  },
+                ],
+              },
+              "googleSearchResult": { # Google Search result step.
+                "isError": True or False, # Whether the Google Search resulted in an error.
+                "result": [ # Required. The results of the Google Search.
+                  { # The result of the Google Search.
+                    "searchSuggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+                  },
+                ],
+              },
+              "mcpServerToolResult": { # MCPServer tool result step.
+                "name": "A String", # Name of the tool which is called for this specific tool call.
+                "result": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Required. The output from the MCP server call. Can be simple text or rich content.
+                  "boolValue": True or False, # Represents a boolean value.
+                  "contentValue": { # The content of the response. # Represents rich content (text, image, etc.).
+                    "audio": { # An audio content block.
+                      "channels": 42, # The number of audio channels.
+                      "data": "A String", # The audio content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "sampleRate": 42, # The sample rate of the audio.
+                      "uri": "A String", # The URI of the audio.
+                    },
+                    "document": { # A document content block.
+                      "data": "A String", # The document content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "uri": "A String", # The URI of the document.
+                    },
+                    "image": { # An image content block.
+                      "data": "A String", # The image content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the image.
+                    },
+                    "text": { # A text content block.
+                      "annotations": [ # Citation information for model-generated content.
+                        { # Citation information for model-generated content.
+                          "endIndex": 42, # End of the attributed segment, exclusive.
+                          "fileCitation": { # A file citation annotation. # A file citation annotation.
+                            "customMetadata": { # User provided metadata about the retrieved context.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "documentUri": "A String", # The URI of the file.
+                            "fileName": "A String", # The name of the file.
+                            "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                            "pageNumber": 42, # Page number of the cited document, if applicable.
+                            "source": "A String", # Source attributed for a portion of the text.
+                          },
+                          "placeCitation": { # A place citation annotation. # A place citation annotation.
+                            "name": "A String", # Title of the place.
+                            "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                            "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                              { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                "reviewId": "A String", # The ID of the review snippet.
+                                "title": "A String", # Title of the review.
+                                "url": "A String", # A link that corresponds to the user review on Google Maps.
+                              },
+                            ],
+                            "url": "A String", # URI reference of the place.
+                          },
+                          "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                            "speaker": "A String", # The speaker to associate with this turn.
+                            "style": "A String", # Style instruction for the speech synthesis.
+                          },
+                          "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                          "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                            "title": "A String", # The title of the URL.
+                            "url": "A String", # The URL.
+                          },
+                          "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                            "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                            "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "text": "A String", # The transcribed word.
+                          },
+                        },
+                      ],
+                      "text": "A String", # Required. The text content.
+                    },
+                    "video": { # A video content block.
+                      "data": "A String", # The video content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                      "processingConfig": {
+                        "static": {
+                          "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                          "fps": 3.14, # Optional. Video frame-rate sampling density.
+                          "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                        },
+                      },
+                      "processingType": "A String",
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the video.
+                    },
+                  },
+                  "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+                    "values": [ # Repeated field of dynamically typed values.
+                      # Object with schema name: GenaiValue
+                    ],
+                  },
+                  "nullValue": "A String", # Represents a null value.
+                  "numberValue": 3.14, # Represents a double value.
+                  "stringValue": "A String", # Represents a string value.
+                  "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+                },
+                "serverName": "A String", # The name of the used MCP server.
+              },
+              "processingResult": { # The result of a server-initiated media processing step.
+              },
+              "retrievalResult": { # Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.
+                "isError": True or False, # Whether the retrieval resulted in an error.
+              },
+              "signature": "A String", # A signature hash for backend validation.
+              "urlContextResult": { # URL context result step.
+                "isError": True or False, # Whether the URL context resulted in an error.
+                "result": [ # Required. The results of the URL context.
+                  { # The result of the URL context.
+                    "status": "A String", # The status of the URL retrieval.
+                    "url": "A String", # The URL that was fetched.
+                  },
+                ],
+              },
+            },
+            "userInput": { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
+              "contentList": { # A list of Content. # The content of the step. An array of Content objects.
+                "contents": [ # The contents of the list.
+                  { # The content of the response.
+                    "audio": { # An audio content block.
+                      "channels": 42, # The number of audio channels.
+                      "data": "A String", # The audio content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "sampleRate": 42, # The sample rate of the audio.
+                      "uri": "A String", # The URI of the audio.
+                    },
+                    "document": { # A document content block.
+                      "data": "A String", # The document content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "uri": "A String", # The URI of the document.
+                    },
+                    "image": { # An image content block.
+                      "data": "A String", # The image content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the image.
+                    },
+                    "text": { # A text content block.
+                      "annotations": [ # Citation information for model-generated content.
+                        { # Citation information for model-generated content.
+                          "endIndex": 42, # End of the attributed segment, exclusive.
+                          "fileCitation": { # A file citation annotation. # A file citation annotation.
+                            "customMetadata": { # User provided metadata about the retrieved context.
+                              "a_key": "", # Properties of the object.
+                            },
+                            "documentUri": "A String", # The URI of the file.
+                            "fileName": "A String", # The name of the file.
+                            "mediaId": "A String", # Media ID in-case of image citations, if applicable.
+                            "pageNumber": 42, # Page number of the cited document, if applicable.
+                            "source": "A String", # Source attributed for a portion of the text.
+                          },
+                          "placeCitation": { # A place citation annotation. # A place citation annotation.
+                            "name": "A String", # Title of the place.
+                            "placeId": "A String", # The ID of the place, in `places/{place_id}` format.
+                            "reviewSnippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+                              { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+                                "reviewId": "A String", # The ID of the review snippet.
+                                "title": "A String", # Title of the review.
+                                "url": "A String", # A link that corresponds to the user review on Google Maps.
+                              },
+                            ],
+                            "url": "A String", # URI reference of the place.
+                          },
+                          "speechMetadata": { # Speech annotation for text content. # Speech annotation for text content.
+                            "speaker": "A String", # The speaker to associate with this turn.
+                            "style": "A String", # Style instruction for the speech synthesis.
+                          },
+                          "startIndex": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+                          "urlCitation": { # A URL citation annotation. # NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation.
+                            "title": "A String", # The title of the URL.
+                            "url": "A String", # The URL.
+                          },
+                          "wordInfo": { # Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution. # Word-level ASR annotation with timing and speaker info.
+                            "endOffset": "A String", # End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "speaker": "A String", # Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
+                            "startOffset": "A String", # Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
+                            "text": "A String", # The transcribed word.
+                          },
+                        },
+                      ],
+                      "text": "A String", # Required. The text content.
+                    },
+                    "video": { # A video content block.
+                      "data": "A String", # The video content.
+                      "mimeTypeString": "A String", # Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the "mime_type" JSON key.
+                      "name": "A String", # A user-defined name for this content block. Can be referenced by the model in the final response.
+                      "processingConfig": {
+                        "static": {
+                          "endOffset": "A String", # Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
+                          "fps": 3.14, # Optional. Video frame-rate sampling density.
+                          "startOffset": "A String", # Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
+                        },
+                      },
+                      "processingType": "A String",
+                      "resolution": "A String", # The resolution of the media.
+                      "uri": "A String", # The URI of the video.
+                    },
+                  },
+                ],
+              },
+              "contentString": "A String", # The content of the step. A single string.
+            },
+          },
+        ],
+        "maxRetries": 42, # Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.
+        "modelConfig": { # Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change. # Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle.
+          "effortLevel": "A String", # Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes "minimal", "low", "medium" or "high", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.
+          "maxOutputTokens": 42, # Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.
+          "model": "A String", # Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form "publishers/{publisher}/models/{model}", e.g. "publishers/anthropic/models/claude-opus-4-8" or "publishers/google/models/gemini-3-flash". The project-qualified form "projects/{project}/locations/{location}/publishers/{publisher}/models/{model}" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.
+          "modelSelectionMode": "A String", # Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.
+          "temperature": 3.14, # Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.
+        },
+        "priority": "A String", # Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.
+        "schedule": { # Defines when and how a task runs. # Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now).
+          "oneOff": { # A one-off (single) run trigger. # Run exactly once (at an absolute time or after a delay).
+            "delay": "A String", # Relative delay before the single run.
+            "runAt": "A String", # Absolute time to run at (e.g. 8 PM today).
+          },
+          "recurring": { # Defines a recurring schedule logic for repeated task executions. # Run the task spec repeatedly.
+            "cron": { # A recurring cron trigger. # The cron expression, e.g. "0 8 * * MON-FRI".
+              "expression": "A String", # Required. The cron expression, e.g. "0 8 * * MON-FRI". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. "?/30 * * * *" is stored as "17-59/30 * * * *"); sending a `?` again picks new values.
+              "timeZone": "A String", # Optional. Optional IANA time zone name, e.g. "America/Los_Angeles". Defaults to UTC.
+            },
+            "endTime": "A String", # Optional. Do not fire after this time.
+            "eventSource": { # An event-driven trigger. # Identifier of a registered event source / webhook subscription whose events fire the task.
+              "eventSource": "A String", # Required. Identifier of a registered event source / webhook subscription whose events fire the task.
+            },
+            "maxRunCount": "A String", # Optional. Max total number of firings. Unset means unbounded.
+            "overlapPolicy": "A String", # Optional. What to do when a firing is due while a prior run is still active.
+            "startTime": "A String", # Optional. Do not fire before this time.
+          },
+        },
+        "scope": { # The scoped context a task runs within. # Optional. Optional scoped context: skills/tools/memory/artifacts for the task.
+          "allowedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Keep only these tools from the agent's inherited set.
+            "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+              "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+                "A String",
+              ],
+            },
+            "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+              "A String",
+            ],
+            "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+              { # A specific resource boundary restricting an agent's access to designated entities.
+                "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+                  "A String",
+                ],
+                "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+                "resourceType": "A String", # Required. The type of resource being scoped.
+                "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+              },
+            ],
+            "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+              "A String",
+            ],
+          },
+          "collaborativeProject": { # Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change. # Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+            "collaborativeProject": "A String", # Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).
+          },
+          "dataConnectorConfig": { # Configuration for Gemini Enterprise MCP data connectors scoped to this task. # Optional. Data connector configuration for this task.
+            "dataConnectors": { # Optional. Map of active connector short name / data_source (e.g., "jira", "servicenow") to its full DataConnector resource name (e.g., "projects/{project}/locations/{location}/collections/{collection}/dataConnector"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.
+              "a_key": "A String",
+            },
+            "engineResourceName": "A String", # Optional. Full resource name of the Discovery Engine Engine (e.g., "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}").
+          },
+          "environment": { # Configuration for a custom environment. # Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist).
+            "env": { # Environment variables to set in the sandbox environment.
+              "a_key": { # An environment variable to set in the execution environment.
+                "credential": "A String", # Optional reference to a server-managed Credential resource by ID.
+                "value": "A String", # Direct string value for plain environment variables.
+              },
+            },
+            "environmentId": "A String", # Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
+            "memoryMounts": [ # Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.
+              { # A memory store mounted into the environment under `/memory/`.
+                "description": "A String", # Optional. Per-mount guidance describing when the agent should read or write this memory store.
+                "dirName": "A String", # Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.
+                "memoryStore": "A String", # Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).
+                "mode": "A String", # Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.
+              },
+            ],
+            "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains.
+              "allowlist": [ # List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
+                { # A single domain allowlist rule with optional header injection.
+                  "credential": "A String", # Optional. Reference to a server-managed Credential resource by ID.
+                  "domain": "A String", # Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.
+                  "mode": "A String", # Network egress mode. Set via the `"allowlist": "disabled"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.
+                  "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token").
+                    "a_key": "A String",
+                  },
+                },
+              ],
+            },
+            "networkMode": "A String", # Network egress mode.
+            "sources": [
+              { # A source to be mounted into the environment.
+                "content": "A String", # The inline content if `type` is `INLINE`.
+                "encoding": "A String", # Optional encoding for inline content (e.g. `base64`).
+                "source": "A String", # The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
+                "target": "A String", # Where the source should appear in the environment.
+                "type": "A String",
+              },
+            ],
+          },
+          "excludedTools": { # A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs) # Remove these tools from the agent's inherited set.
+            "cliToolScope": { # A CLI tool boundary restricting a subtask to designated CLI commands. # Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied.
+              "cliTools": [ # Optional. Allowed CLI tools for the task. Example: ["gmail send_message", "calendar list_events"].
+                "A String",
+              ],
+            },
+            "methods": [ # Optional. Optional fine-grained method selectors for the referenced tools. Format: "/methods/".
+              "A String",
+            ],
+            "resources": [ # Optional. Optional resource identifiers that the task is restricted to interact with.
+              { # A specific resource boundary restricting an agent's access to designated entities.
+                "recipients": [ # Optional. Optional recipients email boundaries for communication tools. Example: ["alice@gmail.com", "bob@google.com"].
+                  "A String",
+                ],
+                "resource": "A String", # Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: "18df123456789abc" * GOOGLE_CHAT_THREAD: "spaces/AAA/threads/BBB" * GITHUB_REPOSITORY: "GoogleCloudPlatform/kubectl"
+                "resourceType": "A String", # Required. The type of resource being scoped.
+                "selfCreated": True or False, # Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.
+              },
+            ],
+            "toolNames": [ # Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`
+              "A String",
+            ],
+          },
+          "externalBrowser": { # A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them. # Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`.
+          },
+          "externalMount": { # A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment. # Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set.
+            "mountPath": "A String", # Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.
+            "sourcePath": "A String", # Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.
+          },
+          "localEnvironment": { # Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field. # Optional. Optional client-side ("local") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)
+          },
+          "memoryConfig": { # Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all. # Optional. Memory settings for this task.
+            "disableMemory": True or False, # Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with — so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.
+            "knowledgeCatalogConfig": { # Configuration for enterprise Knowledge Catalog metadata discovery. # Optional. Configuration for enterprise Knowledge Catalog search.
+              "enabledConnectors": [ # Optional. Filter list of system/connector technology names (e.g., "bigquery", "looker", "spanner"). If empty, all indexed catalog connectors are searched.
+                "A String",
+              ],
+              "knowledgeCatalogEnabled": True or False, # Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.
+              "projectId": "A String", # Optional. GCP project ID to scope Knowledge Catalog searches.
+            },
+          },
+        },
+        "subtaskConfig": { # Configuration and limits for subtasks spawned by this task. # Optional. Configuration and limits for subtasks spawned by this task.
+          "maxDepth": 42, # Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.
+        },
+        "systemInstruction": "A String", # Optional. Optional standing instruction applied across the whole task.
+      },
+      "status": "A String", # Output only. The coarse, durable status of the task.
+      "statusDetail": { # Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail) # Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.
+        "detail": "A String", # Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.
+        "reason": "A String", # Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).
+      },
+      "statusUpdateTime": "A String", # Output only. The time the task's status was last updated.
+      "summary": "A String", # Output only. A rolling, system-generated summary of the task's progress/result.
+      "title": "A String", # Optional. Optional human-readable title for listing surfaces.
+      "updateTime": "A String", # Output only. The time the task was last updated.
+    },
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.tuningJobs.html b/docs/dyn/aiplatform_v1beta1.projects.locations.tuningJobs.html index be2a2514e9..c205e046c6 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.tuningJobs.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.tuningJobs.html @@ -327,6 +327,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -561,6 +562,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -786,6 +788,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -964,6 +967,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1161,6 +1165,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1343,6 +1348,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1527,6 +1533,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1745,6 +1752,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1903,6 +1911,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, ], "outputConfig": { # Config for evaluation output. # Required. Config for evaluation output. @@ -3823,6 +4032,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4057,6 +4267,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4282,6 +4493,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4460,6 +4672,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4657,6 +4870,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4839,6 +5053,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5023,6 +5238,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5241,6 +5457,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5399,74 +5616,275 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, - }, - ], - "outputConfig": { # Config for evaluation output. # Required. Config for evaluation output. - "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Cloud storage destination for evaluation output. - "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist. - }, - }, - }, - "exportLastCheckpointOnly": True or False, # Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false. - "hyperParameters": { # Hyperparameters for SFT. # Optional. Hyperparameters for SFT. - "adapterSize": "A String", # Optional. Adapter size for tuning. - "batchSize": "A String", # Optional. Batch size for tuning. This feature is only available for open source models. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRate": 3.14, # Optional. Learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "tuningMode": "A String", # Tuning mode. - "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - }, - "tunedModel": { # The Model Registry Model and Online Prediction Endpoint associated with this TuningJob. # Output only. The tuned model resources associated with this TuningJob. - "checkpoints": [ # Output only. The checkpoints associated with this TunedModel. This field is only populated for tuning jobs that enable intermediate checkpoints. - { # TunedModelCheckpoint for the Tuned Model of a Tuning Job. - "checkpointId": "A String", # The ID of the checkpoint. - "endpoint": "A String", # The Endpoint resource name that the checkpoint is deployed to. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`. - "epoch": "A String", # The epoch of the checkpoint. - "step": "A String", # The step of the checkpoint. - }, - ], - "endpoint": "A String", # Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`. - "model": "A String", # Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}@{version_id}` When tuning from a base model, the version ID will be 1. For continuous tuning, if the provided tuned_model_display_name is set and different from parent model's display name, the tuned model will have a new parent model with version 1. Otherwise the version id will be incremented by 1 from the last version ID in the parent model. E.g., `projects/{project}/locations/{location}/models/{model}@{last_version_id + 1}` - }, - "tunedModelDisplayName": "A String", # Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. For continuous tuning, tuned_model_display_name will by default use the same display name as the pre-tuned model. If a new display name is provided, the tuning job will create a new model instead of a new version. - "tuningDataStats": { # The tuning data statistic values for TuningJob. # Output only. The tuning data statistics associated with this TuningJob. - "distillationDataStats": { # Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. # Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. - "trainingDatasetStats": { # Statistics computed over a tuning dataset. # Output only. Statistics computed for the training dataset. - "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. - "buckets": [ # Output only. Defines the histogram bucket. - { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": "A String", # Output only. Number of values in the bucket. - "left": 3.14, # Output only. Left bound of the bucket. - "right": 3.14, # Output only. Right bound of the bucket. + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, }, - ], - "max": 3.14, # Output only. The maximum of the population values. - "mean": 3.14, # Output only. The arithmetic mean of the values in the population. - "median": 3.14, # Output only. The median of the values in the population. - "min": 3.14, # Output only. The minimum of the population values. - "p5": 3.14, # Output only. The 5th percentile of the values in the population. - "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": 3.14, # Output only. Sum of a given population of values. - }, - "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. - "A String", - ], - "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. - "A String", - ], - "reinforcementTuningUserDatasetExamples": { # Sample reinforcement tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. - "userDatasetExamples": [ # List of user datasset examples showing to user. - { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. - "contents": [ # Multi-turn contents that represents the Prompt. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data. - "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set. - "text": "A String", # Required. The transcription text of this audio segment. + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, + }, + ], + "outputConfig": { # Config for evaluation output. # Required. Config for evaluation output. + "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Cloud storage destination for evaluation output. + "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist. + }, + }, + }, + "exportLastCheckpointOnly": True or False, # Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false. + "hyperParameters": { # Hyperparameters for SFT. # Optional. Hyperparameters for SFT. + "adapterSize": "A String", # Optional. Adapter size for tuning. + "batchSize": "A String", # Optional. Batch size for tuning. This feature is only available for open source models. + "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. + "learningRate": 3.14, # Optional. Learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models. + "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models. + }, + "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "tuningMode": "A String", # Tuning mode. + "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + }, + "tunedModel": { # The Model Registry Model and Online Prediction Endpoint associated with this TuningJob. # Output only. The tuned model resources associated with this TuningJob. + "checkpoints": [ # Output only. The checkpoints associated with this TunedModel. This field is only populated for tuning jobs that enable intermediate checkpoints. + { # TunedModelCheckpoint for the Tuned Model of a Tuning Job. + "checkpointId": "A String", # The ID of the checkpoint. + "endpoint": "A String", # The Endpoint resource name that the checkpoint is deployed to. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`. + "epoch": "A String", # The epoch of the checkpoint. + "step": "A String", # The step of the checkpoint. + }, + ], + "endpoint": "A String", # Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`. + "model": "A String", # Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}@{version_id}` When tuning from a base model, the version ID will be 1. For continuous tuning, if the provided tuned_model_display_name is set and different from parent model's display name, the tuned model will have a new parent model with version 1. Otherwise the version id will be incremented by 1 from the last version ID in the parent model. E.g., `projects/{project}/locations/{location}/models/{model}@{last_version_id + 1}` + }, + "tunedModelDisplayName": "A String", # Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. For continuous tuning, tuned_model_display_name will by default use the same display name as the pre-tuned model. If a new display name is provided, the tuning job will create a new model instead of a new version. + "tuningDataStats": { # The tuning data statistic values for TuningJob. # Output only. The tuning data statistics associated with this TuningJob. + "distillationDataStats": { # Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. # Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. + "trainingDatasetStats": { # Statistics computed over a tuning dataset. # Output only. Statistics computed for the training dataset. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": "A String", # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": 3.14, # Output only. Sum of a given population of values. + }, + "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. + "A String", + ], + "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. + "A String", + ], + "reinforcementTuningUserDatasetExamples": { # Sample reinforcement tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. + "userDatasetExamples": [ # List of user datasset examples showing to user. + { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. + "contents": [ # Multi-turn contents that represents the Prompt. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` must contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "audioTranscription": { # The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`. # Optional. Audio (input or output) transcription. This is only set when this `Part` contains audio data. + "speakerLabel": "A String", # Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set. + "text": "A String", # Required. The transcription text of this audio segment. "words": [ # Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set. { # Information about a single recognized word. "endOffset": "A String", # Optional. End offset in time of the word relative to the start of the audio. @@ -7326,6 +7744,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7560,6 +7979,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7785,6 +8205,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -7963,6 +8384,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8160,6 +8582,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8342,6 +8765,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8526,6 +8950,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8744,6 +9169,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -8861,46 +9287,247 @@

Method Details

"mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + }, + }, + "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. + "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. + "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. + "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + ], }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation }, }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. }, - }, - }, - "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. - "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. - "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. - "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + ], }, }, ], @@ -10835,6 +11462,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -11069,6 +11697,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -11294,6 +11923,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -11472,6 +12102,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -11669,6 +12300,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -11851,6 +12483,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -12035,6 +12668,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -12253,6 +12887,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -12370,46 +13005,247 @@

Method Details

"mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + }, + }, + "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. + "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. + "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. + "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + ], }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). }, - "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - "translationConfig": { # Config for translation features. # Optional. Config for translation. - "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. - "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation }, }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. }, - }, - }, - "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric. - "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. - "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. - "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. + ], }, }, ], @@ -14627,6 +15463,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -14861,6 +15698,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -15086,6 +15924,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -15264,6 +16103,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -15461,6 +16301,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -15643,6 +16484,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -15827,6 +16669,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -16045,6 +16888,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -16203,6 +17047,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, ], "outputConfig": { # Config for evaluation output. # Required. Config for evaluation output. @@ -18005,6 +19050,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -18757,6 +19803,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.voices.html b/docs/dyn/aiplatform_v1beta1.projects.locations.voices.html index 5dee9f4049..33dec7503a 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.voices.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.voices.html @@ -154,6 +154,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -235,6 +236,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -340,6 +342,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. @@ -441,6 +444,7 @@

Method Details

"type": "A String", # The grounding tool type associated with the count. }, ], + "initialInputTokens": 42, # Number of input tokens used in the first turn of this interaction. "inputTokensByModality": [ # A breakdown of input token usage by modality. { # The token count for a single response modality. "modality": "A String", # The modality associated with the token count. diff --git a/docs/dyn/aiplatform_v1beta1.publishers.models.html b/docs/dyn/aiplatform_v1beta1.publishers.models.html index fb61bc4058..3518155eaf 100644 --- a/docs/dyn/aiplatform_v1beta1.publishers.models.html +++ b/docs/dyn/aiplatform_v1beta1.publishers.models.html @@ -375,6 +375,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1057,6 +1058,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3351,6 +3353,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/docs/dyn/aiplatform_v1beta1.reasoningEngines.html b/docs/dyn/aiplatform_v1beta1.reasoningEngines.html index 967a3f9e7c..c199c4760b 100644 --- a/docs/dyn/aiplatform_v1beta1.reasoningEngines.html +++ b/docs/dyn/aiplatform_v1beta1.reasoningEngines.html @@ -572,6 +572,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1059,6 +1064,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1441,6 +1451,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", @@ -1828,6 +1843,11 @@

Method Details

"revision": "A String", # Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref. }, }, + "gitSource": { # Specifies source code to be fetched from a public Git repository. # Source code is in a public Git repository. + "dir": "A String", # Optional. Directory, relative to the source root, in which to run the build. + "revision": "A String", # Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported. + "url": "A String", # Required. The HTTPS URL of the public Git repository to clone. + }, "imageSpec": { # The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory. # Optional. Configuration for building an image with custom config file. "buildArgs": { # Optional. Build arguments to be used. They will be passed through --build-arg flags. "a_key": "A String", diff --git a/docs/dyn/aiplatform_v1beta1.reasoningEngines.sandboxEnvironmentTemplates.html b/docs/dyn/aiplatform_v1beta1.reasoningEngines.sandboxEnvironmentTemplates.html index 413833b319..c7a4363903 100644 --- a/docs/dyn/aiplatform_v1beta1.reasoningEngines.sandboxEnvironmentTemplates.html +++ b/docs/dyn/aiplatform_v1beta1.reasoningEngines.sandboxEnvironmentTemplates.html @@ -97,6 +97,9 @@

Instance Methods

list_next(previous_request, previous_response)

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates the specific SandboxEnvironmentTemplate. Only the container image and the warm pool size can be updated.

Method Details

close() @@ -183,6 +186,10 @@

Method Details

"state": "A String", # Output only. The state of the sandbox environment template. "updateTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was most recently updated. "useGkeTd": True or False, # Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool. + "warmPoolConfig": { # Configuration for a warm pool of sandbox instances. # Optional. The configuration for the warm pool of this template. + "targetInstanceCount": 42, # Optional. The target number of pre-warmed instances to maintain. + "updateStrategy": "A String", # Optional. The strategy for updating warm pool instances when the template is updated. + }, } x__xgafv: string, V1 error format. @@ -334,6 +341,10 @@

Method Details

"state": "A String", # Output only. The state of the sandbox environment template. "updateTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was most recently updated. "useGkeTd": True or False, # Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool. + "warmPoolConfig": { # Configuration for a warm pool of sandbox instances. # Optional. The configuration for the warm pool of this template. + "targetInstanceCount": 42, # Optional. The target number of pre-warmed instances to maintain. + "updateStrategy": "A String", # Optional. The strategy for updating warm pool instances when the template is updated. + }, }
@@ -428,6 +439,10 @@

Method Details

"state": "A String", # Output only. The state of the sandbox environment template. "updateTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was most recently updated. "useGkeTd": True or False, # Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool. + "warmPoolConfig": { # Configuration for a warm pool of sandbox instances. # Optional. The configuration for the warm pool of this template. + "targetInstanceCount": 42, # Optional. The target number of pre-warmed instances to maintain. + "updateStrategy": "A String", # Optional. The strategy for updating warm pool instances when the template is updated. + }, }, ], } @@ -447,4 +462,120 @@

Method Details

+
+ patch(name, body=None, updateMask=None, x__xgafv=None) +
Updates the specific SandboxEnvironmentTemplate. Only the container image and the warm pool size can be updated.
+
+Args:
+  name: string, Identifier. The resource name of the SandboxEnvironmentTemplate. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The specification of a SandboxEnvironmentTemplate. A SandboxEnvironmentTemplate defines a template for creating SandboxEnvironments.
+  "createTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was created.
+  "customContainerEnvironment": { # The customized sandbox runtime environment for BYOC. # The sandbox environment for custom container workloads.
+    "customContainerSpec": { # Specification for deploying from a custom container image. # The specification of the custom container environment.
+      "imageUri": "A String", # Required. The Artifact Registry Docker image URI (e.g., us-central1-docker.pkg.dev/my-project/my-repo/my-image:tag) of the container image that is to be run on each worker replica.
+    },
+    "ports": [ # Ports to expose from the container.
+      { # Represents a network port in a container.
+        "port": 42, # Optional. Port number to expose. This must be a valid port number, between 1 and 65535.
+        "protocol": "A String", # Optional. Protocol for port. Defaults to TCP if not specified.
+      },
+    ],
+    "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Resource requests and limits for the container.
+      "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi").
+        "a_key": "A String",
+      },
+      "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi").
+        "a_key": "A String",
+      },
+    },
+  },
+  "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads.
+    "defaultContainerCategory": "A String", # Required. The category of the default container image.
+    "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container.
+      "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi").
+        "a_key": "A String",
+      },
+      "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi").
+        "a_key": "A String",
+      },
+    },
+  },
+  "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate.
+  "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template.
+    "dnsPeeringConfigs": [ # Optional. DNS peering configurations that allow sandbox egress to resolve customer-internal domains via the customer VPC.
+      { # Configuration for peering a customer's private DNS zone so that sandbox egress can resolve customer-internal domains via the customer VPC.
+        "domain": "A String", # Required. The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
+        "targetNetwork": "A String", # Required. The VPC network name in the target_project where the DNS zone specified by `domain` is visible.
+        "targetProject": "A String", # Required. The project ID hosting the Cloud DNS managed zone that contains the `domain`. The Vertex AI Service Agent requires the dns.peer role on this project.
+      },
+    ],
+    "internetAccess": True or False, # Optional. Whether to allow internet access.
+    "networkAttachment": "A String", # Optional. The name of the customer VPC `NetworkAttachment` used to draw a PSC interface IP into the customer VPC for sandbox egress.
+  },
+  "ingressControlConfig": { # Represents configuration for private service connect. # Optional. The configuration for private ingress (PSC-E) of this template. When set, the sandbox router is exposed privately via a PSC service attachment so VPC-SC customers can connect from their VPC over a private endpoint instead of the public internet. The resulting service attachment is surfaced on `SandboxEnvironment.connection_info.service_attachment`. Only the PSC-E (service-attachment/ingress) portion of `PrivateServiceConnectConfig` applies here: `enable_private_service_connect` and `project_allowlist` (the consumer projects allowed to connect). The nested `psc_interface_config` (PSC-I / egress) is not used for sandbox ingress; sandbox egress is configured via `egress_control_config` instead.
+    "enablePrivateServiceConnect": True or False, # Required. If true, expose the IndexEndpoint via private service connect.
+    "enableSecurePrivateServiceConnect": True or False, # Optional. If set to true, enable secure private service connect with IAM authorization. Otherwise, private service connect will be done without authorization. Note latency will be slightly increased if authorization is enabled.
+    "projectAllowlist": [ # A list of Projects from which the forwarding rule will target the service attachment.
+      "A String",
+    ],
+    "pscAutomationConfigs": [ # Optional. List of projects and networks where the PSC endpoints will be created. This field is used by Online Inference(Prediction) only.
+      { # PSC config that is used to automatically create PSC endpoints in the user projects.
+        "errorMessage": "A String", # Output only. Error message if the PSC service automation failed.
+        "forwardingRule": "A String", # Output only. Forwarding rule created by the PSC service automation.
+        "ipAddress": "A String", # Output only. IP address rule created by the PSC service automation.
+        "network": "A String", # Required. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/get): `projects/{project}/global/networks/{network}`.
+        "projectId": "A String", # Required. Project id used to create forwarding rule.
+        "state": "A String", # Output only. The state of the PSC service automation.
+      },
+    ],
+    "serviceAttachment": "A String", # Output only. The name of the generated service attachment resource. This is only populated if the endpoint is deployed with PrivateServiceConnect.
+  },
+  "name": "A String", # Identifier. The resource name of the SandboxEnvironmentTemplate. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`
+  "persistentDiskConfig": { # Configuration for attaching a persistent disk (PD) to each SandboxEnvironment created from this template. A persistent disk provides durable, per-sandbox block storage whose contents survive across the sandbox lifecycle events that this service supports (e.g. pause/resume), unlike ephemeral local storage which is lost when the underlying runtime is torn down. # Optional. Configuration for attaching a persistent disk (PD) to each SandboxEnvironment created from this template. When unset (or when `enabled` is `false`), sandboxes created from this template are not backed by a persistent disk and rely on ephemeral storage only. See PersistentDiskConfig for details.
+    "enabled": True or False, # Optional. Whether a persistent disk is attached to sandboxes created from this template. Defaults to `false`. This flag lets a template carry (and preserve) disk configuration while keeping the disk detached, so it can be toggled on later without re-specifying the rest of the config. When `false`, the remaining fields in this message are ignored.
+    "mountPath": "A String", # Optional. The absolute path inside the sandbox container at which the persistent disk is mounted. Defaults to `/workspace` when unset. Ignored when `enabled` is `false`. Only writes beneath this path land on the disk. Writes elsewhere go to the container's writable layer, which counts against the container's ephemeral storage and is lost when the sandbox's runtime is torn down, so this should be the directory the workload actually writes to. Paths that would shadow the container's system directories (for example `/etc`, `/proc`, or `/usr` itself) are rejected.
+    "sizeGb": "A String", # Optional. The size of the persistent disk in GB. Must be non-negative. When `enabled` is `true`, a positive value is required; when unset or zero while enabled, the service applies a default size. Ignored when `enabled` is `false`.
+  },
+  "state": "A String", # Output only. The state of the sandbox environment template.
+  "updateTime": "A String", # Output only. The timestamp when this SandboxEnvironmentTemplate was most recently updated.
+  "useGkeTd": True or False, # Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool.
+  "warmPoolConfig": { # Configuration for a warm pool of sandbox instances. # Optional. The configuration for the warm pool of this template.
+    "targetInstanceCount": 42, # Optional. The target number of pre-warmed instances to maintain.
+    "updateStrategy": "A String", # Optional. The strategy for updating warm pool instances when the template is updated.
+  },
+}
+
+  updateMask: string, Optional. The fields to update. Only these paths are supported: * `custom_container_environment.custom_container_spec.image_uri` * `warm_pool_config.target_instance_count` * `warm_pool_config.update_strategy`
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.v1beta1.html b/docs/dyn/aiplatform_v1beta1.v1beta1.html index d92af7c747..b536c933bb 100644 --- a/docs/dyn/aiplatform_v1beta1.v1beta1.html +++ b/docs/dyn/aiplatform_v1beta1.v1beta1.html @@ -125,6 +125,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -335,6 +336,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -517,6 +519,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -701,6 +704,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -919,6 +923,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1077,6 +1082,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, ], "outputConfig": { # Config for evaluation output. # Required. Config for evaluation output. @@ -1149,6 +1355,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -3964,6 +4171,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4146,6 +4354,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4330,6 +4539,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4548,6 +4758,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -4706,82 +4917,284 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, - }, - "metricResourceName": "A String", # Optional. Resource name for registered metric. - }, - ], - "metrics": [ # The metrics used for evaluation. Currently, we only support evaluating a single metric. If multiple metrics are provided, only the first one will be evaluated. - { # The metric used for running evaluations. - "aggregationMetrics": [ # Optional. The aggregation metrics to use. - "A String", - ], - "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. - "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. - }, - "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. - "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. - "a_key": "", # Properties of the object. - }, - "type": "A String", # Required. The type of the computation based metric. - }, - "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. - "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used; requests from regions where the sandbox is unavailable will fail with UNIMPLEMENTED. - "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. - }, - "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. - }, - "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. - "additionalConfig": { # Optional. Optional additional configuration for the metric. - "a_key": "", # Properties of the object. - }, - "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). - "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. - "A String", - ], - "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. - "A String", - ], - "diarization": True or False, # Optional. Configures speaker diarization. - "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. - }, - "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. - "A String", - ], - "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. - "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. - "A String", - ], - }, - "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. - "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: }, - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. - { # Configuration for the model to configure output formatting and delivery. + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, + }, + "metricResourceName": "A String", # Optional. Resource name for registered metric. + }, + ], + "metrics": [ # The metrics used for evaluation. Currently, we only support evaluating a single metric. If multiple metrics are provided, only the first one will be evaluated. + { # The metric used for running evaluations. + "aggregationMetrics": [ # Optional. The aggregation metrics to use. + "A String", + ], + "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. + "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + }, + "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. + "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. + "a_key": "", # Properties of the object. + }, + "type": "A String", # Required. The type of the computation based metric. + }, + "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used; requests from regions where the sandbox is unavailable will fail with UNIMPLEMENTED. + "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. + }, + "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. + }, + "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. + "additionalConfig": { # Optional. Optional additional configuration for the metric. + "a_key": "", # Properties of the object. + }, + "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. "audio": { # Configuration for audio-specific output formatting. # Audio output format. "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). "delivery": "A String", # Optional. Delivery mode for the generated content. @@ -4940,6 +5353,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5124,6 +5538,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5342,6 +5757,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -5500,6 +5916,207 @@

Method Details

"splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum. "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score. }, + "stepBasedLlmMetricSpec": { # Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`. # Spec for a step-based LLM metric. + "preprocessor": { # Preprocessing applied to an `AgentData` trace before any step runs. # Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace. + "codeConfig": { # Custom Python preprocessing of an `AgentData` trace. # Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent. + "code": "A String", # Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{"agents": {...}, "turns": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]: + }, + "filterConfig": { # Config-driven preprocessing of an `AgentData` trace. # Config-driven filtering and compression. + "traceCompressionConfig": { # Compression for long traces. # Optional. Compression to apply to the trace. + "maxTurnCount": 42, # Optional. If set, keeps only the last `max_turn_count` turns. Must be positive. + "thoughtsFiltered": True or False, # Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept. + }, + }, + }, + "steps": [ # Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score. + { # A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "audioTranscriptionConfig": { # Configuration for speech recognition (transcription). # Optional. Configuration for audio transcription (speech recognition). + "adaptationPhrases": [ # Optional. Deprecated: Use `custom_vocabulary` instead. A list of phrases to bias the speech recognition model towards. + "A String", + ], + "customVocabulary": [ # Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms. + "A String", + ], + "diarization": True or False, # Optional. Configures speaker diarization. + "languageAuto": { # Deprecated: Use top-level `language_codes` instead. Indicates the language of the audio should be automatically detected. # Optional. Deprecated: Use top-level `language_codes` instead. The model will detect the language automatically. + }, + "languageCodes": [ # Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection. + "A String", + ], + "languageHints": { # Deprecated: Use top-level `language_codes` instead. Provides hints to the model about possible languages present in the audio. # Optional. Deprecated: Use top-level `language_codes` instead. Specifies one or more languages in the audio. + "languageCodes": [ # Required. Deprecated: Use top-level `language_codes` instead. BCP-47 language codes. At least one must be specified. + "A String", + ], + }, + "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. + "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. + }, + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. Deprecated: Use `response_format.image` instead. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseFormat": [ # Optional. New response format field for the model to configure output formatting and delivery. + { # Configuration for the model to configure output formatting and delivery. + "audio": { # Configuration for audio-specific output formatting. # Audio output format. + "bitRate": 42, # Optional. Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus). + "delivery": "A String", # Optional. Delivery mode for the generated content. + "mimeType": "A String", # Optional. The MIME type of the audio output. + "sampleRate": 42, # Optional. Sample rate for the generated audio in Hertz. + }, + "image": { # Configuration for image-specific output formatting. # Image output format. + "aspectRatio": "A String", # Optional. The aspect ratio for the image output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "imageSize": "A String", # Optional. The size of the image output. + "mimeType": "A String", # Optional. The MIME type of the image output. + }, + "text": { # Configuration for text-specific output formatting. # Text output format. + "mimeType": "A String", # Optional. The IANA standard MIME type of the response. + "schema": "", # Optional. The JSON schema that the output should conform to. Only applicable when mime_type is APPLICATION_JSON. + }, + "video": { # Configuration for video-specific output formatting. # Video output format. + "aspectRatio": "A String", # The aspect ratio for the video output. + "delivery": "A String", # Optional. Delivery mode for the generated content. + "duration": "A String", # Optional. The duration for the video output. + "gcsUri": "A String", # Optional. The Google Cloud Storage URI to store the video output. Required for Vertex if delivery is URI. + "resolution": "A String", # Optional. The video output resolution. Supported values: "360p", "720p", "1080p", "4k". + }, + }, + ], + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. Deprecated: Use `response_format` instead. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. Deprecated: Use `response_format` instead. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `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 + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "voice": "A String", # Optional. The speaker identifier for synthesis. Supported formats: * Speaker name for prebuilt voices (for example, `Orus` or `Kore`). * Voice ID for stored voices (for example, `voice_xxx`). * Voice replication key (for example, `voicekey_xxx`). + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + "translationConfig": { # Config for translation features. # Optional. Config for translation. + "echoTargetLanguage": True or False, # Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + "targetLanguageCode": "A String", # Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + }, + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "promptTemplate": "A String", # Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`. + "responseParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. How to parse this step's LLM response. + "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response. + "codeExecutionRegion": "A String", # Optional. The region to use for code execution. If set, the Code Execution Sandbox will be invoked in the specified region regardless of the request's originating region. Must be a region where the Code Execution Sandbox is available. For the current list of [supported regions](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/locations). If unset, the request's originating region is used. + "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation + }, + }, + "stepId": "A String", # Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`. + }, + ], + }, }, ], "metricxInput": { # Input for MetricX metric. # Input for Metricx metric. @@ -6794,6 +7411,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -6972,6 +7590,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. diff --git a/googleapiclient/discovery_cache/documents/aiplatform.v1.json b/googleapiclient/discovery_cache/documents/aiplatform.v1.json index 7ccc26533f..fd797de19e 100644 --- a/googleapiclient/discovery_cache/documents/aiplatform.v1.json +++ b/googleapiclient/discovery_cache/documents/aiplatform.v1.json @@ -7622,11 +7622,6 @@ "parent" ], "parameters": { -"idpNonce": { -"description": "Optional. Optional. One-time cryptographic nonce issued by the trusted IdP provisioning iframe for session and device non-repudiation.", -"location": "query", -"type": "string" -}, "parent": { "description": "Required. The resource name of the location to create the agent in. Format: `projects/{project}/locations/{location}`.", "location": "path", @@ -22037,6 +22032,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"setDefault": { +"description": "Sets the default NotebookRuntimeTemplate for a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates:setDefault", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.setDefault", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to set the default NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/notebookRuntimeTemplates:setDefault", +"request": { +"$ref": "GoogleCloudAiplatformV1SetDefaultNotebookRuntimeTemplateRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1SetDefaultNotebookRuntimeTemplateResponse" +}, +"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}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:setIamPolicy", @@ -24003,12 +24026,6 @@ "publishersId" ], "parameters": { -"ids": { -"description": "Optional. Batch fetch: return only these files, up to 100 IDs after de-duplication. Mutually exclusive with both `page` and `limit`. Serialised as a repeated `ids` query parameter, one occurrence per ID.", -"location": "query", -"repeated": true, -"type": "string" -}, "limit": { "description": "Optional. The number of files to return per page. Defaults to 20 if unset, maximum 1000. Mutually exclusive with `ids`.", "format": "int32", @@ -37356,7 +37373,7 @@ } } }, -"revision": "20261028", +"revision": "20261106", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionExperimentsResponse": { @@ -38634,11 +38651,13 @@ "description": "Programming language of the `code`.", "enum": [ "LANGUAGE_UNSPECIFIED", -"PYTHON" +"PYTHON", +"BASH" ], "enumDescriptions": [ "Unspecified language. This value should not be used.", -"Python >= 3.10, with numpy and simpy available." +"Python >= 3.10, with numpy and simpy available.", +"Bash. Only available for Gemini 3.0 model or above." ], "type": "string" } @@ -38677,11 +38696,13 @@ "description": "Programming language of the `code`.", "enum": [ "LANGUAGE_UNSPECIFIED", -"PYTHON" +"PYTHON", +"BASH" ], "enumDescriptions": [ "Unspecified language. This value should not be used.", -"Python >= 3.10, with numpy and simpy available." +"Python >= 3.10, with numpy and simpy available.", +"Bash. Only available for Gemini 3.0 model or above." ], "type": "string" } @@ -39228,7 +39249,7 @@ }, "parameters": { "$ref": "GenaiVertexV1Value", -"description": "The JSON Schema for the function's parameters." +"description": "The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced." } }, "type": "object" @@ -39983,7 +40004,8 @@ "FAILED", "CANCELLED", "INCOMPLETE", -"QUEUED" +"QUEUED", +"REQUIRES_CONTINUATION" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -39993,7 +40015,8 @@ "The interaction failed.", "The interaction was cancelled.", "The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).", -"The interaction is queued, waiting for processing (e.g. waiting for off-peak capacity)." +"The interaction is queued, waiting for processing (e.g. waiting for off-peak capacity).", +"The interaction requires at least one more request for it to be completed. The next request should set the continuation_token to the one returned by this request." ], "readOnly": true, "type": "string" @@ -40075,7 +40098,8 @@ "FAILED", "CANCELLED", "INCOMPLETE", -"QUEUED" +"QUEUED", +"REQUIRES_CONTINUATION" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -40085,7 +40109,8 @@ "The interaction failed.", "The interaction was cancelled.", "The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).", -"The interaction is queued, waiting for processing (e.g. waiting for off-peak capacity)." +"The interaction is queued, waiting for processing (e.g. waiting for off-peak capacity).", +"The interaction requires at least one more request for it to be completed. The next request should set the continuation_token to the one returned by this request." ], "type": "string" }, @@ -40152,6 +40177,11 @@ }, "type": "array" }, +"initialInputTokens": { +"description": "Number of input tokens used in the first turn of this interaction.", +"format": "int32", +"type": "integer" +}, "inputTokensByModality": { "description": "A breakdown of input token usage by modality.", "items": { @@ -41147,7 +41177,7 @@ false }, "schema": { "$ref": "GenaiVertexV1Struct", -"description": "The JSON schema that the output should conform to. Only applicable when mime_type is application/json." +"description": "The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error." } }, "type": "object" @@ -41615,7 +41645,8 @@ false "IMAGE_TO_VIDEO", "REFERENCE_TO_VIDEO", "EDIT", -"EXTEND" +"EXTEND", +"UPSCALE" ], "enumDescriptions": [ "Unspecified task. The task is inferred from the input prompt and media.", @@ -41623,7 +41654,8 @@ false "Generates video from one or two source images. The first image defines the starting frame, and the optional second image defines the ending frame.", "Generates video using reference media (such as images, audio, or video).", "Modifies an existing input video.", -"Extends an existing input video." +"Extends an existing input video.", +"Increases the resolution of an existing input video." ], "type": "string" } @@ -42016,11 +42048,19 @@ false "description": "A Vertex agent contains instructions and configurations for the LLM to execute a certain task.", "id": "GoogleCloudAiplatformV1Agent", "properties": { +"agentIdentity": { +"$ref": "GoogleCloudAiplatformV1AgentIdentity", +"description": "Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition)." +}, "aiApplication": { "description": "Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`.", "readOnly": true, "type": "string" }, +"allowedTeammates": { +"$ref": "GoogleCloudAiplatformV1AllowedTeammates", +"description": "Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`." +}, "base_agent": { "description": "Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead.", "type": "string" @@ -42044,10 +42084,18 @@ false "readOnly": true, "type": "string" }, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created." +}, "id": { "description": "Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", "type": "string" }, +"memoryConfig": { +"$ref": "GoogleCloudAiplatformV1AgentMemoryConfig", +"description": "Optional. Memory settings for the agent." +}, "metadata": { "additionalProperties": { "type": "string" @@ -42072,6 +42120,19 @@ false "$ref": "GoogleCloudAiplatformV1ObservabilityConfig", "description": "Optional. Observability settings for this agent's sessions." }, +"owner": { +"$ref": "GoogleCloudAiplatformV1Principal", +"description": "Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy \u2014 so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner." +}, +"persona": { +"$ref": "GoogleCloudAiplatformV1Persona", +"description": "Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal." +}, +"status": { +"$ref": "GoogleCloudAiplatformV1AgentStatus", +"description": "Output only. The current operational state of the agent.", +"readOnly": true +}, "system_instruction": { "description": "Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.", "type": "string" @@ -42185,6 +42246,37 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1AgentIdentity": { +"description": "Identity configuration for an agent.", +"id": "GoogleCloudAiplatformV1AgentIdentity", +"properties": { +"email": { +"description": "Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain.", +"type": "string" +}, +"gaiaId": { +"description": "Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`.", +"readOnly": true, +"type": "string" +}, +"tenant": { +"$ref": "GoogleCloudAiplatformV1Tenant", +"description": "Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. \"C0123abcd\")." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AgentMemoryConfig": { +"description": "Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks.", +"id": "GoogleCloudAiplatformV1AgentMemoryConfig", +"properties": { +"disableMemory": { +"description": "Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them.", +"type": "boolean" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1AgentModelConfig": { "description": "Selects the model configuration for an agent. Starts with just the model id/alias; extensible with further model parameters without a breaking change.", "id": "GoogleCloudAiplatformV1AgentModelConfig", @@ -42212,6 +42304,73 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1AgentStatus": { +"description": "Operational state of the agent.", +"id": "GoogleCloudAiplatformV1AgentStatus", +"properties": { +"deleteTime": { +"description": "Output only. The time at which the agent was soft-deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the agent.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"SUSPENDED", +"ARCHIVED", +"DELETED" +], +"enumDescriptions": [ +"Unspecified agent state.", +"The agent is active and ready to process requests.", +"The agent is suspended.", +"The agent is archived (read-only).", +"The agent is soft-deleted." +], +"readOnly": true, +"type": "string" +}, +"suspensionReason": { +"$ref": "GoogleCloudAiplatformV1AgentStatusSuspensionReason", +"description": "Output only. Context about the current active suspension.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AgentStatusSuspensionReason": { +"description": "Details about the active suspension. This message is only populated if the state is SUSPENDED.", +"id": "GoogleCloudAiplatformV1AgentStatusSuspensionReason", +"properties": { +"reason": { +"description": "Output only. The reason for the current suspension.", +"enum": [ +"REASON_UNSPECIFIED", +"ABUSE", +"ADMIN", +"USER_INITIATED" +], +"enumDescriptions": [ +"Unspecified suspension reason.", +"Suspended due to abuse or terms of service violations.", +"Suspended by a domain administrator.", +"Suspended by the owner/user." +], +"readOnly": true, +"type": "string" +}, +"suspensionTime": { +"description": "Output only. The time when the current suspension was applied.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1AgentTool": { "description": "A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { \"type\": \"mcp_server\", \"name\": \"my-mcp-server\", \"url\": \"https://api.example.com/mcp\", \"headers\": { \"Authorization\": \"Bearer token123\" } }", "id": "GoogleCloudAiplatformV1AgentTool", @@ -42228,7 +42387,7 @@ false "type": "string" }, "type": { -"description": "Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context`", +"description": "Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation`", "type": "string" }, "url": { @@ -42317,6 +42476,20 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1AllowedTeammates": { +"description": "The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports.", +"id": "GoogleCloudAiplatformV1AllowedTeammates", +"properties": { +"teammates": { +"description": "Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge.", +"items": { +"$ref": "GoogleCloudAiplatformV1Teammate" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1Annotation": { "description": "Used to assign specific AnnotationSpec to a particular area of a DataItem or the whole part of the DataItem.", "id": "GoogleCloudAiplatformV1Annotation", @@ -42784,6 +42957,10 @@ false ], "type": "string" }, +"sourceText": { +"description": "Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it.", +"type": "string" +}, "wordTimestamp": { "description": "Optional. Configures word-level timestamp generation.", "type": "boolean" @@ -44274,7 +44451,8 @@ false "UNEXPECTED_TOOL_CALL", "NO_IMAGE", "MALFORMED_RESPONSE", -"CONTINUATION" +"CONTINUATION", +"TOO_MANY_TOOL_CALLS" ], "enumDescriptions": [ "The finish reason is unspecified.", @@ -44295,7 +44473,8 @@ false "The model generated a function call that is semantically invalid. This can happen, for example, if function calling is not enabled or the generated function is not in the function declaration.", "The model was expected to generate an image, but didn't.", "Finishes due to malformed response.", -"Token generation was stopped because the response reached the per-request token limit, but generation is not yet complete. The model response can be continued via a subsequent request using the returned `continuation_token`." +"Token generation was stopped because the response reached the per-request token limit, but generation is not yet complete. The model response can be continued via a subsequent request using the returned `continuation_token`.", +"The model made too many tool calls in a single request, so the server-side tool loop stopped before the model returned a final answer." ], "readOnly": true, "type": "string" @@ -46061,6 +46240,17 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1DataAgentConfig": { +"description": "Config for scraping a Gemini Data Analytics data agent.", +"id": "GoogleCloudAiplatformV1DataAgentConfig", +"properties": { +"dataAgent": { +"description": "Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1DataItem": { "description": "A piece of data in a Dataset. Could be an image, a video, a document or plain text.", "id": "GoogleCloudAiplatformV1DataItem", @@ -48009,6 +48199,10 @@ false "description": "Request message for EvaluationService.EvaluateInstances.", "id": "GoogleCloudAiplatformV1EvaluateInstancesRequest", "properties": { +"allowCrossRegionModel": { +"description": "Optional. Allows the evaluation run to use cross region models. When this flag is set, the service may route traffic to other regions if a model is unavailable in the current region (e.g., to a `global` endpoint). If a fully-qualified model endpoint resource name with a different region than the request location is provided elsewhere in the request, this flag must be set to true or the request will fail.", +"type": "boolean" +}, "autoraterConfig": { "$ref": "GoogleCloudAiplatformV1AutoraterConfig", "description": "Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored." @@ -49079,6 +49273,10 @@ false "description": "Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", "type": "string" }, +"serviceAccount": { +"description": "Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it.", +"type": "string" +}, "state": { "description": "Output only. The state of the evaluation run.", "enum": [ @@ -49272,6 +49470,10 @@ false "description": "Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456", "type": "string" }, +"dataAgentConfig": { +"$ref": "GoogleCloudAiplatformV1DataAgentConfig", +"description": "Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation." +}, "geminiAgentConfig": { "$ref": "GoogleCloudAiplatformV1GeminiAgentConfig", "description": "Optional. Config for scraping a Gemini Agent via the Interactions API. The scraping service creates interactions against the agent and returns the resulting interaction traces for evaluation." @@ -54715,7 +54917,7 @@ false }, "gcsDestination": { "$ref": "GoogleCloudAiplatformV1GcsDestination", -"description": "Required. The Cloud Storage location where the resulting EvaluationItem payloads will be stored." +"description": "Optional. The Cloud Storage location where the resulting EvaluationItem payloads will be stored. Required for every source except `harbor_dataset`, which must not set it." }, "gcsSource": { "$ref": "GoogleCloudAiplatformV1ImportEvaluationSetRequestGcsSource", @@ -62111,6 +62313,29 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1Persona": { +"description": "The persona (presentation) of an agent.", +"id": "GoogleCloudAiplatformV1Persona", +"properties": { +"avatarUrl": { +"description": "Optional. The URL of the agent's avatar.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the agent.", +"type": "string" +}, +"personality": { +"description": "Optional. The personality style or behavioral trait of the agent.", +"type": "string" +}, +"role": { +"description": "Optional. The role of the agent (e.g., \"Financial Analyst\").", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1PipelineJob": { "description": "An instance of a machine learning PipelineJob.", "id": "GoogleCloudAiplatformV1PipelineJob", @@ -63064,6 +63289,29 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1Principal": { +"description": "Represents an identity principal (user or service).", +"id": "GoogleCloudAiplatformV1Principal", +"properties": { +"id": { +"description": "Optional. The system unique identifier of the principal.", +"type": "string" +}, +"type": { +"description": "Optional. The type of the principal.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER" +], +"enumDescriptions": [ +"Unspecified principal type.", +"A standard human user principal." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1PrivateEndpoints": { "description": "PrivateEndpoints proto is used to provide paths for users to send requests privately. To send request via private service access, use predict_http_uri, explain_http_uri or health_http_uri. To send request via private service connect, use service_attachment.", "id": "GoogleCloudAiplatformV1PrivateEndpoints", @@ -65541,6 +65789,10 @@ false "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource", "description": "Source code is in a Git repository managed by Developer Connect." }, +"gitSource": { +"$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecGitSource", +"description": "Source code is in a public Git repository." +}, "imageSpec": { "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec", "description": "Optional. Configuration for building an image with custom config file." @@ -65616,6 +65868,25 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecGitSource": { +"description": "Specifies source code to be fetched from a public Git repository.", +"id": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecGitSource", +"properties": { +"dir": { +"description": "Optional. Directory, relative to the source root, in which to run the build.", +"type": "string" +}, +"revision": { +"description": "Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported.", +"type": "string" +}, +"url": { +"description": "Required. The HTTPS URL of the public Git repository to clone.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec": { "description": "The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory.", "id": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec", @@ -69663,6 +69934,10 @@ false "description": "The model name.", "type": "string" }, +"outputConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessageOutputConfig", +"description": "Optional. Configuration for persisting output assets to external storage." +}, "safetySettings": { "description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", "items": { @@ -69688,6 +69963,17 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1SchemaPromptSpecPromptMessageOutputConfig": { +"description": "Configuration for persisting output assets to external storage.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessageOutputConfig", +"properties": { +"outputUriPrefix": { +"description": "Optional. The Cloud Storage URI prefix or directory where generated media assets should be written (e.g. `gs://my-bucket/prefix/`).", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair": { "description": "A pair of sentences used as reference in source and target languages.", "id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair", @@ -72480,6 +72766,28 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1SetDefaultNotebookRuntimeTemplateRequest": { +"description": "Request message for NotebookService.SetDefaultNotebookRuntimeTemplate.", +"id": "GoogleCloudAiplatformV1SetDefaultNotebookRuntimeTemplateRequest", +"properties": { +"name": { +"description": "Required. The resource name of the NotebookRuntimeTemplate to set as default. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SetDefaultNotebookRuntimeTemplateResponse": { +"description": "Response message for NotebookService.SetDefaultNotebookRuntimeTemplate.", +"id": "GoogleCloudAiplatformV1SetDefaultNotebookRuntimeTemplateResponse", +"properties": { +"notebookRuntimeTemplate": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate", +"description": "The NotebookRuntimeTemplate that was set as default." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1SharePointSources": { "description": "The SharePointSources to pass to ImportRagFiles.", "id": "GoogleCloudAiplatformV1SharePointSources", @@ -74087,6 +74395,60 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1Teammate": { +"description": "One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none.", +"id": "GoogleCloudAiplatformV1Teammate", +"properties": { +"email": { +"description": "Optional. Email address of the teammate.", +"type": "string" +}, +"expansionMode": { +"description": "Optional. Expansion mode for group or space teammates.", +"enum": [ +"EXPANSION_MODE_UNSPECIFIED", +"INFER", +"EXPANDED", +"NON_EXPANDED" +], +"enumDescriptions": [ +"Unspecified expansion mode.", +"Infer whether to expand based on roster type (e.g., expand Google Groups, do not expand Chat Spaces).", +"Transitive expansion: the agent can contact individual members of the group.", +"Non-expanded: the agent can contact the group or space as a channel, without expanding to individual members." +], +"type": "string" +}, +"gaiaId": { +"description": "Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Tenant": { +"description": "Represents an enterprise tenant.", +"id": "GoogleCloudAiplatformV1Tenant", +"properties": { +"id": { +"description": "Optional. The unique raw ID of the tenant.", +"type": "string" +}, +"type": { +"description": "Optional. The type of the tenant.", +"enum": [ +"TYPE_UNSPECIFIED", +"WORKSPACE_CUSTOMER" +], +"enumDescriptions": [ +"Unspecified tenant type.", +"Workspace customer domain tenant." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1Tensor": { "description": "A tensor value type.", "id": "GoogleCloudAiplatformV1Tensor", diff --git a/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json b/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json index 38676a5503..8bea162e0d 100644 --- a/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json @@ -10,6 +10,12 @@ }, "https://www.googleapis.com/auth/cloud-platform.read-only": { "description": "View your data across Google Cloud services and see the email address of your Google Account" +}, +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite": { +"description": "View your Agentspace chat history, including uploaded files and generated reports and visualizations, and interact with the Agentspace assistant on your behalf. Also view the artifacts you access through NotebookLM Enterprise." +}, +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite": { +"description": "Interact with Discovery Engine API products, such as Agentspace, Vertex AI Search, or NotebookLM Enterprise, on your behalf. It will also allow the app to view all data that you have access to when you use or interact with a Discovery Engine API product." } } } @@ -787,6 +793,123 @@ } } }, +"collaborativeProjects": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/collaborativeProjects/{collaborativeProjectsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.collaborativeProjects.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^collaborativeProjects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/collaborativeProjects/{collaborativeProjectsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.collaborativeProjects.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^collaborativeProjects/[^/]+/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/collaborativeProjects/{collaborativeProjectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.collaborativeProjects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^collaborativeProjects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/collaborativeProjects/{collaborativeProjectsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.collaborativeProjects.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^collaborativeProjects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, "customJobs": { "resources": { "operations": { @@ -5842,48 +5965,211 @@ } } }, -"media": { +"learningSets": { +"resources": { +"operations": { "methods": { -"upload": { -"description": "Upload a file into a RagCorpus.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:upload", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/learningSets/{learningSetsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.media.upload", -"mediaUpload": { -"accept": [ -"*/*" +"id": "aiplatform.learningSets.operations.cancel", +"parameterOrder": [ +"name" ], -"protocols": { -"simple": { -"multipart": true, -"path": "/upload/v1beta1/{+parent}/ragFiles:upload" +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^learningSets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" } +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/learningSets/{learningSetsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.learningSets.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^learningSets/[^/]+/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/learningSets/{learningSetsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.learningSets.operations.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"name": { +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"pattern": "^learningSets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragFiles:upload", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1UploadRagFileRequest" +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" }, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/learningSets/{learningSetsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.learningSets.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": "^learningSets/[^/]+$", +"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": "GoogleCloudAiplatformV1beta1UploadRagFileResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/learningSets/{learningSetsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.learningSets.operations.wait", +"parameterOrder": [ +"name" ], -"supportsMediaUpload": true +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^learningSets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"media": { +"methods": { +"download": { +"description": "Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}:download", +"httpMethod": "GET", +"id": "aiplatform.media.download", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The task or collaborative project to download from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+$", +"required": true, +"type": "string" +}, +"path": { +"description": "Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.md`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.", +"location": "query", +"type": "string" +}, +"processingConfig.outputMimeType": { +"description": "Required. The media type of the rendition: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid. Any other value fails with `INVALID_ARGUMENT`.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:download", +"response": { +"$ref": "GdataMedia" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +], +"supportsMediaDownload": true, +"useMediaDownloadService": true } } }, @@ -10084,11 +10370,6 @@ "parent" ], "parameters": { -"idpNonce": { -"description": "Optional. Optional. One-time cryptographic nonce issued by the trusted IdP provisioning iframe for session and device non-repudiation.", -"location": "query", -"type": "string" -}, "parent": { "description": "Required. The resource name of the location to create the agent in. Format: `projects/{project}/locations/{location}`.", "location": "path", @@ -10499,681 +10780,792 @@ ] } } -} -} }, -"apps": { -"resources": { -"operations": { +"tasks": { "methods": { "cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}:cancel", +"deprecated": true, +"description": "Deprecated: use `CancelTaskLro` instead. This method keeps the same cancellation semantics but returns `Task` directly, which forecloses the future cascade behaviour on recurring parents that only an `Operation` return type can express. Cancels a task, out-of-band by id. Drains any in-progress work and moves the task to CANCELLED. Use this when there is no active stream (e.g. a scheduled or background task) or when a caller other than the streaming client cancels. A task may also be cancelled in-band via the bidi cancel_task end_request; the two paths are equivalent. Cancellation semantics: * Idempotent: cancelling an already-terminal task is a no-op that returns the current Task; concurrent/duplicate cancels collapse to one CANCELLED. * First terminal state wins: once the task is CANCELLED/COMPLETED/FAILED, later cancels have no effect. * Cancel takes precedence over complete_task: a cancel arriving while (or after) a client half-closes with complete_task still drives the task to CANCELLED rather than letting it finish.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.apps.operations.cancel", +"id": "aiplatform.projects.locations.agents.tasks.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The name of the task to cancel. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelTaskRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1Task" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.apps.operations.delete", +"create": { +"description": "Creates a task without opening a live channel. Convenient for scheduled/background tasks where the caller does not need to drive the execution interactively; observe progress later via StreamTask (or by reconnecting to CreateTaskBidiStream with a `subscribe_task` request).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.agents.tasks.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", +"parent": { +"description": "Required. The parent agent that owns this task. Format: projects/{project}/locations/{location}/agents/{agent}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.apps.operations.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", -"required": true, +"uniqueCreationToken": { +"description": "Optional. Optional idempotency token to guarantee the task is created only once. Suggest a UUID. A create carrying a token that a live task of the same agent already holds fails with `ALREADY_EXISTS`, naming that task in the response. The token is free again once that task finishes.", +"location": "query", "type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.apps.operations.list", -"parameterOrder": [ -"name" +"userContext.channel": { +"description": "Optional. How the user's input reached the agent. Leave unset when the user talks to the agent directly in an AI-native interface.", +"enum": [ +"CHANNEL_UNSPECIFIED", +"CHAT", +"EMAIL" +], +"enumDescriptions": [ +"Default. The user is talking to the agent directly in an AI-native interface (e.g. the Gemini Enterprise app, Workspace Studio, or the Gemini app), or the channel is unknown. The agent applies no channel-specific behavior.", +"A threaded conversation on a communication product where the agent is one participant, e.g. a Google Chat DM or space, or a comment thread on a document. The agent keeps its reply short and conversational, suited to a thread that others can read, and may ask a follow-up question.", +"An email message. The agent writes a complete, self-contained reply suited to email, and avoids follow-up questions it could anticipate, since each round trip is slow." ], -"parameters": { -"filter": { -"description": "The standard list filter.", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", -"required": true, -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", +"userContext.location": { +"description": "Optional. The user's coarse, human-readable location, e.g. \"Mountain View, CA, US\". Must be no more precise than city level; never send street addresses, postal codes, or coordinates. The agent uses it for location-dependent requests, e.g. weather or nearby places.", "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.", +"userContext.timeZone": { +"description": "Optional. The user's IANA time zone name, e.g. \"America/Los_Angeles\". The agent uses it to interpret and present dates and times, e.g. to resolve \"tomorrow morning\".", "location": "query", -"type": "boolean" +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/tasks", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Task" +}, "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1Task" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.apps.operations.wait", +"delete": { +"description": "Deletes a task. Long-running because deletion cascades: it cancels any active run (WORKING / REQUIRES_ACTION / SUSPENDED tasks are cancelled-then-deleted, not rejected), and cleans up the task's bound resources -- environment, generated artifacts, and the runtime trajectory/sessions. The operation completes when the cascade finishes; on success the response is google.protobuf.Empty.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.agents.tasks.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Required. The name of the task to delete. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"operateOnSelf": { +"description": "Optional. Whether to skip cascading deletion to all descendant subtasks. Defaults to false (cascades to all descendants by default). Matches google.cloud.aiplatform.master.CancelTaskRequest.operate_on_self. Behavior: UNSET or false \u21d2 cascade: delete this task and every non-terminal descendant (gated by Mendel flag sobi_enable_cascading_delete_task; returns FAILED_PRECONDITION when the flag is OFF and the task has non-terminal children). true \u21d2 delete this task only. Each descendant deletion signals the runtime for the live-session case (Actor.OnCancel finalizes trajectory + reclaims sandbox VM) before removing the Sobi DB rows, matching the single-DeleteTask contract.", "location": "query", -"type": "string" +"type": "boolean" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] -} -} -} -} }, -"batchPredictionJobs": { -"methods": { -"cancel": { -"description": "Cancels a BatchPredictionJob. Starts asynchronous cancellation on the BatchPredictionJob. The server makes the best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetBatchPredictionJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On a successful cancellation, the BatchPredictionJob is not deleted;instead its BatchPredictionJob.state is set to `CANCELLED`. Any files already outputted by the job are not deleted.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}:cancel", +"deleteArtifact": { +"description": "Deletes a file from a task's workspace. `path` must be an absolute path to a file under `/workspace/userdata/` (for example, `/workspace/userdata/input.csv`). Paths outside `/workspace/userdata/`, `/workspace/userdata` itself, relative paths, or paths with `.` or `..` segments fail with `INVALID_ARGUMENT`. Directory paths and tasks in a terminal state fail with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is true, in which case the call succeeds with an empty response.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:deleteArtifact", "httpMethod": "POST", -"id": "aiplatform.projects.locations.batchPredictionJobs.cancel", +"id": "aiplatform.projects.locations.agents.tasks.deleteArtifact", "parameterOrder": [ -"name" +"task" ], "parameters": { -"name": { -"description": "Required. The name of the BatchPredictionJob to cancel. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"task": { +"description": "Required. The task to delete from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+task}:deleteArtifact", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelBatchPredictionJobRequest" +"$ref": "GoogleCloudAiplatformV1beta1DeleteTaskArtifactRequest" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1DeleteTaskArtifactResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, -"create": { -"description": "Creates a BatchPredictionJob. A BatchPredictionJob once created will right away be attempted to start.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.batchPredictionJobs.create", +"download": { +"description": "Downloads a file. The response body is the file's bytes, with the file's own media type as the `Content-Type` and a `Content-Disposition` that names the file. Media is the default and only representation, so no `alt` parameter is needed. A preview sets `processing_config` and gets a rendition of the file in place of the file, such as a PDF of a .pptx: the response body is the rendition, with its own media type as the `Content-Type` and a `Content-Disposition` name that ends in its extension. Without `processing_config` the response is always the stored file.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:download", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.agents.tasks.download", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the BatchPredictionJob in. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "Required. The task or collaborative project to download from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+parent}/batchPredictionJobs", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" +"path": { +"description": "Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.md`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.", +"location": "query", +"type": "string" +}, +"processingConfig.outputMimeType": { +"description": "Required. The media type of the rendition: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid. Any other value fails with `INVALID_ARGUMENT`.", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+name}:download", "response": { -"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" +"$ref": "GdataMedia" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +], +"supportsMediaDownload": true, +"useMediaDownloadService": true }, -"delete": { -"description": "Deletes a BatchPredictionJob. Can only be called on jobs that already finished.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.batchPredictionJobs.delete", +"downloadArtifact": { +"description": "Downloads a file from a task's workspace as a stream of chunks. A server-streaming RPC. The response body is the file's raw bytes, with the file's own media type as the `Content-Type`. At most 1 GiB. Like ListTaskArtifacts, reads from the running sandbox when there is one, so a file the agent has just written is returned even before it reaches storage.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:downloadArtifact", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.agents.tasks.downloadArtifact", "parameterOrder": [ -"name" +"task" ], "parameters": { -"name": { -"description": "Required. The name of the BatchPredictionJob resource to be deleted. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"path": { +"description": "Required. Absolute path of the file to read, e.g. \"/workspace/report.md\". Must be under \"/workspace\", at most 1024 characters, and not contain a \"..\" segment.", +"location": "query", +"type": "string" +}, +"processingConfig.outputMimeType": { +"description": "Required. The media type to return: * `application/pdf`: the file as a PDF, e.g. a .docx or .pptx. * `application/json`: a spreadsheet, e.g. a .xlsx, as JSON describing its sheets and cells, from which a client draws the workbook as a grid. Any other value fails with `INVALID_ARGUMENT`.", +"location": "query", +"type": "string" +}, +"task": { +"description": "Required. The task to download from. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+task}:downloadArtifact", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, "get": { -"description": "Gets a BatchPredictionJob", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}", +"description": "Gets a task.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.batchPredictionJobs.get", +"id": "aiplatform.projects.locations.agents.tasks.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the BatchPredictionJob resource. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"description": "Required. The name of the task to retrieve. Both name forms are accepted: * projects/{project}/locations/{location}/agents/{agent}/tasks/{task} * projects/{project}/locations/{location}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" +"$ref": "GoogleCloudAiplatformV1beta1Task" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, "list": { -"description": "Lists BatchPredictionJobs in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs", +"description": "Lists tasks under a parent. Supports filtering (e.g. by status or assigned_agent) so a surface can show \"my tasks\".", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks", "httpMethod": "GET", -"id": "aiplatform.projects.locations.batchPredictionJobs.list", +"id": "aiplatform.projects.locations.agents.tasks.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `model_display_name` supports `=`, `!=` comparisons. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"description": "Optional. A filter expression, e.g. \"status=WORKING\". Lineage filters pick how much of a task tree to fetch: * \"parent_task_id=\" -- direct children only (progressive disclosure, one level per call). * \"root_task_id=\" -- the whole tree in one flat collection. Label filters support filtering by task labels: * \"labels.=\" -- match tasks with the given label key and value. Multiple label filters can be combined with AND. Multiple values for the same key can be combined with OR, e.g., \"labels.foo=bar OR labels.foo=baz\". Status filters restrict the listing to tasks in the given statuses: * \"status=\" -- e.g. \"status=WORKING\". Multiple statuses can be combined with OR, e.g., \"status=WORKING OR status=IDLE\". Both page normally via `page_size`/`page_token`, and both are ordered by `order_by` (default \"create_time desc\"), not by tree shape. A whole-tree page is therefore not a subtree: a child can arrive before its parent, so the client buffers by `parent_task_id` and renders as parents resolve.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort order, e.g. \"create_time desc\". The sortable fields are `create_time` and `update_time`. Defaults to \"create_time desc\".", "location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of tasks to return. The service may return fewer. If unspecified (or <= 0), at most 50 are returned. The maximum is 100; larger values are capped to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained via ListBatchPredictionJobsResponse.next_page_token of the previous JobService.ListBatchPredictionJobs call.", +"description": "Optional. A page token from a previous ListTasks call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the BatchPredictionJobs from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The parent to list tasks under. Both forms are accepted and scope the listing differently: * projects/{project}/locations/{location}/agents/{agent} -- tasks assigned to that agent. * projects/{project}/locations/{location} -- all tasks in the location.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/batchPredictionJobs", +"path": "v1beta1/{+parent}/tasks", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListBatchPredictionJobsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListTasksResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] -} -} }, -"cachedContents": { -"methods": { -"create": { -"description": "Creates cached content, this call will initialize the cached content in the data storage, and users need to pay for the cache data storage.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.cachedContents.create", +"listArtifacts": { +"description": "Lists the files in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:listArtifacts", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.agents.tasks.listArtifacts", "parameterOrder": [ -"parent" +"task" ], "parameters": { -"parent": { -"description": "Required. The parent resource where the cached content will be created", +"pageSize": { +"description": "Optional. The maximum number of entries to return. The service may return fewer. If unspecified (or <= 0), at most 100 are returned. The maximum is 1000; larger values are capped to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token from a previous ListTaskArtifacts call. The workspace is live: the agent can write between pages, so a paged listing is not a snapshot. An entry added during the walk may or may not appear, and one removed may still be listed and then fail to download.", +"location": "query", +"type": "string" +}, +"path": { +"description": "Optional. Absolute path of the directory to list, e.g. \"/workspace/userdata\". Must be \"/workspace\" or under it, at most 1024 characters, and not contain a \"..\" segment. Defaults to \"/workspace\".", +"location": "query", +"type": "string" +}, +"recursive": { +"description": "Optional. If true, descends into subdirectories. Results are breadth-first.", +"location": "query", +"type": "boolean" +}, +"task": { +"description": "Required. The task whose workspace to list. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/cachedContents", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CachedContent" -}, +"path": "v1beta1/{+task}:listArtifacts", "response": { -"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +"$ref": "GoogleCloudAiplatformV1beta1ListTaskArtifactsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, -"delete": { -"description": "Deletes cached content", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.cachedContents.delete", +"patch": { +"description": "Updates a task's mutable fields (e.g. schedule, priority, title). Typically allowed while the task is IDLE.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.agents.tasks.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name referring to the cached content", +"description": "Identifier. Resource name of the task.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Task" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1Task" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, -"get": { -"description": "Gets cached content configurations", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.cachedContents.get", +"resume": { +"description": "Resumes a suspended task, transitioning it back to an active state (WORKING or QUEUED).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:resume", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.agents.tasks.resume", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name referring to the cached content", +"description": "Required. The name of the task to resume. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:resume", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ResumeTaskRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +"$ref": "GoogleCloudAiplatformV1beta1Task" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, -"list": { -"description": "Lists cached contents in a project", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents", +"stream": { +"description": "Read-only server-stream of a task's execution by id: trajectory steps and status changes, resumable from a step sequence number. Unlike CreateTaskBidiStream, it does not accept client inputs -- use it to observe or replay a task (the trajectory is not stored on the Task resource). This is the entry point for *observers*: it tails the trajectory from interaction storage without restoring the runtime actor, so it adds no restore latency and continues to follow output that a participant driving the task on a CreateTaskBidiStream connection produces. Observe-only clients should prefer this over a subscribe_task connect on CreateTaskBidiStream, which restores the actor and is meant for clients that will send input.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:stream", "httpMethod": "GET", -"id": "aiplatform.projects.locations.cachedContents.list", +"id": "aiplatform.projects.locations.agents.tasks.stream", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"pageSize": { -"description": "Optional. The maximum number of cached contents to return. The service may return fewer than this value. If unspecified, some default (under maximum) number of items will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. A page token, received from a previous `ListCachedContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCachedContents` must match the call that provided the page token.", +"continuationToken": { +"description": "Optional. Opaque resume cursor, as issued on TaskServerEvent.continuation_token. Replay continues immediately after the event that carried the token. Takes precedence over next_step_seq_num when both are set. A token this stream cannot redeem is rejected with INVALID_ARGUMENT rather than silently falling back to the numeric cursor, so a client cannot mistake a rejected resume for a replay from the start; reconnect without a token instead. That covers a malformed token, one issued by a connection whose delta streaming differs from this one's (see TaskSpec.delta_streaming), one issued while the server derived task status differently, and any token on a recurring task. A token names a position in the task it was issued on; send it only to that task. It carries no task id, so a token from another task is not rejected, and what it returns is undefined. A token whose position is past the events stored so far is not an error either, because storage can trail the live stream that issued the token: the replay skips everything up to that position, so a snapshot may return no events.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The parent, which owns this collection of cached contents.", +"name": { +"description": "Required. The name of the task to stream. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" +}, +"nextStepSeqNum": { +"description": "Optional. The next step sequence number to resume from. When zero, streams from the beginning of the available trajectory.", +"format": "int64", +"location": "query", +"type": "string" +}, +"snapshot": { +"description": "Optional. If true, streams only the events produced up to the current point in time and terminates the stream once all existing events are sent, rather than tailing and waiting for future events.", +"location": "query", +"type": "boolean" } }, -"path": "v1beta1/{+parent}/cachedContents", +"path": "v1beta1/{+name}:stream", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListCachedContentsResponse" +"$ref": "GoogleCloudAiplatformV1beta1TaskServerEventBatch" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, -"patch": { -"description": "Updates cached content configurations", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.cachedContents.patch", +"suspend": { +"description": "Suspends a task, pausing its active turn or scheduling loop and transitioning the status to SUSPENDED. The underlying runtime session remains resumable.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:suspend", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.agents.tasks.suspend", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", +"description": "Required. The name of the task to suspend. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Required. The list of fields to update.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:suspend", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +"$ref": "GoogleCloudAiplatformV1beta1SuspendTaskRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] +}, +"upload": { +"description": "Uploads a file. The file is sent as media: post it to this method's URL with an `/upload` prefix, e.g. `/upload/v1beta1/{name}:upload`, carrying `path` as request metadata and the file's bytes as the media content. The task must not be in a terminal state, and an existing file at `path` is replaced. At most 10 GiB.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:upload", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.agents.tasks.upload", +"mediaUpload": { +"accept": [ +"*/*" +], +"maxSize": "10737418240", +"protocols": { +"simple": { +"multipart": true, +"path": "/upload/v1beta1/{+name}:upload" } } }, -"customJobs": { -"methods": { -"cancel": { -"description": "Cancels a CustomJob. Starts asynchronous cancellation on the CustomJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetCustomJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the CustomJob is not deleted; instead it becomes a job with a CustomJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and CustomJob.state is set to `CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.customJobs.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the CustomJob to cancel. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", +"description": "Required. The task or collaborative project to upload to. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}:upload", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelCustomJobRequest" +"$ref": "GoogleCloudAiplatformV1beta1UploadArtifactRequest" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1UploadArtifactResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +], +"supportsMediaUpload": true }, -"create": { -"description": "Creates a CustomJob. A created CustomJob right away will be attempted to be run.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs", +"uploadArtifact": { +"description": "Uploads a file into a task's workspace. A client-streaming RPC: the request body is the file's raw bytes, relayed to storage a chunk at a time, so neither ESF nor this server holds the whole file. A broken connection restarts the upload from zero. `path` must be an absolute path under `/workspace/userdata/`. The task must not be in a terminal state. An existing file at `path` is replaced. At most 1 GiB.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}:uploadArtifact", "httpMethod": "POST", -"id": "aiplatform.projects.locations.customJobs.create", +"id": "aiplatform.projects.locations.agents.tasks.uploadArtifact", "parameterOrder": [ -"parent" +"task" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", +"path": { +"description": "Required. Absolute destination path, e.g. \"/workspace/userdata/input.csv\". Must be under \"/workspace/userdata/\" and at most 1024 characters; relative paths and paths containing a \"..\" segment are rejected with INVALID_ARGUMENT.", +"location": "query", +"type": "string" +}, +"task": { +"description": "Required. The task to upload into. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/customJobs", +"path": "v1beta1/{+task}:uploadArtifact", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +"$ref": "GoogleApiHttpBody" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +"$ref": "GoogleCloudAiplatformV1beta1TaskArtifactFile" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] -}, -"delete": { -"description": "Deletes a CustomJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.customJobs.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the CustomJob resource to be deleted. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets a CustomJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.customJobs.get", +"resources": { +"artifacts": { +"methods": { +"add": { +"description": "Adds a file, folder or site stored in Google Drive, OneDrive, SharePoint or another third-party store as an artifact. The service persists `link_json_metadata` to Cloud Storage as a JSON metadata reference (a `.link.json` file), and links it to a parent resource: a task, named by `task`, or a collaborative project, named by `collaborative_project`. This method is idempotent with respect to the linked entity, identified by `link_json_metadata.provider` and `link_json_metadata.source_artifact_id`, or `link_json_metadata.uri` when `source_artifact_id` is unset: adding an entity that the parent already has does not add another artifact, and returns the same `artifact_id`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}/artifacts:add", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.agents.tasks.artifacts.add", "parameterOrder": [ -"name" +"task" ], "parameters": { -"name": { -"description": "Required. The name of the CustomJob resource. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", +"task": { +"description": "Optional. The task to link the file to. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Exactly one of `task` and `collaborative_project` must be set.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+task}/artifacts:add", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AddArtifactRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +"$ref": "GoogleCloudAiplatformV1beta1AddArtifactResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists CustomJobs in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs", +"description": "Lists the files and directories in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries that match `filter` are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}/artifacts", "httpMethod": "GET", -"id": "aiplatform.projects.locations.customJobs.list", +"id": "aiplatform.projects.locations.agents.tasks.artifacts.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"description": "Optional. An AIP-160 filter expression that entries must match, e.g. `type = FILE AND mime_type = \"image/*\"`. Empty matches every entry. Supported fields: * `type` -- `FILE` or `DIRECTORY` (see `TaskArtifactFile.Type`), case-sensitive. * `mime_type` -- a media type in double quotes, e.g. `\"text/csv\"`. `*` is a wildcard, so `\"image/*\"` matches every image type. Directories have an empty `mime_type`. Comparisons use `=` or `!=` and combine with `AND`, `OR`, `NOT` (or `-`) and parentheses. A filter that is not valid AIP-160, or that uses another field or operator, is rejected with `INVALID_ARGUMENT`. The filter selects which entries are returned, not which directories are walked: with `recursive`, `type = FILE` still returns the files in subdirectories.", "location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of entries to return. The service may return fewer than this value, including none on a page that is not the last. If unspecified or 0, at most 100 are returned. The maximum is 1000; values above 1000 are coerced to 1000. A negative value is rejected with `INVALID_ARGUMENT`.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained via ListCustomJobsResponse.next_page_token of the previous JobService.ListCustomJobs call.", +"description": "Optional. A page token, received from a previous ListWorkspaceArtifacts call. Provide this to retrieve the subsequent page. When paginating, all other fields of the request except `page_size` must match the call that provided the page token. The workspace is live: the agent can write between pages, so a paged listing is not a snapshot. An entry added during the walk may or may not appear, and one removed may still be listed and then fail to download.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the CustomJobs from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The task or collaborative project whose workspace to list. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" }, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", +"path": { +"description": "Optional. Absolute path of the directory to list, e.g. `/workspace/userdata`. Must be `/workspace` or under it, at most 1024 characters, and not contain a `..` segment. Defaults to `/workspace`.", "location": "query", "type": "string" +}, +"recursive": { +"description": "Optional. If `true`, descends into subdirectories. Results are breadth-first.", +"location": "query", +"type": "boolean" } }, -"path": "v1beta1/{+parent}/customJobs", +"path": "v1beta1/{+parent}/artifacts", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListCustomJobsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListWorkspaceArtifactsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.customJobs.operations.cancel", +"preview": { +"description": "Returns a file converted for a preview, such as a PDF of a .pptx. A server-streaming RPC. The response body is the converted file's bytes, with its media type as the `Content-Type`. The server converts the file as it is stored now, on every call, and stores nothing. A PDF asked for as a PDF is returned as stored. Fails with `INVALID_ARGUMENT` or `FAILED_PRECONDITION` when the file cannot be converted (an unsupported format, too large, or unreadable), with `DEADLINE_EXCEEDED` when the conversion takes too long, and with `UNAVAILABLE` when conversion is busy or not available; the last two may succeed on a retry.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}/artifacts:preview", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.agents.tasks.artifacts.preview", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"outputMimeType": { +"description": "Required. The media type to convert the file to: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The task or collaborative project whose workspace holds the file. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", "required": true, "type": "string" +}, +"path": { +"description": "Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.pptx`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.pptx`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/artifacts:preview", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.customJobs.operations.delete", +"remove": { +"description": "Deletes a file from a task's workspace. `path` must be an absolute path to a file in the task's workspace, under `/workspace/`, e.g. `/workspace/userdata/input.csv`. A path outside `/workspace/`, including a relative path, or a path with a `..` segment fails with `INVALID_ARGUMENT`. A directory path, or a task in a terminal state, fails with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is `true`, in which case the call succeeds and changes nothing.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/tasks/{tasksId}/artifacts:remove", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.agents.tasks.artifacts.remove", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { +"parent": { +"description": "Required. The task or collaborative project whose workspace holds the file. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/tasks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/artifacts:remove", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"apps": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.apps.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.apps.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -11188,9 +11580,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.customJobs.operations.get", +"id": "aiplatform.projects.locations.apps.operations.get", "parameterOrder": [ "name" ], @@ -11198,7 +11590,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -11214,9 +11606,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.customJobs.operations.list", +"id": "aiplatform.projects.locations.apps.operations.list", "parameterOrder": [ "name" ], @@ -11229,7 +11621,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", "required": true, "type": "string" }, @@ -11261,9 +11653,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.customJobs.operations.wait", +"id": "aiplatform.projects.locations.apps.operations.wait", "parameterOrder": [ "name" ], @@ -11271,7 +11663,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -11295,28 +11687,28 @@ } } }, -"dataLabelingJobs": { +"batchPredictionJobs": { "methods": { "cancel": { -"description": "Cancels a DataLabelingJob. Success of cancellation is not guaranteed.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}:cancel", +"description": "Cancels a BatchPredictionJob. Starts asynchronous cancellation on the BatchPredictionJob. The server makes the best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetBatchPredictionJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On a successful cancellation, the BatchPredictionJob is not deleted;instead its BatchPredictionJob.state is set to `CANCELLED`. Any files already outputted by the job are not deleted.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.dataLabelingJobs.cancel", +"id": "aiplatform.projects.locations.batchPredictionJobs.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"description": "Required. The name of the BatchPredictionJob to cancel. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}:cancel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelDataLabelingJobRequest" +"$ref": "GoogleCloudAiplatformV1beta1CancelBatchPredictionJobRequest" }, "response": { "$ref": "GoogleProtobufEmpty" @@ -11326,46 +11718,46 @@ ] }, "create": { -"description": "Creates a DataLabelingJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs", +"description": "Creates a BatchPredictionJob. A BatchPredictionJob once created will right away be attempted to start.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs", "httpMethod": "POST", -"id": "aiplatform.projects.locations.dataLabelingJobs.create", +"id": "aiplatform.projects.locations.batchPredictionJobs.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the BatchPredictionJob in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/dataLabelingJobs", +"path": "v1beta1/{+parent}/batchPredictionJobs", "request": { -"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a DataLabelingJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}", +"description": "Deletes a BatchPredictionJob. Can only be called on jobs that already finished.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.dataLabelingJobs.delete", +"id": "aiplatform.projects.locations.batchPredictionJobs.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the DataLabelingJob to be deleted. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"description": "Required. The name of the BatchPredictionJob resource to be deleted. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", "required": true, "type": "string" } @@ -11379,46 +11771,41 @@ ] }, "get": { -"description": "Gets a DataLabelingJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}", +"description": "Gets a BatchPredictionJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.dataLabelingJobs.get", +"id": "aiplatform.projects.locations.batchPredictionJobs.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"description": "Required. The name of the BatchPredictionJob resource. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +"$ref": "GoogleCloudAiplatformV1beta1BatchPredictionJob" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists DataLabelingJobs in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs", +"description": "Lists BatchPredictionJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs", "httpMethod": "GET", -"id": "aiplatform.projects.locations.dataLabelingJobs.list", +"id": "aiplatform.projects.locations.batchPredictionJobs.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `model_display_name` supports `=`, `!=` comparisons. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", "location": "query", "type": "string" }, @@ -11429,75 +11816,77 @@ "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "The standard list page token. Typically obtained via ListBatchPredictionJobsResponse.next_page_token of the previous JobService.ListBatchPredictionJobs call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to list the BatchPredictionJobs from. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "readMask": { -"description": "Mask specifying which fields to read. FieldMask represents a set of symbolic field paths. For example, the mask can be `paths: \"name\"`. The \"name\" here is a field in DataLabelingJob. If this field is not set, all fields of the DataLabelingJob are returned.", +"description": "Mask specifying which fields to read.", "format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/dataLabelingJobs", +"path": "v1beta1/{+parent}/batchPredictionJobs", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListDataLabelingJobsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListBatchPredictionJobsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } +} }, -"resources": { -"operations": { +"cachedContents": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel", +"create": { +"description": "Creates cached content, this call will initialize the cached content in the data storage, and users need to pay for the cache data storage.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents", "httpMethod": "POST", -"id": "aiplatform.projects.locations.dataLabelingJobs.operations.cancel", +"id": "aiplatform.projects.locations.cachedContents.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"parent": { +"description": "Required. The parent resource where the cached content will be created", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/cachedContents", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", +"description": "Deletes cached content", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.dataLabelingJobs.operations.delete", +"id": "aiplatform.projects.locations.cachedContents.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name referring to the cached content", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", "required": true, "type": "string" } @@ -11511,136 +11900,124 @@ ] }, "get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", +"description": "Gets cached content configurations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.dataLabelingJobs.operations.get", +"id": "aiplatform.projects.locations.cachedContents.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The resource name referring to the cached content", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations", +"description": "Lists cached contents in a project", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents", "httpMethod": "GET", -"id": "aiplatform.projects.locations.dataLabelingJobs.operations.list", +"id": "aiplatform.projects.locations.cachedContents.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of cached contents to return. The service may return fewer than this value. If unspecified, some default (under maximum) number of items will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. A page token, received from a previous `ListCachedContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCachedContents` must match the call that provided the page token.", "location": "query", "type": "string" }, -"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" +"parent": { +"description": "Required. The parent, which owns this collection of cached contents.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/cachedContents", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListCachedContentsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.dataLabelingJobs.operations.wait", +"patch": { +"description": "Updates cached content configurations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.cachedContents.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1CachedContent" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } } -} -} }, -"datasets": { +"collaborativeProjects": { "methods": { -"assemble": { -"description": "Assembles each row of a multimodal dataset and writes the result into a BigQuery table.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:assemble", +"create": { +"description": "Creates a project owned by the caller.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.assemble", +"id": "aiplatform.projects.locations.collaborativeProjects.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the Dataset resource (used only for MULTIMODAL datasets). Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"parent": { +"description": "Required. The location to create the project in. Only `global` is supported. Format: `projects/{project}/locations/global`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:assemble", +"path": "v1beta1/{+parent}/collaborativeProjects", "request": { -"$ref": "GoogleCloudAiplatformV1beta1AssembleDataRequest" +"$ref": "GoogleCloudAiplatformV1beta1CollaborativeProject" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -11650,56 +12027,24 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"assess": { -"description": "Assesses the state or validity of the dataset with respect to a given use case.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:assess", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.assess", +"delete": { +"description": "Deletes a project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.collaborativeProjects.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Dataset resource. Used only for MULTIMODAL datasets. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:assess", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AssessDataRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"create": { -"description": "Creates a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The name of the project to delete.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/datasets", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Dataset" -}, +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleLongrunningOperation" }, @@ -11708,147 +12053,131 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.datasets.delete", +"get": { +"description": "Gets a project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.collaborativeProjects.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"description": "Required. The name of the project.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1CollaborativeProject" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"export": { -"description": "Exports data from a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:export", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.export", +"list": { +"description": "Lists the caller's projects in a location, most recently created first.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.collaborativeProjects.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"pageSize": { +"description": "Optional. The maximum number of projects to return. The maximum is 100; larger values are coerced to 100. If not set, the default is 50.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token from a previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The location to list projects from. Format: `projects/{project}/locations/global`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:export", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ExportDataRequest" -}, +"path": "v1beta1/{+parent}/collaborativeProjects", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListCollaborativeProjectsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.get", +"patch": { +"description": "Updates a project's display name or trusted participants.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.collaborativeProjects.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Dataset resource.", +"description": "Identifier. The resource name of the project. The service assigns the final ID segment. Format: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+$", "required": true, "type": "string" }, -"readMask": { -"description": "Mask specifying which fields to read.", +"updateMask": { +"description": "Required. The fields to update: `display_name`, `trusted_participants`, or `*` for both.", "format": "google-fieldmask", "location": "query", "type": "string" } }, "path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CollaborativeProject" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Dataset" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "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}/datasets/{datasetsId}:getIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.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/[^/]+/datasets/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+resource}:getIamPolicy", -"response": { -"$ref": "GoogleIamV1Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"import": { -"description": "Imports data into a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:import", +"resources": { +"artifacts": { +"methods": { +"add": { +"description": "Adds a file, folder or site stored in Google Drive, OneDrive, SharePoint or another third-party store as an artifact. The service persists `link_json_metadata` to Cloud Storage as a JSON metadata reference (a `.link.json` file), and links it to a parent resource: a task, named by `task`, or a collaborative project, named by `collaborative_project`. This method is idempotent with respect to the linked entity, identified by `link_json_metadata.provider` and `link_json_metadata.source_artifact_id`, or `link_json_metadata.uri` when `source_artifact_id` is unset: adding an entity that the parent already has does not add another artifact, and returns the same `artifact_id`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}/artifacts:add", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.import", +"id": "aiplatform.projects.locations.collaborativeProjects.artifacts.add", "parameterOrder": [ -"name" +"collaborativeProject" ], "parameters": { -"name": { -"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"collaborativeProject": { +"description": "Optional. The collaborative project to link the file to. Format: projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} Exactly one of `task` and `collaborative_project` must be set.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:import", +"path": "v1beta1/{+collaborativeProject}/artifacts:add", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ImportDataRequest" +"$ref": "GoogleCloudAiplatformV1beta1AddArtifactRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1AddArtifactResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -11856,267 +12185,376 @@ ] }, "list": { -"description": "Lists Datasets in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets", +"description": "Lists the files and directories in a task's workspace. By default only the immediate children of `path` are returned; set `recursive` to descend into subdirectories. Entries that match `filter` are returned in breadth-first order. While the task's sandbox is running, paths it writes locally are read from the sandbox so the listing reflects files not yet synced to storage; otherwise they are read from storage. Which one served a request is not visible to the caller.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}/artifacts", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.list", +"id": "aiplatform.projects.locations.collaborativeProjects.artifacts.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `display_name`: supports = and != * `metadata_schema_uri`: supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"`", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time`", +"description": "Optional. An AIP-160 filter expression that entries must match, e.g. `type = FILE AND mime_type = \"image/*\"`. Empty matches every entry. Supported fields: * `type` -- `FILE` or `DIRECTORY` (see `TaskArtifactFile.Type`), case-sensitive. * `mime_type` -- a media type in double quotes, e.g. `\"text/csv\"`. `*` is a wildcard, so `\"image/*\"` matches every image type. Directories have an empty `mime_type`. Comparisons use `=` or `!=` and combine with `AND`, `OR`, `NOT` (or `-`) and parentheses. A filter that is not valid AIP-160, or that uses another field or operator, is rejected with `INVALID_ARGUMENT`. The filter selects which entries are returned, not which directories are walked: with `recursive`, `type = FILE` still returns the files in subdirectories.", "location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of entries to return. The service may return fewer than this value, including none on a page that is not the last. If unspecified or 0, at most 100 are returned. The maximum is 1000; values above 1000 are coerced to 1000. A negative value is rejected with `INVALID_ARGUMENT`.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. A page token, received from a previous ListWorkspaceArtifacts call. Provide this to retrieve the subsequent page. When paginating, all other fields of the request except `page_size` must match the call that provided the page token. The workspace is live: the agent can write between pages, so a paged listing is not a snapshot. An entry added during the walk may or may not appear, and one removed may still be listed and then fail to download.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`", +"description": "Required. The task or collaborative project whose workspace to list. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+$", "required": true, "type": "string" }, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", +"path": { +"description": "Optional. Absolute path of the directory to list, e.g. `/workspace/userdata`. Must be `/workspace` or under it, at most 1024 characters, and not contain a `..` segment. Defaults to `/workspace`.", "location": "query", "type": "string" +}, +"recursive": { +"description": "Optional. If `true`, descends into subdirectories. Results are breadth-first.", +"location": "query", +"type": "boolean" } }, -"path": "v1beta1/{+parent}/datasets", +"path": "v1beta1/{+parent}/artifacts", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListDatasetsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListWorkspaceArtifactsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.datasets.patch", +"preview": { +"description": "Returns a file converted for a preview, such as a PDF of a .pptx. A server-streaming RPC. The response body is the converted file's bytes, with its media type as the `Content-Type`. The server converts the file as it is stored now, on every call, and stores nothing. A PDF asked for as a PDF is returned as stored. Fails with `INVALID_ARGUMENT` or `FAILED_PRECONDITION` when the file cannot be converted (an unsupported format, too large, or unreadable), with `DEADLINE_EXCEEDED` when the conversion takes too long, and with `UNAVAILABLE` when conversion is busy or not available; the last two may succeed on a retry.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}/artifacts:preview", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.collaborativeProjects.artifacts.preview", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"outputMimeType": { +"description": "Required. The media type to convert the file to: * `application/pdf`: the file as a PDF, e.g. of a .docx, .pptx or .xlsx. * `application/json`: a spreadsheet, e.g. a .xlsx or .csv, as JSON describing its sheets and cells, from which a client draws the workbook as a grid.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The task or collaborative project whose workspace holds the file. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+$", "required": true, "type": "string" }, -"updateMask": { -"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` * `description` * `labels`", -"format": "google-fieldmask", +"path": { +"description": "Required. Absolute path of a file in the task's workspace, e.g. `/workspace/report.pptx`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.pptx`. Must be under `/workspace`, at most 1024 characters, and not contain a `..` segment. Accepts `TaskArtifactFile.path` as-is.", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Dataset" -}, +"path": "v1beta1/{+parent}/artifacts:preview", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Dataset" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"searchDataItems": { -"description": "Searches DataItems in a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:searchDataItems", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.searchDataItems", +"remove": { +"description": "Deletes a file from a task's workspace. `path` must be an absolute path to a file in the task's workspace, under `/workspace/`, e.g. `/workspace/userdata/input.csv`. A path outside `/workspace/`, including a relative path, or a path with a `..` segment fails with `INVALID_ARGUMENT`. A directory path, or a task in a terminal state, fails with `FAILED_PRECONDITION`. A missing file fails with `NOT_FOUND` unless `allow_missing` is `true`, in which case the call succeeds and changes nothing.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}/artifacts:remove", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.collaborativeProjects.artifacts.remove", "parameterOrder": [ -"dataset" +"parent" ], "parameters": { -"annotationFilters": { -"description": "An expression that specifies what Annotations will be returned per DataItem. Annotations satisfied either of the conditions will be returned. * `annotation_spec_id` - for = or !=. Must specify `saved_query_id=` - saved query id that annotations should belong to.", -"location": "query", -"repeated": true, -"type": "string" -}, -"annotationsFilter": { -"deprecated": true, -"description": "An expression for filtering the Annotations that will be returned per DataItem. * `annotation_spec_id` - for = or !=.", -"location": "query", +"parent": { +"description": "Required. The task or collaborative project whose workspace holds the file. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} or projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+$", +"required": true, "type": "string" +} }, -"annotationsLimit": { -"description": "If set, only up to this many of Annotations will be returned per DataItemView. The maximum value is 1000. If not set, the maximum value will be used.", -"format": "int32", -"location": "query", -"type": "integer" +"path": "v1beta1/{+parent}/artifacts:remove", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactRequest" }, -"dataItemFilter": { -"description": "An expression for filtering the DataItem that will be returned. * `data_item_id` - for = or !=. * `labeled` - for = or !=. * `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that have at least one annotation with annotation_spec_id = `ANNOTATION_SPEC_ID` in the context of SavedQuery or DataLabelingJob. For example: * `data_item=1` * `has_annotation(5)`", -"location": "query", -"type": "string" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactResponse" }, -"dataLabelingJob": { -"description": "The resource name of a DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` If this field is set, all of the search will be done in the context of this DataLabelingJob.", -"location": "query", -"type": "string" +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} }, -"dataset": { -"description": "Required. The resource name of the Dataset from which to search DataItems. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.collaborativeProjects.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+/operations/[^/]+$", "required": true, "type": "string" +} }, -"fieldMask": { -"description": "Mask specifying which fields of DataItemView to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" }, -"orderBy": { -"deprecated": true, -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", -"location": "query", -"type": "string" +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] }, -"orderByAnnotation.orderBy": { -"description": "A comma-separated list of annotation fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Must also specify saved_query.", -"location": "query", +"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}/collaborativeProjects/{collaborativeProjectsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.collaborativeProjects.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+/operations/[^/]+$", +"required": true, "type": "string" +} }, -"orderByAnnotation.savedQuery": { -"description": "Required. Saved query of the Annotation. Only Annotations belong to this saved query will be considered for ordering.", -"location": "query", -"type": "string" +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" }, -"orderByDataItem": { -"description": "A comma-separated list of data item fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", -"location": "query", +"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}/collaborativeProjects/{collaborativeProjectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.collaborativeProjects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+/operations/[^/]+$", +"required": true, "type": "string" +} }, -"pageSize": { -"description": "Requested page size. Server may return fewer results than requested. Default and maximum page size is 100.", -"format": "int32", -"location": "query", -"type": "integer" +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" }, -"pageToken": { -"description": "A token identifying a page of results for the server to return Typically obtained via SearchDataItemsResponse.next_page_token of the previous DatasetService.SearchDataItems call.", -"location": "query", +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collaborativeProjects/{collaborativeProjectsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.collaborativeProjects.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collaborativeProjects/[^/]+/operations/[^/]+$", +"required": true, "type": "string" }, -"savedQuery": { -"deprecated": true, -"description": "The resource name of a SavedQuery(annotation set in UI). Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}` All of the search will be done in the context of this SavedQuery.", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" } }, -"path": "v1beta1/{+dataset}:searchDataItems", +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SearchDataItemsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "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}/datasets/{datasetsId}:setIamPolicy", +"customJobs": { +"methods": { +"cancel": { +"description": "Cancels a CustomJob. Starts asynchronous cancellation on the CustomJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetCustomJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the CustomJob is not deleted; instead it becomes a job with a CustomJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and CustomJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.setIamPolicy", +"id": "aiplatform.projects.locations.customJobs.cancel", "parameterOrder": [ -"resource" +"name" ], "parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"name": { +"description": "Required. The name of the CustomJob to cancel. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:setIamPolicy", +"path": "v1beta1/{+name}:cancel", "request": { -"$ref": "GoogleIamV1SetIamPolicyRequest" +"$ref": "GoogleCloudAiplatformV1beta1CancelCustomJobRequest" }, "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleProtobufEmpty" }, "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}/datasets/{datasetsId}:testIamPermissions", +"create": { +"description": "Creates a CustomJob. A created CustomJob right away will be attempted to be run.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.testIamPermissions", +"id": "aiplatform.projects.locations.customJobs.create", "parameterOrder": [ -"resource" +"parent" ], "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, +"parent": { +"description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, "type": "string" +} }, -"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.", +"path": "v1beta1/{+parent}/customJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a CustomJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.customJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomJob resource to be deleted. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:testIamPermissions", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleIamV1TestIamPermissionsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"annotationSpecs": { -"methods": { "get": { -"description": "Gets an AnnotationSpec.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}", +"description": "Gets a CustomJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.annotationSpecs.get", +"id": "aiplatform.projects.locations.customJobs.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the AnnotationSpec resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}`", +"description": "Required. The name of the CustomJob resource. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CustomJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists CustomJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListCustomJobsResponse.next_page_token of the previous JobService.ListCustomJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the CustomJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, @@ -12127,9 +12565,9 @@ "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/customJobs", "response": { -"$ref": "GoogleCloudAiplatformV1beta1AnnotationSpec" +"$ref": "GoogleCloudAiplatformV1beta1ListCustomJobsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -12142,9 +12580,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel", +"id": "aiplatform.projects.locations.customJobs.operations.cancel", "parameterOrder": [ "name" ], @@ -12152,7 +12590,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -12168,9 +12606,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete", +"id": "aiplatform.projects.locations.customJobs.operations.delete", "parameterOrder": [ "name" ], @@ -12178,7 +12616,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -12193,9 +12631,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.get", +"id": "aiplatform.projects.locations.customJobs.operations.get", "parameterOrder": [ "name" ], @@ -12203,7 +12641,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -12219,9 +12657,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.list", +"id": "aiplatform.projects.locations.customJobs.operations.list", "parameterOrder": [ "name" ], @@ -12234,7 +12672,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", "required": true, "type": "string" }, @@ -12266,9 +12704,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait", +"id": "aiplatform.projects.locations.customJobs.operations.wait", "parameterOrder": [ "name" ], @@ -12276,7 +12714,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -12300,81 +12738,130 @@ } } }, -"dataItems": { +"dataLabelingJobs": { "methods": { -"list": { -"description": "Lists DataItems in a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.dataItems.list", +"cancel": { +"description": "Cancels a DataLabelingJob. Success of cancellation is not guaranteed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.cancel", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", +"name": { +"description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, "type": "string" +} }, -"orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", -"location": "query", -"type": "string" +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelDataLabelingJobRequest" }, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" +"response": { +"$ref": "GoogleProtobufEmpty" }, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] }, +"create": { +"description": "Creates a DataLabelingJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { "parent": { -"description": "Required. The resource name of the Dataset to list DataItems from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +} }, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", +"path": "v1beta1/{+parent}/dataLabelingJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataLabelingJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.dataLabelingJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataLabelingJob to be deleted. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/dataItems", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListDataItemsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +}, +"get": { +"description": "Gets a DataLabelingJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" } }, -"resources": { -"annotations": { -"methods": { +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DataLabelingJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "list": { -"description": "Lists Annotations belongs to a dataitem.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations", +"description": "Lists DataLabelingJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.dataItems.annotations.list", +"id": "aiplatform.projects.locations.dataLabelingJobs.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", "location": "query", "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"description": "A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", "location": "query", "type": "string" }, @@ -12390,25 +12877,24 @@ "type": "string" }, "parent": { -"description": "Required. The resource name of the DataItem to list Annotations from. Format: `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}`", +"description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "readMask": { -"description": "Mask specifying which fields to read.", +"description": "Mask specifying which fields to read. FieldMask represents a set of symbolic field paths. For example, the mask can be `paths: \"name\"`. The \"name\" here is a field in DataLabelingJob. If this field is not set, all fields of the DataLabelingJob are returned.", "format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/annotations", +"path": "v1beta1/{+parent}/dataLabelingJobs", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListAnnotationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListDataLabelingJobsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -12418,9 +12904,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.cancel", "parameterOrder": [ "name" ], @@ -12428,7 +12914,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -12444,9 +12930,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.delete", "parameterOrder": [ "name" ], @@ -12454,7 +12940,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -12469,9 +12955,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.get", "parameterOrder": [ "name" ], @@ -12479,7 +12965,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -12495,9 +12981,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.list", "parameterOrder": [ "name" ], @@ -12510,7 +12996,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", "required": true, "type": "string" }, @@ -12542,9 +13028,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.wait", "parameterOrder": [ "name" ], @@ -12552,7 +13038,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -12576,77 +13062,87 @@ } } }, -"operations": { +"datasets": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel", +"assemble": { +"description": "Assembles each row of a multimodal dataset and writes the result into a BigQuery table.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:assemble", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.dataItems.operations.cancel", +"id": "aiplatform.projects.locations.datasets.assemble", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The name of the Dataset resource (used only for MULTIMODAL datasets). Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}:assemble", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AssembleDataRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.datasets.dataItems.operations.delete", +"assess": { +"description": "Assesses the state or validity of the dataset with respect to a given use case.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:assess", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.assess", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the Dataset resource. Used only for MULTIMODAL datasets. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:assess", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AssessDataRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.dataItems.operations.get", +"create": { +"description": "Creates a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource.", +"parent": { +"description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/datasets", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Dataset" +}, "response": { "$ref": "GoogleLongrunningOperation" }, @@ -12655,77 +13151,53 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.dataItems.operations.list", +"delete": { +"description": "Deletes a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.delete", "parameterOrder": [ "name" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"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", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:wait", +"export": { +"description": "Exports data from a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:export", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.dataItems.operations.wait", +"id": "aiplatform.projects.locations.datasets.export", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}:export", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExportDataRequest" +}, "response": { "$ref": "GoogleLongrunningOperation" }, @@ -12733,94 +13205,93 @@ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"datasetVersions": { -"methods": { -"create": { -"description": "Create a version from a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.datasetVersions.create", +"get": { +"description": "Gets a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"name": { +"description": "Required. The name of the Dataset resource.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+parent}/datasetVersions", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Dataset" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a Dataset version.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.datasets.datasetVersions.delete", +"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}/datasets/{datasetsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.getIamPolicy", "parameterOrder": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"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/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+resource}:getIamPolicy", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleIamV1Policy" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a Dataset version.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.datasetVersions.get", +"import": { +"description": "Imports data into a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.import", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportDataRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -12828,52 +13299,52 @@ ] }, "list": { -"description": "Lists DatasetVersions in a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions", +"description": "Lists Datasets in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.datasetVersions.list", +"id": "aiplatform.projects.locations.datasets.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. The standard list filter.", +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `display_name`: supports = and != * `metadata_schema_uri`: supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"`", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time`", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "readMask": { -"description": "Optional. Mask specifying which fields to read.", +"description": "Mask specifying which fields to read.", "format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/datasetVersions", +"path": "v1beta1/{+parent}/datasets", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListDatasetVersionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListDatasetsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -12881,23 +13352,23 @@ ] }, "patch": { -"description": "Updates a DatasetVersion.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"description": "Updates a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.datasets.datasetVersions.patch", +"id": "aiplatform.projects.locations.datasets.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name`", +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` * `description` * `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -12905,51 +13376,218 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +"$ref": "GoogleCloudAiplatformV1beta1Dataset" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" +"$ref": "GoogleCloudAiplatformV1beta1Dataset" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"restore": { -"description": "Restores a dataset version.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore", +"searchDataItems": { +"description": "Searches DataItems in a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:searchDataItems", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.datasetVersions.restore", +"id": "aiplatform.projects.locations.datasets.searchDataItems", +"parameterOrder": [ +"dataset" +], +"parameters": { +"annotationFilters": { +"description": "An expression that specifies what Annotations will be returned per DataItem. Annotations satisfied either of the conditions will be returned. * `annotation_spec_id` - for = or !=. Must specify `saved_query_id=` - saved query id that annotations should belong to.", +"location": "query", +"repeated": true, +"type": "string" +}, +"annotationsFilter": { +"deprecated": true, +"description": "An expression for filtering the Annotations that will be returned per DataItem. * `annotation_spec_id` - for = or !=.", +"location": "query", +"type": "string" +}, +"annotationsLimit": { +"description": "If set, only up to this many of Annotations will be returned per DataItemView. The maximum value is 1000. If not set, the maximum value will be used.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"dataItemFilter": { +"description": "An expression for filtering the DataItem that will be returned. * `data_item_id` - for = or !=. * `labeled` - for = or !=. * `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that have at least one annotation with annotation_spec_id = `ANNOTATION_SPEC_ID` in the context of SavedQuery or DataLabelingJob. For example: * `data_item=1` * `has_annotation(5)`", +"location": "query", +"type": "string" +}, +"dataLabelingJob": { +"description": "The resource name of a DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` If this field is set, all of the search will be done in the context of this DataLabelingJob.", +"location": "query", +"type": "string" +}, +"dataset": { +"description": "Required. The resource name of the Dataset from which to search DataItems. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"fieldMask": { +"description": "Mask specifying which fields of DataItemView to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"orderBy": { +"deprecated": true, +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"orderByAnnotation.orderBy": { +"description": "A comma-separated list of annotation fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Must also specify saved_query.", +"location": "query", +"type": "string" +}, +"orderByAnnotation.savedQuery": { +"description": "Required. Saved query of the Annotation. Only Annotations belong to this saved query will be considered for ordering.", +"location": "query", +"type": "string" +}, +"orderByDataItem": { +"description": "A comma-separated list of data item fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer results than requested. Default and maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results for the server to return Typically obtained via SearchDataItemsResponse.next_page_token of the previous DatasetService.SearchDataItems call.", +"location": "query", +"type": "string" +}, +"savedQuery": { +"deprecated": true, +"description": "The resource name of a SavedQuery(annotation set in UI). Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}` All of the search will be done in the context of this SavedQuery.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+dataset}:searchDataItems", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchDataItemsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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}/datasets/{datasetsId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.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/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.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/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"annotationSpecs": { +"methods": { +"get": { +"description": "Gets an AnnotationSpec.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"description": "Required. The name of the AnnotationSpec resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}:restore", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1AnnotationSpec" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } -} }, +"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.operations.cancel", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel", "parameterOrder": [ "name" ], @@ -12957,7 +13595,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -12973,9 +13611,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.datasets.operations.delete", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete", "parameterOrder": [ "name" ], @@ -12983,7 +13621,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -12998,9 +13636,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.operations.get", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.get", "parameterOrder": [ "name" ], @@ -13008,7 +13646,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13024,9 +13662,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.operations.list", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.list", "parameterOrder": [ "name" ], @@ -13039,7 +13677,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$", "required": true, "type": "string" }, @@ -13071,9 +13709,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.operations.wait", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait", "parameterOrder": [ "name" ], @@ -13081,7 +13719,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -13102,40 +13740,73 @@ ] } } +} +} }, -"savedQueries": { +"dataItems": { "methods": { -"delete": { -"description": "Deletes a SavedQuery.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.datasets.savedQueries.delete", +"list": { +"description": "Lists DataItems in a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The resource name of the SavedQuery to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}`", +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list DataItems from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/dataItems", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListDataItemsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, +"resources": { +"annotations": { +"methods": { "list": { -"description": "Lists SavedQueries in a Dataset.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries", +"description": "Lists Annotations belongs to a dataitem.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.savedQueries.list", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.list", "parameterOrder": [ "parent" ], @@ -13162,9 +13833,9 @@ "type": "string" }, "parent": { -"description": "Required. The resource name of the Dataset to list SavedQueries from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"description": "Required. The resource name of the DataItem to list Annotations from. Format: `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$", "required": true, "type": "string" }, @@ -13175,9 +13846,9 @@ "type": "string" } }, -"path": "v1beta1/{+parent}/savedQueries", +"path": "v1beta1/{+parent}/annotations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSavedQueriesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListAnnotationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -13190,9 +13861,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.savedQueries.operations.cancel", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel", "parameterOrder": [ "name" ], @@ -13200,7 +13871,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13216,9 +13887,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.datasets.savedQueries.operations.delete", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete", "parameterOrder": [ "name" ], @@ -13226,7 +13897,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13241,9 +13912,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.savedQueries.operations.get", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get", "parameterOrder": [ "name" ], @@ -13251,7 +13922,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13267,9 +13938,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.datasets.savedQueries.operations.list", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list", "parameterOrder": [ "name" ], @@ -13282,7 +13953,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+$", "required": true, "type": "string" }, @@ -13314,9 +13985,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.datasets.savedQueries.operations.wait", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait", "parameterOrder": [ "name" ], @@ -13324,7 +13995,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -13347,52 +14018,213 @@ } } } +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" } +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" } }, -"deploymentResourcePools": { +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"datasetVersions": { "methods": { "create": { -"description": "Create a DeploymentResourcePool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools", +"description": "Create a version from a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.deploymentResourcePools.create", +"id": "aiplatform.projects.locations.datasets.datasetVersions.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The parent location resource where this DeploymentResourcePool will be created. Format: `projects/{project}/locations/{location}`", +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/deploymentResourcePools", +"path": "v1beta1/{+parent}/datasetVersions", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CreateDeploymentResourcePoolRequest" +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" }, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Delete a DeploymentResourcePool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"description": "Deletes a Dataset version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.deploymentResourcePools.delete", +"id": "aiplatform.projects.locations.datasets.datasetVersions.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the DeploymentResourcePool to delete. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", "required": true, "type": "string" } @@ -13402,88 +14234,113 @@ "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Get a DeploymentResourcePool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"description": "Gets a Dataset version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.deploymentResourcePools.get", +"id": "aiplatform.projects.locations.datasets.datasetVersions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the DeploymentResourcePool to retrieve. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1DeploymentResourcePool" +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "List DeploymentResourcePools in a location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools", +"description": "Lists DatasetVersions in a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions", "httpMethod": "GET", -"id": "aiplatform.projects.locations.deploymentResourcePools.list", +"id": "aiplatform.projects.locations.datasets.datasetVersions.list", "parameterOrder": [ "parent" ], "parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, "pageSize": { -"description": "The maximum number of DeploymentResourcePools to return. The service may return fewer than this value.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListDeploymentResourcePools` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeploymentResourcePools` must match the call that provided the page token.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent Location which owns this collection of DeploymentResourcePools. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/deploymentResourcePools", +"path": "v1beta1/{+parent}/datasetVersions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListDeploymentResourcePoolsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListDatasetVersionsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Update a DeploymentResourcePool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"description": "Updates a DatasetVersion.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.deploymentResourcePools.patch", +"id": "aiplatform.projects.locations.datasets.datasetVersions.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Required. The list of fields to update.", +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -13491,60 +14348,51 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1DeploymentResourcePool" +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1DatasetVersion" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"queryDeployedModels": { -"description": "List DeployedModels that have been deployed on this DeploymentResourcePool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}:queryDeployedModels", +"restore": { +"description": "Restores a dataset version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore", "httpMethod": "GET", -"id": "aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels", +"id": "aiplatform.projects.locations.datasets.datasetVersions.restore", "parameterOrder": [ -"deploymentResourcePool" +"name" ], "parameters": { -"deploymentResourcePool": { -"description": "Required. The name of the target DeploymentResourcePool to query. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"name": { +"description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", "required": true, "type": "string" -}, -"pageSize": { -"description": "The maximum number of DeployedModels to return. The service may return fewer than this value.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "A page token, received from a previous `QueryDeployedModels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDeployedModels` must match the call that provided the page token.", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+deploymentResourcePool}:queryDeployedModels", +"path": "v1beta1/{+name}:restore", "response": { -"$ref": "GoogleCloudAiplatformV1beta1QueryDeployedModelsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } +} }, -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.deploymentResourcePools.operations.cancel", +"id": "aiplatform.projects.locations.datasets.operations.cancel", "parameterOrder": [ "name" ], @@ -13552,7 +14400,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13568,9 +14416,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.deploymentResourcePools.operations.delete", +"id": "aiplatform.projects.locations.datasets.operations.delete", "parameterOrder": [ "name" ], @@ -13578,7 +14426,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13593,9 +14441,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.deploymentResourcePools.operations.get", +"id": "aiplatform.projects.locations.datasets.operations.get", "parameterOrder": [ "name" ], @@ -13603,7 +14451,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13619,9 +14467,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.deploymentResourcePools.operations.list", +"id": "aiplatform.projects.locations.datasets.operations.list", "parameterOrder": [ "name" ], @@ -13634,7 +14482,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, "type": "string" }, @@ -13666,9 +14514,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.deploymentResourcePools.operations.wait", +"id": "aiplatform.projects.locations.datasets.operations.wait", "parameterOrder": [ "name" ], @@ -13676,7 +14524,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -13697,18 +14545,97 @@ ] } } +}, +"savedQueries": { +"methods": { +"delete": { +"description": "Deletes a SavedQuery.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.savedQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SavedQuery to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SavedQueries in a Dataset.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.savedQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list SavedQueries from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } +}, +"path": "v1beta1/{+parent}/savedQueries", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListSavedQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] } }, -"edgeDevices": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.edgeDevices.operations.cancel", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.cancel", "parameterOrder": [ "name" ], @@ -13716,7 +14643,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13732,9 +14659,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.edgeDevices.operations.delete", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.delete", "parameterOrder": [ "name" ], @@ -13742,7 +14669,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13757,9 +14684,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.edgeDevices.operations.get", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.get", "parameterOrder": [ "name" ], @@ -13767,7 +14694,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -13783,9 +14710,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.edgeDevices.operations.list", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.list", "parameterOrder": [ "name" ], @@ -13798,7 +14725,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$", "required": true, "type": "string" }, @@ -13830,9 +14757,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.edgeDevices.operations.wait", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.wait", "parameterOrder": [ "name" ], @@ -13840,7 +14767,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -13863,463 +14790,595 @@ } } } +} +} }, -"endpoints": { +"deploymentResourcePools": { "methods": { -"computeTokens": { -"description": "Return a list of tokens based on the input text.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:computeTokens", +"create": { +"description": "Create a DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.computeTokens", +"id": "aiplatform.projects.locations.deploymentResourcePools.create", "parameterOrder": [ -"endpoint" +"parent" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"parent": { +"description": "Required. The parent location resource where this DeploymentResourcePool will be created. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:computeTokens", +"path": "v1beta1/{+parent}/deploymentResourcePools", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" +"$ref": "GoogleCloudAiplatformV1beta1CreateDeploymentResourcePoolRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"countTokens": { -"description": "Perform a token counting.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:countTokens", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.countTokens", +"delete": { +"description": "Delete a DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.deploymentResourcePools.delete", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "Required. The name of the DeploymentResourcePool to delete. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:countTokens", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates an Endpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.create", +"get": { +"description": "Get a DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"endpointId": { -"description": "Immutable. The ID to use for endpoint, which will become the final component of the endpoint resource name. If not provided, Vertex AI will generate a value for this ID. If the first character is a letter, this value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The last character must be a letter or number. If the first character is a number, this value may be up to 9 characters, and valid characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this field is populated based on a query string argument, such as `?endpoint_id=12345`. This is the fallback for fields that are not included in either the URI or the body.", -"location": "query", -"type": "string" +"name": { +"description": "Required. The name of the DeploymentResourcePool to retrieve. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1DeploymentResourcePool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List DeploymentResourcePools in a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of DeploymentResourcePools to return. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDeploymentResourcePools` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeploymentResourcePools` must match the call that provided the page token.", +"location": "query", +"type": "string" }, "parent": { -"description": "Required. The resource name of the Location to create the Endpoint in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The parent Location which owns this collection of DeploymentResourcePools. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/endpoints", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Endpoint" -}, +"path": "v1beta1/{+parent}/deploymentResourcePools", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListDeploymentResourcePoolsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes an Endpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.endpoints.delete", +"patch": { +"description": "Update a DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.deploymentResourcePools.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Endpoint resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"description": "Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeploymentResourcePool" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"deployModel": { -"description": "Deploys a Model into this Endpoint, creating a DeployedModel within it.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:deployModel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.deployModel", +"queryDeployedModels": { +"description": "List DeployedModels that have been deployed on this DeploymentResourcePool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}:queryDeployedModels", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels", "parameterOrder": [ -"endpoint" +"deploymentResourcePool" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint resource into which to deploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"deploymentResourcePool": { +"description": "Required. The name of the target DeploymentResourcePool to query. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+endpoint}:deployModel", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1DeployModelRequest" +"pageSize": { +"description": "The maximum number of DeployedModels to return. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" }, +"pageToken": { +"description": "A page token, received from a previous `QueryDeployedModels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDeployedModels` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+deploymentResourcePool}:queryDeployedModels", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1QueryDeployedModelsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"directPredict": { -"description": "Perform an unary online prediction request to a gRPC model server for Vertex first-party products and frameworks.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directPredict", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.directPredict", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.cancel", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:directPredict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1DirectPredictRequest" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1DirectPredictResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"directRawPredict": { -"description": "Perform an unary online prediction request to a gRPC model server for custom containers.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directRawPredict", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.directRawPredict", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.delete", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:directRawPredict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1DirectRawPredictRequest" +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" }, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1DirectRawPredictResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"explain": { -"description": "Perform an online explanation. If deployed_model_id is specified, the corresponding DeployModel must have explanation_spec populated. If deployed_model_id is not specified, all DeployedModels must have explanation_spec populated.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:explain", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.explain", +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.list", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the explanation. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+endpoint}:explain", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ExplainRequest" +"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": "GoogleCloudAiplatformV1beta1ExplainResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"fetchPredictOperation": { -"description": "Fetch an asynchronous online prediction operation.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:fetchPredictOperation", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.fetchPredictOperation", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.wait", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+endpoint}:fetchPredictOperation", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+name}:wait", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"generateContent": { -"description": "Generate content with multimodal inputs.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:generateContent", +"detectors": { +"methods": { +"create": { +"description": "Creates a new customer-defined Detector. The detector is always created DISABLED; EnableDetector starts it scanning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/detectors", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.generateContent", +"id": "aiplatform.projects.locations.detectors.create", "parameterOrder": [ -"model" +"parent" ], "parameters": { -"model": { -"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"detectorId": { +"description": "Optional. The ID to use for the Detector, which becomes the final component of its resource name. Must match `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. If omitted, the server generates one.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the Detector in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+model}:generateContent", +"path": "v1beta1/{+parent}/detectors", "request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +"$ref": "GoogleCloudAiplatformV1beta1Detector" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +"$ref": "GoogleCloudAiplatformV1beta1Detector" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets an Endpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.endpoints.get", +"delete": { +"description": "Deletes a specific detector. Hard and irreversible: the detector is gone from every read path at once.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/detectors/{detectorsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.detectors.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Endpoint resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"description": "Required. The name of the detector to delete. Format: `projects/{project}/locations/{location}/detectors/{detector}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/detectors/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"getIamPolicy": { -"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:getIamPolicy", +"disable": { +"description": "Disables a specific detector, so that it stops scanning. Disabling an already-DISABLED detector succeeds and changes nothing. The detector's config and history survive; only DeleteDetector removes a detector.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/detectors/{detectorsId}:disable", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.getIamPolicy", +"id": "aiplatform.projects.locations.detectors.disable", "parameterOrder": [ -"resource" +"name" ], "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" +"name": { +"description": "Required. The name of the detector to disable. Format: `projects/{project}/locations/{location}/detectors/{detector}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/detectors/[^/]+$", +"required": true, +"type": "string" +} }, -"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.", +"path": "v1beta1/{+name}:disable", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DisableDetectorRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Detector" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enable": { +"description": "Enables a specific detector, so that it starts scanning. Enabling an already-ACTIVE detector succeeds and changes nothing.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/detectors/{detectorsId}:enable", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.detectors.enable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the detector to enable. Format: `projects/{project}/locations/{location}/detectors/{detector}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/detectors/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:getIamPolicy", +"path": "v1beta1/{+name}:enable", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EnableDetectorRequest" +}, "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleCloudAiplatformV1beta1Detector" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists Endpoints in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints", +"get": { +"description": "Gets the details of a specific detector, including its current configuration.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/detectors/{detectorsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.endpoints.list", +"id": "aiplatform.projects.locations.detectors.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"filter": { -"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `endpoint` supports `=` and `!=`. `endpoint` represents the Endpoint ID, i.e. the last segment of the Endpoint's resource name. * `display_name` supports `=` and `!=`. * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:*` or `labels:key` - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `base_model_name` only supports `=`. Some examples: * `endpoint=1` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `baseModelName=\"text-bison\"`", -"location": "query", +"name": { +"description": "Required. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/detectors/[^/]+$", +"required": true, "type": "string" }, -"gdcZone": { -"description": "Optional. Configures the Google Distributed Cloud (GDC) environment for online prediction. Only set this field when the Endpoint is to be deployed in a GDC environment.", +"revisionId": { +"description": "Optional. Return the detector as configured at this revision. Unset returns the latest revision.", "location": "query", "type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Detector" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] }, +"list": { +"description": "Lists the detectors in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/detectors", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.detectors.list", +"parameterOrder": [ +"parent" +], +"parameters": { "pageSize": { -"description": "Optional. The standard list page size.", +"description": "Optional. The maximum number of detectors to return. The maximum value is 100; values above 100 will be coerced to 100. If unspecified, at most 10 detectors will be returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListEndpointsResponse.next_page_token of the previous EndpointService.ListEndpoints call.", +"description": "Optional. A page token, received from a previous `ListDetectors` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDetectors` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location from which to list the Endpoints. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to list the detectors from. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Optional. Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/endpoints", +"path": "v1beta1/{+parent}/detectors", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEndpointsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListDetectorsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"mutateDeployedModel": { -"description": "Updates an existing deployed model. Updatable fields include `min_replica_count`, `max_replica_count`, `required_replica_count`, `autoscaling_metric_specs`, `disable_container_logging` (v1 only), and `enable_container_logging` (v1beta1 only).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:mutateDeployedModel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.mutateDeployedModel", +"listRevisions": { +"description": "Lists the revisions of a detector, newest first. Each entry is the detector as configured at one revision, with `revision_id` and `revision_create_time` set. `state` and `selected_revision_id` are unset: neither is a property of a revision, and GetDetector returns both.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/detectors/{detectorsId}:listRevisions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.detectors.listRevisions", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint resource into which to mutate a DeployedModel. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "Required. The detector whose revisions to list. Format: `projects/{project}/locations/{location}/detectors/{detector}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/detectors/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+endpoint}:mutateDeployedModel", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1MutateDeployedModelRequest" +"pageSize": { +"description": "Optional. The maximum number of revisions to return. The maximum value is 100; values above 100 will be coerced to 100. If unspecified, at most 10 revisions will be returned.", +"format": "int32", +"location": "query", +"type": "integer" }, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListDetectorRevisions` call. Provide this to retrieve the subsequent page. When paginating, `name` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:listRevisions", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListDetectorRevisionsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates an Endpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"description": "Updates an existing detector. A mask covering `custom_detector_config` replaces the whole config; `state` cannot be changed here, use EnableDetector or DisableDetector.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/detectors/{detectorsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.endpoints.patch", +"id": "aiplatform.projects.locations.detectors.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name of the Endpoint.", +"description": "Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/detectors/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"description": "Optional. The list of fields to update. Supported paths are `display_name`, `description` and `custom_detector_config`. `name` and `state` are ignored if named; any other path is rejected with INVALID_ARGUMENT.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -14327,217 +15386,234 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +"$ref": "GoogleCloudAiplatformV1beta1Detector" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +"$ref": "GoogleCloudAiplatformV1beta1Detector" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"predict": { -"description": "", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predict", +"edgeDevices": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.predict", +"id": "aiplatform.projects.locations.edgeDevices.operations.cancel", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:predict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PredictRequest" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1PredictResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"predictLongRunning": { -"description": "", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predictLongRunning", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.predictLongRunning", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.edgeDevices.operations.delete", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"name": { +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:predictLongRunning", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"rawPredict": { -"description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.rawPredict", +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.edgeDevices.operations.get", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:rawPredict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RawPredictRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"serverStreamingPredict": { -"description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:serverStreamingPredict", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.serverStreamingPredict", +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.edgeDevices.operations.list", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+endpoint}:serverStreamingPredict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictRequest" +"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": "GoogleCloudAiplatformV1beta1StreamingPredictResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"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}/endpoints/{endpointsId}:setIamPolicy", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.setIamPolicy", +"id": "aiplatform.projects.locations.edgeDevices.operations.wait", "parameterOrder": [ -"resource" +"name" ], "parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+resource}:setIamPolicy", -"request": { -"$ref": "GoogleIamV1SetIamPolicyRequest" +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"streamGenerateContent": { -"description": "Generate content with multimodal inputs with streaming support.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamGenerateContent", +"endpoints": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:computeTokens", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.streamGenerateContent", +"id": "aiplatform.projects.locations.endpoints.computeTokens", "parameterOrder": [ -"model" +"endpoint" ], "parameters": { -"model": { -"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+model}:streamGenerateContent", +"path": "v1beta1/{+endpoint}:computeTokens", "request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"streamRawPredict": { -"description": "Perform a streaming online prediction with an arbitrary HTTP payload.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamRawPredict", +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:countTokens", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.streamRawPredict", +"id": "aiplatform.projects.locations.endpoints.countTokens", "parameterOrder": [ "endpoint" ], "parameters": { "endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:streamRawPredict", +"path": "v1beta1/{+endpoint}:countTokens", "request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamRawPredictRequest" +"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -14545,58 +15621,58 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"testIamPermissions": { -"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:testIamPermissions", +"create": { +"description": "Creates an Endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.testIamPermissions", +"id": "aiplatform.projects.locations.endpoints.create", "parameterOrder": [ -"resource" +"parent" ], "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).", +"endpointId": { +"description": "Immutable. The ID to use for endpoint, which will become the final component of the endpoint resource name. If not provided, Vertex AI will generate a value for this ID. If the first character is a letter, this value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The last character must be a letter or number. If the first character is a number, this value may be up to 9 characters, and valid characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this field is populated based on a query string argument, such as `?endpoint_id=12345`. This is the fallback for fields that are not included in either the URI or the body.", "location": "query", -"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.", +"parent": { +"description": "Required. The resource name of the Location to create the Endpoint in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:testIamPermissions", +"path": "v1beta1/{+parent}/endpoints", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +}, "response": { -"$ref": "GoogleIamV1TestIamPermissionsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"undeployModel": { -"description": "Undeploys a Model from an Endpoint, removing a DeployedModel from it, and freeing all resources it's using.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:undeployModel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.undeployModel", +"delete": { +"description": "Deletes an Endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.endpoints.delete", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint resource from which to undeploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "Required. The name of the Endpoint resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:undeployModel", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1UndeployModelRequest" -}, +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleLongrunningOperation" }, @@ -14605,26 +15681,26 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"update": { -"description": "Updates an Endpoint with a long running operation.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:update", +"deployModel": { +"description": "Deploys a Model into this Endpoint, creating a DeployedModel within it.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:deployModel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.update", +"id": "aiplatform.projects.locations.endpoints.deployModel", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "Identifier. The resource name of the Endpoint.", +"endpoint": { +"description": "Required. The name of the Endpoint resource into which to deploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:update", +"path": "v1beta1/{+endpoint}:deployModel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest" +"$ref": "GoogleCloudAiplatformV1beta1DeployModelRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -14633,207 +15709,150 @@ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"chat": { -"methods": { -"completions": { -"description": "Exposes an OpenAI-compatible endpoint for chat completions.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/chat/completions", +"directPredict": { +"description": "Perform an unary online prediction request to a gRPC model server for Vertex first-party products and frameworks.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directPredict", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.chat.completions", +"id": "aiplatform.projects.locations.endpoints.directPredict", "parameterOrder": [ "endpoint" ], "parameters": { "endpoint": { -"description": "Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}/chat/completions", +"path": "v1beta1/{+endpoint}:directPredict", "request": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1DirectPredictRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1DirectPredictResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} }, -"deployedModels": { -"resources": { -"invoke": { -"methods": { -"invoke": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/deployedModels/{deployedModelId}/invoke/{invokeId}", +"directRawPredict": { +"description": "Perform an unary online prediction request to a gRPC model server for custom containers.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directRawPredict", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.deployedModels.invoke.invoke", +"id": "aiplatform.projects.locations.endpoints.directRawPredict", "parameterOrder": [ -"endpoint", -"deployedModelId", -"invokeId" +"endpoint" ], "parameters": { -"deployedModelId": { -"description": "ID of the DeployedModel that serves the invoke request.", -"location": "path", -"required": true, -"type": "string" -}, "endpoint": { "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" -}, -"invokeId": { -"location": "path", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+endpoint}/deployedModels/{deployedModelId}/invoke/{+invokeId}", +"path": "v1beta1/{+endpoint}:directRawPredict", "request": { -"$ref": "GoogleCloudAiplatformV1beta1InvokeRequest" +"$ref": "GoogleCloudAiplatformV1beta1DirectRawPredictRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1DirectRawPredictResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} -} -} }, -"google": { -"resources": { -"science": { -"methods": { -"inference": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/google/science/inference", +"explain": { +"description": "Perform an online explanation. If deployed_model_id is specified, the corresponding DeployModel must have explanation_spec populated. If deployed_model_id is not specified, all DeployedModels must have explanation_spec populated.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:explain", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.google.science.inference", +"id": "aiplatform.projects.locations.endpoints.explain", "parameterOrder": [ "endpoint" ], "parameters": { -"deployedModelId": { -"description": "ID of the DeployedModel that serves the invoke request.", -"location": "query", -"type": "string" -}, "endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"description": "Required. The name of the Endpoint requested to serve the explanation. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/google$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}/science/inference", +"path": "v1beta1/{+endpoint}:explain", "request": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1ExplainRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1ExplainResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} -} -} }, -"invoke": { -"methods": { -"invoke": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/invoke/{invokeId}", +"fetchPredictOperation": { +"description": "Fetch an asynchronous online prediction operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:fetchPredictOperation", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.invoke.invoke", +"id": "aiplatform.projects.locations.endpoints.fetchPredictOperation", "parameterOrder": [ -"endpoint", -"invokeId" +"endpoint" ], "parameters": { "endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" -}, -"invokeId": { -"location": "path", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+endpoint}/invoke/{+invokeId}", +"path": "v1beta1/{+endpoint}:fetchPredictOperation", "request": { -"$ref": "GoogleCloudAiplatformV1beta1InvokeRequest" +"$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} }, -"openapi": { -"methods": { -"completions": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/openapi/completions", +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:generateContent", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.openapi.completions", +"id": "aiplatform.projects.locations.endpoints.generateContent", "parameterOrder": [ -"endpoint" +"model" ], "parameters": { -"deployedModelId": { -"description": "ID of the DeployedModel that serves the invoke request.", -"location": "query", -"type": "string" -}, -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/openapi$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}/completions", +"path": "v1beta1/{+model}:generateContent", "request": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -14841,258 +15860,261 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"embeddings": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/openapi/embeddings", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.openapi.embeddings", +"get": { +"description": "Gets an Endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.get", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"deployedModelId": { -"description": "ID of the DeployedModel that serves the invoke request.", -"location": "query", -"type": "string" -}, -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "Required. The name of the Endpoint resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/openapi$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}/embeddings", -"request": { -"$ref": "GoogleApiHttpBody" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"responses": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/openapi/responses", +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:getIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.openapi.responses", +"id": "aiplatform.projects.locations.endpoints.getIamPolicy", "parameterOrder": [ -"endpoint" +"resource" ], "parameters": { -"deployedModelId": { -"description": "ID of the DeployedModel that serves the invoke request.", +"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": "string" +"type": "integer" }, -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/openapi$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}/responses", -"request": { -"$ref": "GoogleApiHttpBody" -}, +"path": "v1beta1/{+resource}:getIamPolicy", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleIamV1Policy" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.operations.cancel", +"list": { +"description": "Lists Endpoints in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `endpoint` supports `=` and `!=`. `endpoint` represents the Endpoint ID, i.e. the last segment of the Endpoint's resource name. * `display_name` supports `=` and `!=`. * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:*` or `labels:key` - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `base_model_name` only supports `=`. Some examples: * `endpoint=1` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `baseModelName=\"text-bison\"`", +"location": "query", +"type": "string" +}, +"gdcZone": { +"description": "Optional. Configures the Google Distributed Cloud (GDC) environment for online prediction. Only set this field when the Endpoint is to be deployed in a GDC environment.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListEndpointsResponse.next_page_token of the previous EndpointService.ListEndpoints call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the Endpoints. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/endpoints", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1ListEndpointsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.endpoints.operations.delete", +"mutateDeployedModel": { +"description": "Updates an existing deployed model. Updatable fields include `min_replica_count`, `max_replica_count`, `required_replica_count`, `autoscaling_metric_specs`, `disable_container_logging` (v1 only), and `enable_container_logging` (v1beta1 only).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:mutateDeployedModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.mutateDeployedModel", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", +"endpoint": { +"description": "Required. The name of the Endpoint resource into which to mutate a DeployedModel. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}:mutateDeployedModel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1MutateDeployedModelRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.endpoints.operations.get", +"patch": { +"description": "Updates an Endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.endpoints.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Identifier. The resource name of the Endpoint.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Endpoint" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.endpoints.operations.list", +"predict": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.predict", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" -}, -"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", +"path": "v1beta1/{+endpoint}:predict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PredictRequest" +}, "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1PredictResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:wait", +"predictLongRunning": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predictLongRunning", "httpMethod": "POST", -"id": "aiplatform.projects.locations.endpoints.operations.wait", +"id": "aiplatform.projects.locations.endpoints.predictLongRunning", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+endpoint}:predictLongRunning", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} }, -"responses": { -"methods": { -"delete": { -"description": "Deletes the response from the endpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/responses/{responsesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.endpoints.responses.delete", +"rawPredict": { +"description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.rawPredict", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "Required. The name of the Response resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}/responses/{response}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/responses/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}:rawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RawPredictRequest" +}, "response": { "$ref": "GoogleApiHttpBody" }, @@ -15102,385 +16124,576 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"get": { -"description": "Gets the response from the endpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/responses/{responsesId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.endpoints.responses.get", +"serverStreamingPredict": { +"description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:serverStreamingPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.serverStreamingPredict", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "Required. The name of the Response resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}/responses/{response}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/responses/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}:serverStreamingPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictRequest" +}, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} -} -} }, -"evaluationExperiments": { -"methods": { -"create": { -"description": "Creates an Evaluation Experiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments", +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:setIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationExperiments.create", +"id": "aiplatform.projects.locations.endpoints.setIamPolicy", "parameterOrder": [ -"parent" +"resource" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the Evaluation Experiment in. Format: `projects/{project}/locations/{location}`", +"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/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationExperiments", +"path": "v1beta1/{+resource}:setIamPolicy", "request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" +"$ref": "GoogleIamV1SetIamPolicyRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" +"$ref": "GoogleIamV1Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes an Evaluation Experiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments/{evaluationExperimentsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationExperiments.delete", +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.streamGenerateContent", "parameterOrder": [ -"name" +"model" ], "parameters": { -"name": { -"description": "Required. The name of the EvaluationExperiment resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationExperiments/{evaluation_experiment}`", +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationExperiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"get": { -"description": "Gets an Evaluation Experiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments/{evaluationExperimentsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationExperiments.get", +"streamRawPredict": { +"description": "Perform a streaming online prediction with an arbitrary HTTP payload.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamRawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.streamRawPredict", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "Required. The name of the EvaluationExperiment resource. Format: `projects/{project}/locations/{location}/evaluationExperiments/{evaluation_experiment}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationExperiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}:streamRawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamRawPredictRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"list": { -"description": "Lists Evaluation Experiments.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationExperiments.list", +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.testIamPermissions", "parameterOrder": [ -"parent" +"resource" ], "parameters": { -"filter": { -"description": "Optional. Filter expression that matches a subset of the EvaluationExperiments to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of Evaluation Experiments to return.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. A page token, received from a previous `ListEvaluationExperiments` call. Provide this to retrieve the subsequent page.", +"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" }, -"parent": { -"description": "Required. The resource name of the Location from which to list the Evaluation Experiments. Format: `projects/{project}/locations/{location}`", +"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/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationExperiments", +"path": "v1beta1/{+resource}:testIamPermissions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationExperimentsResponse" +"$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates an Evaluation Experiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments/{evaluationExperimentsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.evaluationExperiments.patch", +"undeployModel": { +"description": "Undeploys a Model from an Endpoint, removing a DeployedModel from it, and freeing all resources it's using.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:undeployModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.undeployModel", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "Identifier. The resource name of the EvaluationExperiment. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationExperiments/{evaluation_experiment}`", +"endpoint": { +"description": "Required. The name of the Endpoint resource from which to undeploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationExperiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Optional. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}:undeployModel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" +"$ref": "GoogleCloudAiplatformV1beta1UndeployModelRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"evaluationItems": { -"methods": { -"create": { -"description": "Creates an Evaluation Item.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems", +"update": { +"description": "Updates an Endpoint with a long running operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:update", "httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationItems.create", +"id": "aiplatform.projects.locations.endpoints.update", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the Evaluation Item in. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "Identifier. The resource name of the Endpoint.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationItems", +"path": "v1beta1/{+name}:update", "request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationItem" +"$ref": "GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationItem" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"delete": { -"description": "Deletes an Evaluation Item.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationItems.delete", +"resources": { +"chat": { +"methods": { +"completions": { +"description": "Exposes an OpenAI-compatible endpoint for chat completions.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/chat/completions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.chat.completions", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "Required. The name of the EvaluationItem resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`", +"endpoint": { +"description": "Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}/chat/completions", +"request": { +"$ref": "GoogleApiHttpBody" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] +} +} }, -"get": { -"description": "Gets an Evaluation Item.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationItems.get", +"deployedModels": { +"resources": { +"invoke": { +"methods": { +"invoke": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/deployedModels/{deployedModelId}/invoke/{invokeId}", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.deployedModels.invoke.invoke", "parameterOrder": [ -"name" +"endpoint", +"deployedModelId", +"invokeId" ], "parameters": { -"name": { -"description": "Required. The name of the EvaluationItem resource. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`", +"deployedModelId": { +"description": "ID of the DeployedModel that serves the invoke request.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationItem" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists Evaluation Items.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationItems.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"filter": { -"description": "Optional. Filter expression that matches a subset of the EvaluationItems to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of Evaluation Items to return.", -"format": "int32", -"location": "query", -"type": "integer" }, -"pageToken": { -"description": "Optional. A page token, received from a previous `ListEvaluationItems` call. Provide this to retrieve the subsequent page.", -"location": "query", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, "type": "string" }, -"parent": { -"description": "Required. The resource name of the Location from which to list the Evaluation Items. Format: `projects/{project}/locations/{location}`", +"invokeId": { "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationItems", +"path": "v1beta1/{+endpoint}/deployedModels/{deployedModelId}/invoke/{+invokeId}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1InvokeRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationItemsResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] } +} +} +} }, +"google": { "resources": { -"operations": { +"science": { "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}/evaluationItems/{evaluationItemsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationItems.operations.delete", +"inference": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/google/science/inference", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.google.science.inference", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", +"deployedModelId": { +"description": "ID of the DeployedModel that serves the invoke request.", +"location": "query", +"type": "string" +}, +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/google$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}/science/inference", +"request": { +"$ref": "GoogleApiHttpBody" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] +} +} +} +} }, -"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}/evaluationItems/{evaluationItemsId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationItems.operations.get", +"invoke": { +"methods": { +"invoke": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/invoke/{invokeId}", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.invoke.invoke", "parameterOrder": [ -"name" +"endpoint", +"invokeId" ], "parameters": { -"name": { -"description": "The name of the operation resource.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +}, +"invokeId": { "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}/invoke/{+invokeId}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1InvokeRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -}, +} +} +}, +"openapi": { +"methods": { +"completions": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/openapi/completions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.openapi.completions", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"deployedModelId": { +"description": "ID of the DeployedModel that serves the invoke request.", +"location": "query", +"type": "string" +}, +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/openapi$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}/completions", +"request": { +"$ref": "GoogleApiHttpBody" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"embeddings": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/openapi/embeddings", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.openapi.embeddings", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"deployedModelId": { +"description": "ID of the DeployedModel that serves the invoke request.", +"location": "query", +"type": "string" +}, +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/openapi$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}/embeddings", +"request": { +"$ref": "GoogleApiHttpBody" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"responses": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/openapi/responses", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.openapi.responses", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"deployedModelId": { +"description": "ID of the DeployedModel that serves the invoke request.", +"location": "query", +"type": "string" +}, +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/openapi$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+endpoint}/responses", +"request": { +"$ref": "GoogleApiHttpBody" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.endpoints.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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}/evaluationItems/{evaluationItemsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationItems.operations.list", +"id": "aiplatform.projects.locations.endpoints.operations.list", "parameterOrder": [ "name" ], @@ -15493,7 +16706,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", "required": true, "type": "string" }, @@ -15525,9 +16738,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationItems.operations.wait", +"id": "aiplatform.projects.locations.endpoints.operations.wait", "parameterOrder": [ "name" ], @@ -15535,7 +16748,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -15556,317 +16769,277 @@ ] } } -} -} }, -"evaluationMetrics": { +"responses": { "methods": { -"create": { -"description": "Creates an EvaluationMetric.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationMetrics.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"evaluationMetricId": { -"description": "Optional. The ID to use for the EvaluationMetric, which will become the final component of the EvaluationMetric's resource name. This value should be 1-63 characters, and valid characters are /a-z-/. The first character must be a lowercase letter, and the last character must be a lowercase letter or number.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Location to create the EvaluationMetric in. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/evaluationMetrics", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationMetric" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationMetric" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "delete": { -"description": "Deletes an EvaluationMetric.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}", +"description": "Deletes the response from the endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/responses/{responsesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationMetrics.delete", +"id": "aiplatform.projects.locations.endpoints.responses.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the EvaluationMetric resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationMetrics/{evaluation_metric}`", +"description": "Required. The name of the Response resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}/responses/{response}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/responses/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "get": { -"description": "Gets an EvaluationMetric.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}", +"description": "Gets the response from the endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/responses/{responsesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationMetrics.get", +"id": "aiplatform.projects.locations.endpoints.responses.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the EvaluationMetric resource. Format: `projects/{project}/locations/{location}/evaluationMetrics/{evaluation_metric}`", +"description": "Required. The name of the Response resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}/responses/{response}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/responses/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationMetric" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] +} +} +} +} }, -"list": { -"description": "Lists EvaluationMetrics.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationMetrics.list", +"evaluationExperiments": { +"methods": { +"create": { +"description": "Creates an Evaluation Experiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.evaluationExperiments.create", "parameterOrder": [ "parent" ], "parameters": { -"filter": { -"description": "Optional. Filter expression that matches a subset of the EvaluationMetrics to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of EvaluationMetrics to return.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. A page token, received from a previous `ListEvaluationMetrics` call. Provide this to retrieve the subsequent page.", -"location": "query", -"type": "string" -}, "parent": { -"description": "Required. The resource name of the Location from which to list the EvaluationMetrics. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the Evaluation Experiment in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationMetrics", +"path": "v1beta1/{+parent}/evaluationExperiments", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationMetricsResponse" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"operations": { -"methods": { "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}/operations/{operationsId}", +"description": "Deletes an Evaluation Experiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments/{evaluationExperimentsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationMetrics.operations.delete", +"id": "aiplatform.projects.locations.evaluationExperiments.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the EvaluationExperiment resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationExperiments/{evaluation_experiment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationExperiments/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "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}", +"description": "Gets an Evaluation Experiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments/{evaluationExperimentsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationMetrics.operations.get", +"id": "aiplatform.projects.locations.evaluationExperiments.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the EvaluationExperiment resource. Format: `projects/{project}/locations/{location}/evaluationExperiments/{evaluation_experiment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationExperiments/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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", +"description": "Lists Evaluation Experiments.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationMetrics.operations.list", +"id": "aiplatform.projects.locations.evaluationExperiments.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. Filter expression that matches a subset of the EvaluationExperiments to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+$", -"required": true, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", +"location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of Evaluation Experiments to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. A page token, received from a previous `ListEvaluationExperiments` call. Provide this to retrieve the subsequent page.", "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" +"parent": { +"description": "Required. The resource name of the Location from which to list the Evaluation Experiments. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/evaluationExperiments", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationExperimentsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"evaluationRuns": { -"methods": { -"cancel": { -"description": "Cancels an Evaluation Run. Attempts to cancel a running Evaluation Run asynchronously. Status of run can be checked via GetEvaluationRun.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationRuns.cancel", +"patch": { +"description": "Updates an Evaluation Experiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationExperiments/{evaluationExperimentsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.evaluationExperiments.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the EvaluationRun resource to be cancelled. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", +"description": "Identifier. The resource name of the EvaluationExperiment. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationExperiments/{evaluation_experiment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationExperiments/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Optional. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelEvaluationRunRequest" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationExperiment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, +"evaluationItems": { +"methods": { "create": { -"description": "Creates an Evaluation Run.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns", +"description": "Creates an Evaluation Item.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems", "httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationRuns.create", +"id": "aiplatform.projects.locations.evaluationItems.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location to create the Evaluation Run in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the Evaluation Item in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationRuns", +"path": "v1beta1/{+parent}/evaluationItems", "request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationRun" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationItem" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationRun" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationItem" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes an Evaluation Run.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}", +"description": "Deletes an Evaluation Item.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationRuns.delete", +"id": "aiplatform.projects.locations.evaluationItems.delete", "parameterOrder": [ "name" ], "parameters": { +"force": { +"description": "Optional. If set to true, all revisions of this EvaluationItem are deleted too. Otherwise the request fails with FAILED_PRECONDITION if the EvaluationItem has revisions. Even with force, fails with FAILED_PRECONDITION if any revision is referenced by an EvaluationSetRevision.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "Required. The name of the EvaluationRun resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", +"description": "Required. The name of the EvaluationItem resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+$", "required": true, "type": "string" } @@ -15880,41 +17053,41 @@ ] }, "get": { -"description": "Gets an Evaluation Run.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}", +"description": "Gets an Evaluation Item.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationRuns.get", +"id": "aiplatform.projects.locations.evaluationItems.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the EvaluationRun resource. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", +"description": "Required. The name of the EvaluationItem resource. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationRun" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationItem" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Evaluation Runs.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns", +"description": "Lists Evaluation Items.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationRuns.list", +"id": "aiplatform.projects.locations.evaluationItems.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. Filter expression that matches a subset of the EvaluationRuns to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", +"description": "Optional. Filter expression that matches a subset of the EvaluationItems to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -15924,27 +17097,27 @@ "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of Evaluation Runs to return.", +"description": "Optional. The maximum number of Evaluation Items to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. A page token, received from a previous `ListEvaluationRuns` call. Provide this to retrieve the subsequent page.", +"description": "Optional. A page token, received from a previous `ListEvaluationItems` call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location from which to list the Evaluation Runs. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the Evaluation Items. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationRuns", +"path": "v1beta1/{+parent}/evaluationItems", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationRunsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationItemsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -15956,9 +17129,9 @@ "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}/evaluationRuns/{evaluationRunsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationRuns.operations.delete", +"id": "aiplatform.projects.locations.evaluationItems.operations.delete", "parameterOrder": [ "name" ], @@ -15966,7 +17139,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -15981,9 +17154,9 @@ }, "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}/evaluationRuns/{evaluationRunsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationRuns.operations.get", +"id": "aiplatform.projects.locations.evaluationItems.operations.get", "parameterOrder": [ "name" ], @@ -15991,7 +17164,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -16007,9 +17180,9 @@ }, "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}/evaluationRuns/{evaluationRunsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationRuns.operations.list", +"id": "aiplatform.projects.locations.evaluationItems.operations.list", "parameterOrder": [ "name" ], @@ -16022,7 +17195,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+$", "required": true, "type": "string" }, @@ -16054,9 +17227,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationRuns.operations.wait", +"id": "aiplatform.projects.locations.evaluationItems.operations.wait", "parameterOrder": [ "name" ], @@ -16064,7 +17237,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -16085,128 +17258,134 @@ ] } } -} -} }, -"evaluationSets": { +"revisions": { "methods": { -"create": { -"description": "Creates an Evaluation Set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationSets.create", -"parameterOrder": [ -"parent" +"get": { +"description": "Gets an Evaluation Item Revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}/revisions/{revisionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.evaluationItems.revisions.get", +"parameterOrder": [ +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the Evaluation Set in. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "Required. The name of the EvaluationItemRevision resource. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+/revisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationSets", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationItemRevision" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"delete": { -"description": "Deletes an Evaluation Set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationSets.delete", +"evaluationMetrics": { +"methods": { +"create": { +"description": "Creates an EvaluationMetric.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.evaluationMetrics.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the EvaluationSet resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", +"evaluationMetricId": { +"description": "Optional. The ID to use for the EvaluationMetric, which will become the final component of the EvaluationMetric's resource name. This value should be 1-63 characters, and valid characters are /a-z-/. The first character must be a lowercase letter, and the last character must be a lowercase letter or number.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the EvaluationMetric in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/evaluationMetrics", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationMetric" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationMetric" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets an Evaluation Set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationSets.get", +"delete": { +"description": "Deletes an EvaluationMetric.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.evaluationMetrics.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the EvaluationSet resource. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", +"description": "Required. The name of the EvaluationMetric resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationMetrics/{evaluation_metric}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"import": { -"description": "Imports an Evaluation Set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets:import", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationSets.import", +"get": { +"description": "Gets an EvaluationMetric.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.evaluationMetrics.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. Parent resource name.", +"name": { +"description": "Required. The name of the EvaluationMetric resource. Format: `projects/{project}/locations/{location}/evaluationMetrics/{evaluation_metric}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationSets:import", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ImportEvaluationSetRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationMetric" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Evaluation Sets.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets", +"description": "Lists EvaluationMetrics.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationSets.list", +"id": "aiplatform.projects.locations.evaluationMetrics.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. Filter expression that matches a subset of the EvaluationSets to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", +"description": "Optional. Filter expression that matches a subset of the EvaluationMetrics to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -16216,61 +17395,27 @@ "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of Evaluation Sets to return.", +"description": "Optional. The maximum number of EvaluationMetrics to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. A page token, received from a previous `ListEvaluationSets` call. Provide this to retrieve the subsequent page.", +"description": "Optional. A page token, received from a previous `ListEvaluationMetrics` call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location from which to list the Evaluation Sets. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the EvaluationMetrics. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluationSets", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationSetsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"description": "Updates an Evaluation Set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.evaluationSets.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Optional. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" -}, +"path": "v1beta1/{+parent}/evaluationMetrics", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" +"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationMetricsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -16282,9 +17427,9 @@ "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}/evaluationSets/{evaluationSetsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.evaluationSets.operations.delete", +"id": "aiplatform.projects.locations.evaluationMetrics.operations.delete", "parameterOrder": [ "name" ], @@ -16292,7 +17437,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -16307,9 +17452,9 @@ }, "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}/evaluationSets/{evaluationSetsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationSets.operations.get", +"id": "aiplatform.projects.locations.evaluationMetrics.operations.get", "parameterOrder": [ "name" ], @@ -16317,7 +17462,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -16333,9 +17478,9 @@ }, "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}/evaluationSets/{evaluationSetsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.evaluationSets.operations.list", +"id": "aiplatform.projects.locations.evaluationMetrics.operations.list", "parameterOrder": [ "name" ], @@ -16348,7 +17493,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+$", "required": true, "type": "string" }, @@ -16377,115 +17522,82 @@ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/operations/{operationsId}:wait", +"evaluationRuns": { +"methods": { +"cancel": { +"description": "Cancels an Evaluation Run. Attempts to cancel a running Evaluation Run asynchronously. Status of run can be checked via GetEvaluationRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.evaluationSets.operations.wait", +"id": "aiplatform.projects.locations.evaluationRuns.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Required. The name of the EvaluationRun resource to be cancelled. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelEvaluationRunRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"exampleStores": { -"methods": { "create": { -"description": "Create an ExampleStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores:create", +"description": "Creates an Evaluation Run.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns", "httpMethod": "POST", -"id": "aiplatform.projects.locations.exampleStores.create", +"id": "aiplatform.projects.locations.evaluationRuns.create", "parameterOrder": [ "parent" ], "parameters": { -"exampleStore.createTime": { -"description": "Output only. Timestamp when this ExampleStore was created.", -"format": "google-datetime", -"location": "query", -"type": "string" -}, -"exampleStore.description": { -"description": "Optional. Description of the ExampleStore.", -"location": "query", -"type": "string" -}, -"exampleStore.displayName": { -"description": "Required. Display name of the ExampleStore.", -"location": "query", -"type": "string" -}, -"exampleStore.exampleStoreConfig.vertexEmbeddingModel": { -"description": "Required. The embedding model to be used for vector embedding. Immutable. Supported models: * \"text-embedding-005\" * \"text-multilingual-embedding-002\"", -"location": "query", -"type": "string" -}, -"exampleStore.name": { -"description": "Identifier. The resource name of the ExampleStore. This is a unique identifier. Format: projects/{project}/locations/{location}/exampleStores/{example_store}", -"location": "query", -"type": "string" -}, -"exampleStore.updateTime": { -"description": "Output only. Timestamp when this ExampleStore was most recently updated.", -"format": "google-datetime", -"location": "query", -"type": "string" -}, "parent": { -"description": "Required. The resource name of the Location to create the ExampleStore in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the Evaluation Run in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/exampleStores:create", +"path": "v1beta1/{+parent}/evaluationRuns", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationRun" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationRun" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Delete an ExampleStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}", +"description": "Deletes an Evaluation Run.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.exampleStores.delete", +"id": "aiplatform.projects.locations.evaluationRuns.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the ExampleStore to be deleted. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", +"description": "Required. The name of the EvaluationRun resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", "required": true, "type": "string" } @@ -16498,213 +17610,72 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"fetchExamples": { -"description": "Get Examples from the Example Store.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}:fetchExamples", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.exampleStores.fetchExamples", -"parameterOrder": [ -"exampleStore" -], -"parameters": { -"exampleStore": { -"description": "Required. The name of the ExampleStore resource that the examples should be fetched from. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+exampleStore}:fetchExamples", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FetchExamplesRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1FetchExamplesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "get": { -"description": "Get an ExampleStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}", +"description": "Gets an Evaluation Run.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.exampleStores.get", +"id": "aiplatform.projects.locations.evaluationRuns.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the ExampleStore. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", +"description": "Required. The name of the EvaluationRun resource. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ExampleStore" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationRun" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "List ExampleStores in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores", +"description": "Lists Evaluation Runs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns", "httpMethod": "GET", -"id": "aiplatform.projects.locations.exampleStores.list", +"id": "aiplatform.projects.locations.evaluationRuns.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"description": "Optional. Filter expression that matches a subset of the EvaluationRuns to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "Optional. The maximum number of Evaluation Runs to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "Optional. A page token, received from a previous `ListEvaluationRuns` call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the ExampleStores from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the Evaluation Runs. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/exampleStores", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListExampleStoresResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"description": "Update an ExampleStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.exampleStores.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the ExampleStore. This is a unique identifier. Format: projects/{project}/locations/{location}/exampleStores/{example_store}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description`", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ExampleStore" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"removeExamples": { -"description": "Remove Examples from the Example Store.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}:removeExamples", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.exampleStores.removeExamples", -"parameterOrder": [ -"exampleStore" -], -"parameters": { -"exampleStore": { -"description": "Required. The name of the ExampleStore resource that the examples should be removed from. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+exampleStore}:removeExamples", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RemoveExamplesRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1RemoveExamplesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"searchExamples": { -"description": "Search for similar Examples for given selection criteria.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}:searchExamples", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.exampleStores.searchExamples", -"parameterOrder": [ -"exampleStore" -], -"parameters": { -"exampleStore": { -"description": "Required. The name of the ExampleStore resource that examples are retrieved from. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+exampleStore}:searchExamples", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SearchExamplesRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1SearchExamplesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"upsertExamples": { -"description": "Create or update Examples in the Example Store.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}:upsertExamples", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.exampleStores.upsertExamples", -"parameterOrder": [ -"exampleStore" -], -"parameters": { -"exampleStore": { -"description": "Required. The name of the ExampleStore resource that examples are added to or updated in. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+exampleStore}:upsertExamples", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1UpsertExamplesRequest" -}, +"path": "v1beta1/{+parent}/evaluationRuns", "response": { -"$ref": "GoogleCloudAiplatformV1beta1UpsertExamplesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationRunsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -16714,37 +17685,11 @@ "resources": { "operations": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.exampleStores.operations.cancel", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.exampleStores.operations.delete", +"id": "aiplatform.projects.locations.evaluationRuns.operations.delete", "parameterOrder": [ "name" ], @@ -16752,7 +17697,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -16767,9 +17712,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.exampleStores.operations.get", +"id": "aiplatform.projects.locations.evaluationRuns.operations.get", "parameterOrder": [ "name" ], @@ -16777,7 +17722,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -16793,9 +17738,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.exampleStores.operations.list", +"id": "aiplatform.projects.locations.evaluationRuns.operations.list", "parameterOrder": [ "name" ], @@ -16808,7 +17753,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", "required": true, "type": "string" }, @@ -16840,9 +17785,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.exampleStores.operations.wait", +"id": "aiplatform.projects.locations.evaluationRuns.operations.wait", "parameterOrder": [ "name" ], @@ -16850,7 +17795,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -16874,185 +17819,54 @@ } } }, -"extensionControllers": { -"resources": { -"operations": { +"evaluationSets": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}:cancel", +"create": { +"description": "Creates an Evaluation Set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets", "httpMethod": "POST", -"id": "aiplatform.projects.locations.extensionControllers.operations.cancel", +"id": "aiplatform.projects.locations.evaluationSets.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"parent": { +"description": "Required. The resource name of the Location to create the Evaluation Set in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.extensionControllers.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.extensionControllers.operations.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} +"path": "v1beta1/{+parent}/evaluationSets", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" }, -"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.extensionControllers.operations.list", +"delete": { +"description": "Deletes an Evaluation Set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.evaluationSets.delete", "parameterOrder": [ "name" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+$", -"required": true, -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"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.", +"force": { +"description": "Optional. If set to true, all revisions of this EvaluationSet (and their unreferenced EvaluationItemRevisions) are deleted too. Otherwise the request fails with FAILED_PRECONDITION if the EvaluationSet has any revisions. Fails with FAILED_PRECONDITION even with force if a revision is being created.", "location": "query", "type": "boolean" -} -}, -"path": "v1beta1/{+name}/operations", -"response": { -"$ref": "GoogleLongrunningListOperationsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.extensionControllers.operations.wait", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to wait on.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}:wait", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} }, -"extensions": { -"methods": { -"delete": { -"description": "Deletes an Extension.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.extensions.delete", -"parameterOrder": [ -"name" -], -"parameters": { "name": { -"description": "Required. The name of the Extension resource to be deleted. Format: `projects/{project}/locations/{location}/extensions/{extension}`", +"description": "Required. The name of the EvaluationSet resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", "required": true, "type": "string" } @@ -17065,79 +17879,51 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"execute": { -"description": "Executes the request against a given extension.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}:execute", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.extensions.execute", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. Name (identifier) of the extension; Format: `projects/{project}/locations/{location}/extensions/{extension}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:execute", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteExtensionRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteExtensionResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "get": { -"description": "Gets an Extension.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", +"description": "Gets an Evaluation Set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.extensions.get", +"id": "aiplatform.projects.locations.evaluationSets.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Extension resource. Format: `projects/{project}/locations/{location}/extensions/{extension}`", +"description": "Required. The name of the EvaluationSet resource. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Extension" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "import": { -"description": "Imports an Extension.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions:import", +"description": "Imports an Evaluation Set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets:import", "httpMethod": "POST", -"id": "aiplatform.projects.locations.extensions.import", +"id": "aiplatform.projects.locations.evaluationSets.import", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location to import the Extension in. Format: `projects/{project}/locations/{location}`", +"description": "Required. Parent resource name.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/extensions:import", +"path": "v1beta1/{+parent}/evaluationSets:import", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Extension" +"$ref": "GoogleCloudAiplatformV1beta1ImportEvaluationSetRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -17147,70 +17933,69 @@ ] }, "list": { -"description": "Lists Extensions in a location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions", +"description": "Lists Evaluation Sets.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets", "httpMethod": "GET", -"id": "aiplatform.projects.locations.extensions.list", +"id": "aiplatform.projects.locations.evaluationSets.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. The standard list filter. Supported fields: * `display_name` * `create_time` * `update_time` More detail in [AIP-160](https://google.aip.dev/160).", +"description": "Optional. Filter expression that matches a subset of the EvaluationSets to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "Optional. The maximum number of Evaluation Sets to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "Optional. A page token, received from a previous `ListEvaluationSets` call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the Extensions from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the Evaluation Sets. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/extensions", +"path": "v1beta1/{+parent}/evaluationSets", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListExtensionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationSetsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates an Extension.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", +"description": "Updates an Evaluation Set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.extensions.patch", +"id": "aiplatform.projects.locations.evaluationSets.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name of the Extension.", +"description": "Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Required. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `runtime_config` * `tool_use_examples` * `manifest.description`", +"description": "Optional. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -17218,38 +18003,10 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Extension" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Extension" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"query": { -"description": "Queries an extension with a default controller.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}:query", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.extensions.query", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. Name (identifier) of the extension; Format: `projects/{project}/locations/{location}/extensions/{extension}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:query", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1QueryExtensionRequest" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1QueryExtensionResponse" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -17259,37 +18016,11 @@ "resources": { "operations": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.extensions.operations.cancel", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.extensions.operations.delete", +"id": "aiplatform.projects.locations.evaluationSets.operations.delete", "parameterOrder": [ "name" ], @@ -17297,7 +18028,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -17312,9 +18043,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.extensions.operations.get", +"id": "aiplatform.projects.locations.evaluationSets.operations.get", "parameterOrder": [ "name" ], @@ -17322,7 +18053,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -17338,9 +18069,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.extensions.operations.list", +"id": "aiplatform.projects.locations.evaluationSets.operations.list", "parameterOrder": [ "name" ], @@ -17353,7 +18084,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", "required": true, "type": "string" }, @@ -17385,9 +18116,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.extensions.operations.wait", +"id": "aiplatform.projects.locations.evaluationSets.operations.wait", "parameterOrder": [ "name" ], @@ -17395,7 +18126,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -17416,36 +18147,29 @@ ] } } -} -} }, -"featureGroups": { +"revisions": { "methods": { "create": { -"description": "Creates a new FeatureGroup in a given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups", +"description": "Creates an Evaluation Set Revision: an immutable snapshot of the Evaluation Set and its Evaluation Items. Each entry in the set's `evaluation_items` is replaced by an Evaluation Item Revision of that item. Every Evaluation Item in the set must be of type `HARBOR_TASK`. It must not contain duplicate items. Currently this always creates a new Evaluation Item Revision for every item. Clients must not rely on this: a future version may reuse an item's latest Evaluation Item Revision when the item has not changed since that revision was created.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/revisions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.create", +"id": "aiplatform.projects.locations.evaluationSets.revisions.create", "parameterOrder": [ "parent" ], "parameters": { -"featureGroupId": { -"description": "Required. The ID to use for this FeatureGroup, which will become the final component of the FeatureGroup's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", -"location": "query", -"type": "string" -}, "parent": { -"description": "Required. The resource name of the Location to create FeatureGroups. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the EvaluationSet to create a revision of. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featureGroups", +"path": "v1beta1/{+parent}/revisions", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSetRevision" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -17455,23 +18179,18 @@ ] }, "delete": { -"description": "Deletes a single FeatureGroup.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", +"description": "Deletes an Evaluation Set Revision, then deletes each of its Evaluation Item Revisions that no other Evaluation Set Revision references. Evaluation Runs on the revision and their results are not deleted.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/revisions/{revisionsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureGroups.delete", +"id": "aiplatform.projects.locations.evaluationSets.revisions.delete", "parameterOrder": [ "name" ], "parameters": { -"force": { -"description": "If set to true, any Features under this FeatureGroup will also be deleted. (Otherwise, the request will only work if the FeatureGroup has no Features.)", -"location": "query", -"type": "boolean" -}, "name": { -"description": "Required. The name of the FeatureGroup to be deleted. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"description": "Required. The name of the EvaluationSetRevision resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+/revisions/[^/]+$", "required": true, "type": "string" } @@ -17485,134 +18204,147 @@ ] }, "get": { -"description": "Gets details of a single FeatureGroup.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", +"description": "Gets an Evaluation Set Revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/revisions/{revisionsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.get", +"id": "aiplatform.projects.locations.evaluationSets.revisions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the FeatureGroup resource.", +"description": "Required. The name of the EvaluationSetRevision resource. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+/revisions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSetRevision" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"getIamPolicy": { -"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:getIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.getIamPolicy", +"list": { +"description": "Lists the revisions of an Evaluation Set, newest first.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}/revisions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.evaluationSets.revisions.list", "parameterOrder": [ -"resource" +"parent" ], "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).", +"pageSize": { +"description": "Optional. The maximum number of EvaluationSetRevisions to return.", "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.", +"pageToken": { +"description": "Optional. A page token, received from a previous `ListEvaluationSetRevisions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the EvaluationSet whose revisions to list. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:getIamPolicy", +"path": "v1beta1/{+parent}/revisions", "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleCloudAiplatformV1beta1ListEvaluationSetRevisionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"list": { -"description": "Lists FeatureGroups in a given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.list", +"exampleStores": { +"methods": { +"create": { +"description": "Create an ExampleStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores:create", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.exampleStores.create", "parameterOrder": [ "parent" ], "parameters": { -"filter": { -"description": "Lists the FeatureGroups that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureGroups created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureGroups with label \"env\" set to \"prod\".", +"exampleStore.createTime": { +"description": "Output only. Timestamp when this ExampleStore was created.", +"format": "google-datetime", "location": "query", "type": "string" }, -"orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time`", +"exampleStore.description": { +"description": "Optional. Description of the ExampleStore.", "location": "query", "type": "string" }, -"pageSize": { -"description": "The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureGroups will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", -"format": "int32", +"exampleStore.displayName": { +"description": "Required. Display name of the ExampleStore.", "location": "query", -"type": "integer" +"type": "string" }, -"pageToken": { -"description": "A page token, received from a previous FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureGroups must match the call that provided the page token.", +"exampleStore.exampleStoreConfig.vertexEmbeddingModel": { +"description": "Required. The embedding model to be used for vector embedding. Immutable. Supported models: * \"text-embedding-005\" * \"text-multilingual-embedding-002\"", +"location": "query", +"type": "string" +}, +"exampleStore.name": { +"description": "Identifier. The resource name of the ExampleStore. This is a unique identifier. Format: projects/{project}/locations/{location}/exampleStores/{example_store}", +"location": "query", +"type": "string" +}, +"exampleStore.updateTime": { +"description": "Output only. Timestamp when this ExampleStore was most recently updated.", +"format": "google-datetime", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list FeatureGroups. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the ExampleStore in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featureGroups", +"path": "v1beta1/{+parent}/exampleStores:create", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeatureGroupsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates the parameters of a single FeatureGroup.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.featureGroups.patch", +"delete": { +"description": "Delete an ExampleStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.exampleStores.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", +"description": "Required. The resource name of the ExampleStore to be deleted. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the FeatureGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `big_query` * `big_query.entity_id_columns` * `service_agent_type`", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, "path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" -}, "response": { "$ref": "GoogleLongrunningOperation" }, @@ -17620,120 +18352,127 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"setIamPolicy": { -"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:setIamPolicy", +"fetchExamples": { +"description": "Get Examples from the Example Store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}:fetchExamples", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.setIamPolicy", +"id": "aiplatform.projects.locations.exampleStores.fetchExamples", "parameterOrder": [ -"resource" +"exampleStore" ], "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.", +"exampleStore": { +"description": "Required. The name of the ExampleStore resource that the examples should be fetched from. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:setIamPolicy", +"path": "v1beta1/{+exampleStore}:fetchExamples", "request": { -"$ref": "GoogleIamV1SetIamPolicyRequest" +"$ref": "GoogleCloudAiplatformV1beta1FetchExamplesRequest" }, "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleCloudAiplatformV1beta1FetchExamplesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"testIamPermissions": { -"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:testIamPermissions", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.testIamPermissions", +"get": { +"description": "Get an ExampleStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.exampleStores.get", "parameterOrder": [ -"resource" +"name" ], "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.", +"name": { +"description": "Required. The resource name of the ExampleStore. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:testIamPermissions", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleIamV1TestIamPermissionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ExampleStore" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"featureMonitors": { -"methods": { -"create": { -"description": "Creates a new FeatureMonitor in a given project, location and FeatureGroup.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.create", +"list": { +"description": "List ExampleStores in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.exampleStores.list", "parameterOrder": [ "parent" ], "parameters": { -"featureMonitorId": { -"description": "Required. The ID to use for this FeatureMonitor, which will become the final component of the FeatureGroup's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the FeatureGroup.", +"filter": { +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of FeatureGroup to create FeatureMonitor. Format: `projects/{project}/locations/{location}/featureGroups/{featuregroup}`", +"description": "Required. The resource name of the Location to list the ExampleStores from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featureMonitors", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" -}, +"path": "v1beta1/{+parent}/exampleStores", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListExampleStoresResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a single FeatureMonitor.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.delete", +"patch": { +"description": "Update an ExampleStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.exampleStores.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the FeatureMonitor to be deleted. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", +"description": "Identifier. The resource name of the ExampleStore. This is a unique identifier. Format: projects/{project}/locations/{location}/exampleStores/{example_store}", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description`", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExampleStore" +}, "response": { "$ref": "GoogleLongrunningOperation" }, @@ -17741,106 +18480,85 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets details of a single FeatureMonitor.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.get", +"removeExamples": { +"description": "Remove Examples from the Example Store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}:removeExamples", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.exampleStores.removeExamples", "parameterOrder": [ -"name" +"exampleStore" ], "parameters": { -"name": { -"description": "Required. The name of the FeatureMonitor resource.", +"exampleStore": { +"description": "Required. The name of the ExampleStore resource that the examples should be removed from. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+exampleStore}:removeExamples", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RemoveExamplesRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" +"$ref": "GoogleCloudAiplatformV1beta1RemoveExamplesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists FeatureGroups in a given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.list", +"searchExamples": { +"description": "Search for similar Examples for given selection criteria.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}:searchExamples", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.exampleStores.searchExamples", "parameterOrder": [ -"parent" +"exampleStore" ], "parameters": { -"filter": { -"description": "Optional. Lists the FeatureMonitors that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureMonitors created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureGroups with label \"env\" set to \"prod\".", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time`", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitors will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitors call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitors must match the call that provided the page token.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the FeatureGroup to list FeatureMonitors. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", +"exampleStore": { +"description": "Required. The name of the ExampleStore resource that examples are retrieved from. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featureMonitors", +"path": "v1beta1/{+exampleStore}:searchExamples", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchExamplesRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse" +"$ref": "GoogleCloudAiplatformV1beta1SearchExamplesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates the parameters of a single FeatureMonitor.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.patch", +"upsertExamples": { +"description": "Create or update Examples in the Example Store.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}:upsertExamples", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.exampleStores.upsertExamples", "parameterOrder": [ -"name" +"exampleStore" ], "parameters": { -"name": { -"description": "Identifier. Name of the FeatureMonitor. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}/featureMonitors/{featureMonitor}`", +"exampleStore": { +"description": "Required. The name of the ExampleStore resource that examples are added to or updated in. Format: `projects/{project}/locations/{location}/exampleStores/{example_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Optional. Field mask is used to specify the fields to be overwritten in the FeatureMonitor resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `schedule_config` * `feature_selection_config`", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+exampleStore}:upsertExamples", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" +"$ref": "GoogleCloudAiplatformV1beta1UpsertExamplesRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1UpsertExamplesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -17848,122 +18566,203 @@ } }, "resources": { -"featureMonitorJobs": { +"operations": { "methods": { -"create": { -"description": "Creates a new feature monitor job.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.create", +"id": "aiplatform.projects.locations.exampleStores.operations.cancel", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"featureMonitorJobId": { -"description": "Optional. Output only. System-generated ID for feature monitor job.", -"format": "int64", -"location": "query", +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", +"required": true, "type": "string" +} }, -"parent": { -"description": "Required. The resource name of FeatureMonitor to create FeatureMonitorJob. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.exampleStores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featureMonitorJobs", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Get a feature monitor job.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs/{featureMonitorJobsId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.get", +"id": "aiplatform.projects.locations.exampleStores.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the FeatureMonitorJob resource. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}/featureMonitorJobs/{feature_monitor_job}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/featureMonitorJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "List feature monitor jobs.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.list", +"id": "aiplatform.projects.locations.exampleStores.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Optional. Lists the FeatureMonitorJobs that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be Examples: * `create_time > \"2020-01-01\"` FeatureMonitorJobs created after 2020-01-01.", +"description": "The standard list filter.", "location": "query", "type": "string" }, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time`", -"location": "query", +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+$", +"required": true, "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of FeatureMonitorJobs to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitorJobs will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitorJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitorJobs must match the call that provided the page token.", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the FeatureMonitor to list FeatureMonitorJobs. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.exampleStores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/exampleStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/featureMonitorJobs", +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } } +} +} }, +"extensionControllers": { +"resources": { "operations": { "methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensionControllers.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.delete", +"id": "aiplatform.projects.locations.extensionControllers.operations.delete", "parameterOrder": [ "name" ], @@ -17971,7 +18770,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -17986,9 +18785,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.get", +"id": "aiplatform.projects.locations.extensionControllers.operations.get", "parameterOrder": [ "name" ], @@ -17996,7 +18795,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -18012,9 +18811,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.list", +"id": "aiplatform.projects.locations.extensionControllers.operations.list", "parameterOrder": [ "name" ], @@ -18027,7 +18826,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+$", "required": true, "type": "string" }, @@ -18059,9 +18858,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.wait", +"id": "aiplatform.projects.locations.extensionControllers.operations.wait", "parameterOrder": [ "name" ], @@ -18069,7 +18868,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -18093,29 +18892,26 @@ } } }, -"features": { +"extensions": { "methods": { -"batchCreate": { -"description": "Creates a batch of Features in a given FeatureGroup.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.features.batchCreate", +"delete": { +"description": "Deletes an Extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.extensions.delete", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"name": { +"description": "Required. The name of the Extension resource to be deleted. Format: `projects/{project}/locations/{location}/extensions/{extension}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/features:batchCreate", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest" -}, +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleLongrunningOperation" }, @@ -18123,183 +18919,152 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates a new Feature in a given FeatureGroup.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", +"execute": { +"description": "Executes the request against a given extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}:execute", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.features.create", +"id": "aiplatform.projects.locations.extensions.execute", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"featureId": { -"description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"name": { +"description": "Required. Name (identifier) of the extension; Format: `projects/{project}/locations/{location}/extensions/{extension}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/features", +"path": "v1beta1/{+name}:execute", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Feature" +"$ref": "GoogleCloudAiplatformV1beta1ExecuteExtensionRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ExecuteExtensionResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a single Feature.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureGroups.features.delete", +"get": { +"description": "Gets an Extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.extensions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", +"description": "Required. The name of the Extension resource. Format: `projects/{project}/locations/{location}/extensions/{extension}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Extension" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets details of a single Feature.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.features.get", +"import": { +"description": "Imports an Extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensions.import", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"featureStatsAndAnomalySpec.latestStatsCount": { -"description": "Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"featureStatsAndAnomalySpec.statsTimeRange.endTime": { -"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", -"format": "google-datetime", -"location": "query", -"type": "string" -}, -"featureStatsAndAnomalySpec.statsTimeRange.startTime": { -"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", -"format": "google-datetime", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"parent": { +"description": "Required. The resource name of the Location to import the Extension in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/extensions:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Extension" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Feature" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Features in a given FeatureGroup.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", +"description": "Lists Extensions in a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.features.list", +"id": "aiplatform.projects.locations.extensions.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", +"description": "Optional. The standard list filter. Supported fields: * `display_name` * `create_time` * `update_time` More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, -"latestStatsCount": { -"description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", -"format": "int32", -"location": "query", -"type": "integer" -}, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"description": "Required. The resource name of the Location to list the Extensions from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/features", +"path": "v1beta1/{+parent}/extensions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeaturesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListExtensionsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "patch": { -"description": "Updates the parameters of a single Feature.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"description": "Updates an Extension.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.featureGroups.features.patch", +"id": "aiplatform.projects.locations.extensions.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", +"description": "Identifier. The resource name of the Extension.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", +"description": "Required. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `runtime_config` * `tool_use_examples` * `manifest.description`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -18307,160 +19072,78 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Feature" +"$ref": "GoogleCloudAiplatformV1beta1Extension" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Extension" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"operations": { -"methods": { -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureGroups.features.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.features.operations.get", +"query": { +"description": "Queries an extension with a default controller.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}:query", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.extensions.query", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. Name (identifier) of the extension; Format: `projects/{project}/locations/{location}/extensions/{extension}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.features.operations.list", -"parameterOrder": [ -"name" -], -"parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", -"required": true, -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"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}:query", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1QueryExtensionRequest" }, -"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1QueryExtensionResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.features.operations.wait", +"id": "aiplatform.projects.locations.extensions.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"operations": { -"methods": { "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureGroups.operations.delete", +"id": "aiplatform.projects.locations.extensions.operations.delete", "parameterOrder": [ "name" ], @@ -18468,7 +19151,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -18483,9 +19166,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.operations.get", +"id": "aiplatform.projects.locations.extensions.operations.get", "parameterOrder": [ "name" ], @@ -18493,7 +19176,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -18509,9 +19192,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureGroups.operations.list", +"id": "aiplatform.projects.locations.extensions.operations.list", "parameterOrder": [ "name" ], @@ -18524,7 +19207,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+$", "required": true, "type": "string" }, @@ -18556,9 +19239,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureGroups.operations.wait", +"id": "aiplatform.projects.locations.extensions.operations.wait", "parameterOrder": [ "name" ], @@ -18566,7 +19249,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -18590,33 +19273,33 @@ } } }, -"featureOnlineStores": { +"featureGroups": { "methods": { "create": { -"description": "Creates a new FeatureOnlineStore in a given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores", +"description": "Creates a new FeatureGroup in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.create", +"id": "aiplatform.projects.locations.featureGroups.create", "parameterOrder": [ "parent" ], "parameters": { -"featureOnlineStoreId": { -"description": "Required. The ID to use for this FeatureOnlineStore, which will become the final component of the FeatureOnlineStore's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", +"featureGroupId": { +"description": "Required. The ID to use for this FeatureGroup, which will become the final component of the FeatureGroup's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to create FeatureOnlineStores. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create FeatureGroups. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featureOnlineStores", +"path": "v1beta1/{+parent}/featureGroups", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -18626,23 +19309,23 @@ ] }, "delete": { -"description": "Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not contain any FeatureViews.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"description": "Deletes a single FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureOnlineStores.delete", +"id": "aiplatform.projects.locations.featureGroups.delete", "parameterOrder": [ "name" ], "parameters": { "force": { -"description": "If set to true, any FeatureViews and Features for this FeatureOnlineStore will also be deleted. (Otherwise, the request will only work if the FeatureOnlineStore has no FeatureViews.)", +"description": "If set to true, any Features under this FeatureGroup will also be deleted. (Otherwise, the request will only work if the FeatureGroup has no Features.)", "location": "query", "type": "boolean" }, "name": { -"description": "Required. The name of the FeatureOnlineStore to be deleted. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"description": "Required. The name of the FeatureGroup to be deleted. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } @@ -18656,25 +19339,25 @@ ] }, "get": { -"description": "Gets details of a single FeatureOnlineStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"description": "Gets details of a single FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.get", +"id": "aiplatform.projects.locations.featureGroups.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the FeatureOnlineStore resource.", +"description": "Required. The name of the FeatureGroup resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -18682,9 +19365,9 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:getIamPolicy", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:getIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.getIamPolicy", +"id": "aiplatform.projects.locations.featureGroups.getIamPolicy", "parameterOrder": [ "resource" ], @@ -18698,7 +19381,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } @@ -18712,16 +19395,16 @@ ] }, "list": { -"description": "Lists FeatureOnlineStores in a given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores", +"description": "Lists FeatureGroups in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.list", +"id": "aiplatform.projects.locations.featureGroups.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the FeatureOnlineStores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureOnlineStores created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureOnlineStores with label \"env\" set to \"prod\".", +"description": "Lists the FeatureGroups that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureGroups created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureGroups with label \"env\" set to \"prod\".", "location": "query", "type": "string" }, @@ -18731,50 +19414,50 @@ "type": "string" }, "pageSize": { -"description": "The maximum number of FeatureOnlineStores to return. The service may return fewer than this value. If unspecified, at most 100 FeatureOnlineStores will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"description": "The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureGroups will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureOnlineStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureOnlineStores must match the call that provided the page token.", +"description": "A page token, received from a previous FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureGroups must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list FeatureOnlineStores. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to list FeatureGroups. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featureOnlineStores", +"path": "v1beta1/{+parent}/featureGroups", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeatureOnlineStoresResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureGroupsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates the parameters of a single FeatureOnlineStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"description": "Updates the parameters of a single FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.featureOnlineStores.patch", +"id": "aiplatform.projects.locations.featureGroups.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`", +"description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the FeatureOnlineStore resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `bigtable` * `bigtable.auto_scaling` * `bigtable.enable_multi_region_replica`", +"description": "Field mask is used to specify the fields to be overwritten in the FeatureGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `big_query` * `big_query.entity_id_columns` * `service_agent_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -18782,7 +19465,7 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" +"$ref": "GoogleCloudAiplatformV1beta1FeatureGroup" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -18793,9 +19476,9 @@ }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:setIamPolicy", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:setIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.setIamPolicy", +"id": "aiplatform.projects.locations.featureGroups.setIamPolicy", "parameterOrder": [ "resource" ], @@ -18803,7 +19486,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } @@ -18821,9 +19504,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:testIamPermissions", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:testIamPermissions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.testIamPermissions", +"id": "aiplatform.projects.locations.featureGroups.testIamPermissions", "parameterOrder": [ "resource" ], @@ -18837,7 +19520,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } @@ -18852,38 +19535,33 @@ } }, "resources": { -"featureViews": { +"featureMonitors": { "methods": { "create": { -"description": "Creates a new FeatureView in a given FeatureOnlineStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews", +"description": "Creates a new FeatureMonitor in a given project, location and FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.create", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.create", "parameterOrder": [ "parent" ], "parameters": { -"featureViewId": { -"description": "Required. The ID to use for the FeatureView, which will become the final component of the FeatureView's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within a FeatureOnlineStore.", +"featureMonitorId": { +"description": "Required. The ID to use for this FeatureMonitor, which will become the final component of the FeatureGroup's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the FeatureGroup.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the FeatureOnlineStore to create FeatureViews. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"description": "Required. The resource name of FeatureGroup to create FeatureMonitor. Format: `projects/{project}/locations/{location}/featureGroups/{featuregroup}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" -}, -"runSyncImmediately": { -"description": "Immutable. If set to true, one on demand sync will be run immediately, regardless whether the FeatureView.sync_config is configured or not.", -"location": "query", -"type": "boolean" } }, -"path": "v1beta1/{+parent}/featureViews", +"path": "v1beta1/{+parent}/featureMonitors", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureView" +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -18893,18 +19571,18 @@ ] }, "delete": { -"description": "Deletes a single FeatureView.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", +"description": "Deletes a single FeatureMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.delete", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the FeatureView to be deleted. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"description": "Required. The name of the FeatureMonitor to be deleted. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", "required": true, "type": "string" } @@ -18917,453 +19595,590 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"directWrite": { -"description": "Bidirectional streaming RPC to directly write to feature values in a feature view. Requests may not have a one-to-one mapping to responses and responses may be returned out-of-order to reduce latency.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:directWrite", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.directWrite", +"get": { +"description": "Gets details of a single FeatureMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.get", "parameterOrder": [ -"featureView" +"name" ], "parameters": { -"featureView": { -"description": "FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"name": { +"description": "Required. The name of the FeatureMonitor resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+featureView}:directWrite", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDirectWriteRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDirectWriteResponse" +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"fetchFeatureValues": { -"description": "Fetch feature values under a FeatureView.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:fetchFeatureValues", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues", +"list": { +"description": "Lists FeatureGroups in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.list", "parameterOrder": [ -"featureView" +"parent" ], "parameters": { -"featureView": { -"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"filter": { +"description": "Optional. Lists the FeatureMonitors that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureMonitors created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureGroups with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitors will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitors call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitors must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureGroup to list FeatureMonitors. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+featureView}:fetchFeatureValues", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesRequest" -}, +"path": "v1beta1/{+parent}/featureMonitors", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"generateFetchAccessToken": { -"description": "RPC to generate an access token for the given feature view. FeatureViews under the same FeatureOnlineStore share the same access token.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:generateFetchAccessToken", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.generateFetchAccessToken", +"patch": { +"description": "Updates the parameters of a single FeatureMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.patch", "parameterOrder": [ -"featureView" +"name" ], "parameters": { -"featureView": { -"description": "FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"name": { +"description": "Identifier. Name of the FeatureMonitor. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}/featureMonitors/{featureMonitor}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Optional. Field mask is used to specify the fields to be overwritten in the FeatureMonitor resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `schedule_config` * `feature_selection_config`", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+featureView}:generateFetchAccessToken", +"path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateFetchAccessTokenRequest" +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateFetchAccessTokenResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"get": { -"description": "Gets details of a single FeatureView.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.get", +"resources": { +"featureMonitorJobs": { +"methods": { +"create": { +"description": "Creates a new feature monitor job.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the FeatureView resource. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"featureMonitorJobId": { +"description": "Optional. Output only. System-generated ID for feature monitor job.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of FeatureMonitor to create FeatureMonitorJob. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/featureMonitorJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureView" +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"getIamPolicy": { -"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:getIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy", +"get": { +"description": "Get a feature monitor job.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs/{featureMonitorJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.get", "parameterOrder": [ -"resource" +"name" ], "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.", +"name": { +"description": "Required. The name of the FeatureMonitorJob resource. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}/featureMonitorJobs/{feature_monitor_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/featureMonitorJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:getIamPolicy", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists FeatureViews in a given FeatureOnlineStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews", +"description": "List feature monitor jobs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.list", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the FeatureViews that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> FeatureViews created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> FeatureViews having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any FeatureView which has a label with 'env' as the key.", +"description": "Optional. Lists the FeatureMonitorJobs that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be Examples: * `create_time > \"2020-01-01\"` FeatureMonitorJobs created after 2020-01-01.", "location": "query", "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_view_id` * `create_time` * `update_time`", +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time`", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of FeatureViews to return. The service may return fewer than this value. If unspecified, at most 1000 FeatureViews will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"description": "Optional. The maximum number of FeatureMonitorJobs to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitorJobs will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureViews call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureViews must match the call that provided the page token.", +"description": "Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitorJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitorJobs must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the FeatureOnlineStore to list FeatureViews. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"description": "Required. The resource name of the FeatureMonitor to list FeatureMonitorJobs. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featureViews", +"path": "v1beta1/{+parent}/featureMonitorJobs", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeatureViewsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"patch": { -"description": "Updates the parameters of a single FeatureView.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.patch", +"operations": { +"methods": { +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.automatic_resources`", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, "path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureView" -}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"searchNearestEntities": { -"description": "Search the nearest entities under a FeatureView. Search only works for indexable feature view; if a feature view isn't indexable, returns Invalid argument response.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:searchNearestEntities", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities", +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.get", "parameterOrder": [ -"featureView" +"name" ], "parameters": { -"featureView": { -"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"name": { +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+featureView}:searchNearestEntities", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SearchNearestEntitiesRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SearchNearestEntitiesResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"setIamPolicy": { -"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:setIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy", +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.list", "parameterOrder": [ -"resource" +"name" ], "parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+resource}:setIamPolicy", -"request": { -"$ref": "GoogleIamV1SetIamPolicyRequest" +"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": "GoogleIamV1Policy" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"streamingFetchFeatureValues": { -"description": "Bidirectional streaming RPC to fetch feature values under a FeatureView. Requests may not have a one-to-one mapping to responses and responses may be returned out-of-order to reduce latency.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:streamingFetchFeatureValues", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.streamingFetchFeatureValues", +"id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.wait", "parameterOrder": [ -"featureView" +"name" ], "parameters": { -"featureView": { -"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+featureView}:streamingFetchFeatureValues", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesRequest" +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"sync": { -"description": "Triggers on-demand sync for the FeatureView.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:sync", +"features": { +"methods": { +"batchCreate": { +"description": "Creates a batch of Features in a given FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.sync", +"id": "aiplatform.projects.locations.featureGroups.features.batchCreate", "parameterOrder": [ -"featureView" +"parent" ], "parameters": { -"featureView": { -"description": "Required. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"parent": { +"description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+featureView}:sync", +"path": "v1beta1/{+parent}/features:batchCreate", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SyncFeatureViewRequest" +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1SyncFeatureViewResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"testIamPermissions": { -"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:testIamPermissions", +"create": { +"description": "Creates a new Feature in a given FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions", +"id": "aiplatform.projects.locations.featureGroups.features.create", "parameterOrder": [ -"resource" +"parent" ], "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).", +"featureId": { +"description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", "location": "query", -"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.", +"parent": { +"description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:testIamPermissions", +"path": "v1beta1/{+parent}/features", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, "response": { -"$ref": "GoogleIamV1TestIamPermissionsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"delete": { +"description": "Deletes a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" } }, -"resources": { -"featureViewSyncs": { -"methods": { +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "get": { -"description": "Gets details of a single FeatureViewSync.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs/{featureViewSyncsId}", +"description": "Gets details of a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get", +"id": "aiplatform.projects.locations.featureGroups.features.get", "parameterOrder": [ "name" ], "parameters": { +"featureStatsAndAnomalySpec.latestStatsCount": { +"description": "Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"featureStatsAndAnomalySpec.statsTimeRange.endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"featureStatsAndAnomalySpec.statsTimeRange.startTime": { +"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The name of the FeatureViewSync resource. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", +"description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/featureViewSyncs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeatureViewSync" +"$ref": "GoogleCloudAiplatformV1beta1Feature" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists FeatureViewSyncs in a given FeatureView.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs", +"description": "Lists Features in a given FeatureGroup.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list", +"id": "aiplatform.projects.locations.featureGroups.features.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the FeatureViewSyncs that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> FeatureViewSyncs created after 2020-01-31T15:30:00.000000Z.", +"description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", "location": "query", "type": "string" }, +"latestStatsCount": { +"description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", +"format": "int32", +"location": "query", +"type": "integer" +}, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time`", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of FeatureViewSyncs to return. The service may return fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureViewSyncs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureViewSyncs must match the call that provided the page token.", +"description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the FeatureView to list FeatureViewSyncs. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"description": "Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/featureViewSyncs", +"path": "v1beta1/{+parent}/features", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeatureViewSyncsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListFeaturesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"patch": { +"description": "Updates the parameters of a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureGroups.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", +"format": "google-fieldmask", +"location": "query", +"type": "string" } +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Feature" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } }, +"resources": { "operations": { "methods": { "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete", +"id": "aiplatform.projects.locations.featureGroups.features.operations.delete", "parameterOrder": [ "name" ], @@ -19371,7 +20186,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -19386,9 +20201,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get", +"id": "aiplatform.projects.locations.featureGroups.features.operations.get", "parameterOrder": [ "name" ], @@ -19396,7 +20211,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -19412,9 +20227,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.list", +"id": "aiplatform.projects.locations.featureGroups.features.operations.list", "parameterOrder": [ "name" ], @@ -19427,7 +20242,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", "required": true, "type": "string" }, @@ -19459,9 +20274,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait", +"id": "aiplatform.projects.locations.featureGroups.features.operations.wait", "parameterOrder": [ "name" ], @@ -19469,7 +20284,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -19497,9 +20312,9 @@ "methods": { "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featureOnlineStores.operations.delete", +"id": "aiplatform.projects.locations.featureGroups.operations.delete", "parameterOrder": [ "name" ], @@ -19507,7 +20322,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -19522,9 +20337,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.operations.get", +"id": "aiplatform.projects.locations.featureGroups.operations.get", "parameterOrder": [ "name" ], @@ -19532,7 +20347,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -19548,9 +20363,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featureOnlineStores.operations.list", +"id": "aiplatform.projects.locations.featureGroups.operations.list", "parameterOrder": [ "name" ], @@ -19563,7 +20378,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" }, @@ -19595,9 +20410,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featureOnlineStores.operations.wait", +"id": "aiplatform.projects.locations.featureGroups.operations.wait", "parameterOrder": [ "name" ], @@ -19605,7 +20420,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -19629,61 +20444,33 @@ } } }, -"featurestores": { +"featureOnlineStores": { "methods": { -"batchReadFeatureValues": { -"description": "Batch reads Feature values from a Featurestore. This API enables batch reading Feature values, where each read instance in the batch may read Feature values of entities from one or more EntityTypes. Point-in-time correctness is guaranteed for Feature values of each read instance as of each instance's read timestamp.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:batchReadFeatureValues", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.batchReadFeatureValues", -"parameterOrder": [ -"featurestore" -], -"parameters": { -"featurestore": { -"description": "Required. The resource name of the Featurestore from which to query Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+featurestore}:batchReadFeatureValues", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "create": { -"description": "Creates a new Featurestore in a given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores", +"description": "Creates a new FeatureOnlineStore in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.create", +"id": "aiplatform.projects.locations.featureOnlineStores.create", "parameterOrder": [ "parent" ], "parameters": { -"featurestoreId": { -"description": "Required. The ID to use for this Featurestore, which will become the final component of the Featurestore's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", +"featureOnlineStoreId": { +"description": "Required. The ID to use for this FeatureOnlineStore, which will become the final component of the FeatureOnlineStore's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to create Featurestores. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create FeatureOnlineStores. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/featurestores", +"path": "v1beta1/{+parent}/featureOnlineStores", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -19693,23 +20480,23 @@ ] }, "delete": { -"description": "Deletes a single Featurestore. The Featurestore must not contain any EntityTypes or `force` must be set to true for the request to succeed.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"description": "Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not contain any FeatureViews.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featurestores.delete", +"id": "aiplatform.projects.locations.featureOnlineStores.delete", "parameterOrder": [ "name" ], "parameters": { "force": { -"description": "If set to true, any EntityTypes and Features for this Featurestore will also be deleted. (Otherwise, the request will only work if the Featurestore has no EntityTypes.)", +"description": "If set to true, any FeatureViews and Features for this FeatureOnlineStore will also be deleted. (Otherwise, the request will only work if the FeatureOnlineStore has no FeatureViews.)", "location": "query", "type": "boolean" }, "name": { -"description": "Required. The name of the Featurestore to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"description": "Required. The name of the FeatureOnlineStore to be deleted. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" } @@ -19723,25 +20510,25 @@ ] }, "get": { -"description": "Gets details of a single Featurestore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"description": "Gets details of a single FeatureOnlineStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.get", +"id": "aiplatform.projects.locations.featureOnlineStores.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Featurestore resource.", +"description": "Required. The name of the FeatureOnlineStore resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -19749,25 +20536,28 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:getIamPolicy", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:getIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.getIamPolicy", +"id": "aiplatform.projects.locations.featureOnlineStores.getIamPolicy", "parameterOrder": [ "resource" ], "parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, "resource": { "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+resource}:getIamPolicy", -"request": { -"$ref": "GoogleIamV1GetIamPolicyRequest" -}, "response": { "$ref": "GoogleIamV1Policy" }, @@ -19776,75 +20566,69 @@ ] }, "list": { -"description": "Lists Featurestores in a given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores", +"description": "Lists FeatureOnlineStores in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.list", +"id": "aiplatform.projects.locations.featureOnlineStores.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the featurestores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` Featurestores created or updated after 2020-01-01. * `labels.env = \"prod\"` Featurestores with label \"env\" set to \"prod\".", +"description": "Lists the FeatureOnlineStores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureOnlineStores created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureOnlineStores with label \"env\" set to \"prod\".", "location": "query", "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time` * `online_serving_config.fixed_node_count`", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time`", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of Featurestores to return. The service may return fewer than this value. If unspecified, at most 100 Featurestores will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"description": "The maximum number of FeatureOnlineStores to return. The service may return fewer than this value. If unspecified, at most 100 FeatureOnlineStores will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous FeaturestoreService.ListFeaturestores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeaturestores must match the call that provided the page token.", +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureOnlineStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureOnlineStores must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list Featurestores. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to list FeatureOnlineStores. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/featurestores", +"path": "v1beta1/{+parent}/featureOnlineStores", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeaturestoresResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureOnlineStoresResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates the parameters of a single Featurestore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"description": "Updates the parameters of a single FeatureOnlineStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.featurestores.patch", +"id": "aiplatform.projects.locations.featureOnlineStores.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"description": "Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the Featurestore resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `online_serving_config.fixed_node_count` * `online_serving_config.scaling` * `online_storage_ttl_days`", +"description": "Field mask is used to specify the fields to be overwritten in the FeatureOnlineStore resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `bigtable` * `bigtable.auto_scaling` * `bigtable.enable_multi_region_replica`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -19852,7 +20636,7 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +"$ref": "GoogleCloudAiplatformV1beta1FeatureOnlineStore" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -19861,52 +20645,11 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"searchFeatures": { -"description": "Searches Features matching a query in a given project.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores:searchFeatures", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.searchFeatures", -"parameterOrder": [ -"location" -], -"parameters": { -"location": { -"description": "Required. The resource name of the Location to search Features. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -}, -"pageSize": { -"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 100 Features will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "A page token, received from a previous FeaturestoreService.SearchFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.SearchFeatures, except `page_size`, must match the call that provided the page token.", -"location": "query", -"type": "string" -}, -"query": { -"description": "Query string that is a conjunction of field-restricted queries and/or field-restricted filters. Field-restricted queries and filters can be combined using `AND` to form a conjunction. A field query is in the form FIELD:QUERY. This implicitly checks if QUERY exists as a substring within Feature's FIELD. The QUERY and the FIELD are converted to a sequence of words (i.e. tokens) for comparison. This is done by: * Removing leading/trailing whitespace and tokenizing the search value. Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated as a wildcard that matches characters within a token. * Ignoring case. * Prepending an asterisk to the first and appending an asterisk to the last token in QUERY. A QUERY must be either a singular token or a phrase. A phrase is one or multiple words enclosed in double quotation marks (\"). With phrases, the order of the words is important. Words in the phrase must be matching in order and consecutively. Supported FIELDs for field-restricted queries: * `feature_id` * `description` * `entity_type_id` Examples: * `feature_id: foo` --> Matches a Feature with ID containing the substring `foo` (eg. `foo`, `foofeature`, `barfoo`). * `feature_id: foo*feature` --> Matches a Feature with ID containing the substring `foo*feature` (eg. `foobarfeature`). * `feature_id: foo AND description: bar` --> Matches a Feature with ID containing the substring `foo` and description containing the substring `bar`. Besides field queries, the following exact-match filters are supported. The exact-match filters do not support wildcards. Unlike field-restricted queries, exact-match filters are case-sensitive. * `feature_id`: Supports = comparisons. * `description`: Supports = comparisons. Multi-token filters should be enclosed in quotes. * `entity_type_id`: Supports = comparisons. * `value_type`: Supports = and != comparisons. * `labels`: Supports key-value equality as well as key presence. * `featurestore_id`: Supports = comparisons. Examples: * `description = \"foo bar\"` --> Any Feature with description exactly equal to `foo bar` * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with `env` as the key.", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+location}/featurestores:searchFeatures", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1SearchFeaturesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:setIamPolicy", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:setIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.setIamPolicy", +"id": "aiplatform.projects.locations.featureOnlineStores.setIamPolicy", "parameterOrder": [ "resource" ], @@ -19914,7 +20657,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" } @@ -19932,25 +20675,28 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:testIamPermissions", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:testIamPermissions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.testIamPermissions", +"id": "aiplatform.projects.locations.featureOnlineStores.testIamPermissions", "parameterOrder": [ "resource" ], "parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, "resource": { "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+resource}:testIamPermissions", -"request": { -"$ref": "GoogleIamV1TestIamPermissionsRequest" -}, "response": { "$ref": "GoogleIamV1TestIamPermissionsResponse" }, @@ -19960,33 +20706,38 @@ } }, "resources": { -"entityTypes": { +"featureViews": { "methods": { "create": { -"description": "Creates a new EntityType in a given Featurestore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes", +"description": "Creates a new FeatureView in a given FeatureOnlineStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.create", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.create", "parameterOrder": [ "parent" ], "parameters": { -"entityTypeId": { -"description": "Required. The ID to use for the EntityType, which will become the final component of the EntityType's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within a featurestore.", +"featureViewId": { +"description": "Required. The ID to use for the FeatureView, which will become the final component of the FeatureView's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within a FeatureOnlineStore.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Featurestore to create EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"description": "Required. The resource name of the FeatureOnlineStore to create FeatureViews. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" +}, +"runSyncImmediately": { +"description": "Immutable. If set to true, one on demand sync will be run immediately, regardless whether the FeatureView.sync_config is configured or not.", +"location": "query", +"type": "boolean" } }, -"path": "v1beta1/{+parent}/entityTypes", +"path": "v1beta1/{+parent}/featureViews", "request": { -"$ref": "GoogleCloudAiplatformV1beta1EntityType" +"$ref": "GoogleCloudAiplatformV1beta1FeatureView" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -19996,23 +20747,18 @@ ] }, "delete": { -"description": "Deletes a single EntityType. The EntityType must not have any Features or `force` must be set to true for the request to succeed.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"description": "Deletes a single FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featurestores.entityTypes.delete", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.delete", "parameterOrder": [ "name" ], "parameters": { -"force": { -"description": "If set to true, any Features for this EntityType will also be deleted. (Otherwise, the request will only work if the EntityType has no Features.)", -"location": "query", -"type": "boolean" -}, "name": { -"description": "Required. The name of the EntityType to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"description": "Required. The name of the FeatureView to be deleted. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } @@ -20025,82 +20771,110 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"deleteFeatureValues": { -"description": "Delete Feature values from Featurestore. The progress of the deletion is tracked by the returned operation. The deleted feature values are guaranteed to be invisible to subsequent read operations after the operation is marked as successfully done. If a delete feature values operation fails, the feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same delete request again and wait till the new operation returned is marked as successfully done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:deleteFeatureValues", +"directWrite": { +"description": "Bidirectional streaming RPC to directly write to feature values in a feature view. Requests may not have a one-to-one mapping to responses and responses may be returned out-of-order to reduce latency.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:directWrite", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.directWrite", "parameterOrder": [ -"entityType" +"featureView" ], "parameters": { -"entityType": { -"description": "Required. The resource name of the EntityType grouping the Features for which values are being deleted from. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`", +"featureView": { +"description": "FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+entityType}:deleteFeatureValues", +"path": "v1beta1/{+featureView}:directWrite", "request": { -"$ref": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequest" +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDirectWriteRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewDirectWriteResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"exportFeatureValues": { -"description": "Exports Feature values from all the entities of a target EntityType.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:exportFeatureValues", +"fetchFeatureValues": { +"description": "Fetch feature values under a FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:fetchFeatureValues", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues", "parameterOrder": [ -"entityType" +"featureView" ], "parameters": { -"entityType": { -"description": "Required. The resource name of the EntityType from which to export Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"featureView": { +"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+entityType}:exportFeatureValues", +"path": "v1beta1/{+featureView}:fetchFeatureValues", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ExportFeatureValuesRequest" +"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1FetchFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateFetchAccessToken": { +"description": "RPC to generate an access token for the given feature view. FeatureViews under the same FeatureOnlineStore share the same access token.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:generateFetchAccessToken", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.generateFetchAccessToken", +"parameterOrder": [ +"featureView" +], +"parameters": { +"featureView": { +"description": "FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+featureView}:generateFetchAccessToken", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateFetchAccessTokenRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateFetchAccessTokenResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets details of a single EntityType.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"description": "Gets details of a single FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.entityTypes.get", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the EntityType resource. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"description": "Required. The name of the FeatureView resource. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EntityType" +"$ref": "GoogleCloudAiplatformV1beta1FeatureView" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -20108,9 +20882,9 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:getIamPolicy", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:getIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy", "parameterOrder": [ "resource" ], @@ -20124,7 +20898,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } @@ -20137,104 +20911,70 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"importFeatureValues": { -"description": "Imports Feature values into the Featurestore from a source storage. The progress of the import is tracked by the returned operation. The imported features are guaranteed to be visible to subsequent read operations after the operation is marked as successfully done. If an import operation fails, the Feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same import request again and wait till the new operation returned is marked as successfully done. There are also scenarios where the caller can cause inconsistency. - Source data for import contains multiple distinct Feature values for the same entity ID and timestamp. - Source is modified during an import. This includes adding, updating, or removing source data and/or metadata. Examples of updating metadata include but are not limited to changing storage location, storage class, or retention policy. - Online serving cluster is under-provisioned.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:importFeatureValues", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues", -"parameterOrder": [ -"entityType" -], -"parameters": { -"entityType": { -"description": "Required. The resource name of the EntityType grouping the Features for which values are being imported. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+entityType}:importFeatureValues", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ImportFeatureValuesRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "list": { -"description": "Lists EntityTypes in a given Featurestore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes", +"description": "Lists FeatureViews in a given FeatureOnlineStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.entityTypes.list", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the EntityTypes that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> EntityTypes having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any EntityType which has a label with 'env' as the key.", +"description": "Lists the FeatureViews that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> FeatureViews created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> FeatureViews having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any FeatureView which has a label with 'env' as the key.", "location": "query", "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `entity_type_id` * `create_time` * `update_time`", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_view_id` * `create_time` * `update_time`", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of EntityTypes to return. The service may return fewer than this value. If unspecified, at most 1000 EntityTypes will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"description": "The maximum number of FeatureViews to return. The service may return fewer than this value. If unspecified, at most 1000 FeatureViews will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous FeaturestoreService.ListEntityTypes call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListEntityTypes must match the call that provided the page token.", +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureViews call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureViews must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Featurestore to list EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"description": "Required. The resource name of the FeatureOnlineStore to list FeatureViews. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/entityTypes", +"path": "v1beta1/{+parent}/featureViews", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEntityTypesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureViewsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates the parameters of a single EntityType.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"description": "Updates the parameters of a single FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.featurestores.entityTypes.patch", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore.", +"description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the EntityType resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `monitoring_config.snapshot_analysis.disabled` * `monitoring_config.snapshot_analysis.monitoring_interval_days` * `monitoring_config.snapshot_analysis.staleness_days` * `monitoring_config.import_features_analysis.state` * `monitoring_config.import_features_analysis.anomaly_detection_baseline` * `monitoring_config.numerical_threshold_config.value` * `monitoring_config.categorical_threshold_config.value` * `offline_storage_ttl_days`", +"description": "Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.automatic_resources`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -20242,38 +20982,38 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1EntityType" +"$ref": "GoogleCloudAiplatformV1beta1FeatureView" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1EntityType" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"readFeatureValues": { -"description": "Reads Feature values of a specific entity of an EntityType. For reading feature values of multiple entities of an EntityType, please use StreamingReadFeatureValues.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:readFeatureValues", +"searchNearestEntities": { +"description": "Search the nearest entities under a FeatureView. Search only works for indexable feature view; if a feature view isn't indexable, returns Invalid argument response.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:searchNearestEntities", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities", "parameterOrder": [ -"entityType" +"featureView" ], "parameters": { -"entityType": { -"description": "Required. The resource name of the EntityType for the entity being read. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"featureView": { +"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+entityType}:readFeatureValues", +"path": "v1beta1/{+featureView}:searchNearestEntities", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesRequest" +"$ref": "GoogleCloudAiplatformV1beta1SearchNearestEntitiesRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponse" +"$ref": "GoogleCloudAiplatformV1beta1SearchNearestEntitiesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -20281,9 +21021,9 @@ }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:setIamPolicy", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:setIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy", "parameterOrder": [ "resource" ], @@ -20291,7 +21031,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } @@ -20307,88 +21047,88 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"streamingReadFeatureValues": { -"description": "Reads Feature values for multiple entities. Depending on their size, data for different entities may be broken up across multiple responses.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:streamingReadFeatureValues", +"streamingFetchFeatureValues": { +"description": "Bidirectional streaming RPC to fetch feature values under a FeatureView. Requests may not have a one-to-one mapping to responses and responses may be returned out-of-order to reduce latency.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:streamingFetchFeatureValues", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.streamingFetchFeatureValues", "parameterOrder": [ -"entityType" +"featureView" ], "parameters": { -"entityType": { -"description": "Required. The resource name of the entities' type. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"featureView": { +"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+entityType}:streamingReadFeatureValues", +"path": "v1beta1/{+featureView}:streamingFetchFeatureValues", "request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamingReadFeatureValuesRequest" +"$ref": "GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponse" +"$ref": "GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"testIamPermissions": { -"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:testIamPermissions", +"sync": { +"description": "Triggers on-demand sync for the FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:sync", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.sync", "parameterOrder": [ -"resource" +"featureView" ], "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.", +"featureView": { +"description": "Required. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:testIamPermissions", +"path": "v1beta1/{+featureView}:sync", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SyncFeatureViewRequest" +}, "response": { -"$ref": "GoogleIamV1TestIamPermissionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1SyncFeatureViewResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"writeFeatureValues": { -"description": "Writes Feature values of one or more entities of an EntityType. The Feature values are merged into existing entities if any. The Feature values to be written must have timestamp within the online storage retention.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:writeFeatureValues", +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:testIamPermissions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions", "parameterOrder": [ -"entityType" +"resource" ], "parameters": { -"entityType": { -"description": "Required. The resource name of the EntityType for the entities being written. Value format: `projects/{project}/locations/{location}/featurestores/ {featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+entityType}:writeFeatureValues", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1WriteFeatureValuesRequest" -}, +"path": "v1beta1/{+resource}:testIamPermissions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1WriteFeatureValuesResponse" +"$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -20396,297 +21136,257 @@ } }, "resources": { -"features": { +"featureViewSyncs": { "methods": { -"batchCreate": { -"description": "Creates a batch of Features in a given EntityType.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features:batchCreate", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate", +"get": { +"description": "Gets details of a single FeatureViewSync.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs/{featureViewSyncsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"name": { +"description": "Required. The name of the FeatureViewSync resource. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/featureViewSyncs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/features:batchCreate", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1FeatureViewSync" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates a new Feature in a given EntityType.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.create", +"list": { +"description": "Lists FeatureViewSyncs in a given FeatureView.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list", "parameterOrder": [ "parent" ], "parameters": { -"featureId": { -"description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", +"filter": { +"description": "Lists the FeatureViewSyncs that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> FeatureViewSyncs created after 2020-01-31T15:30:00.000000Z.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureViewSyncs to return. The service may return fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureViewSyncs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureViewSyncs must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"description": "Required. The resource name of the FeatureView to list FeatureViewSyncs. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/features", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Feature" -}, +"path": "v1beta1/{+parent}/featureViewSyncs", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListFeatureViewSyncsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, +"operations": { +"methods": { "delete": { -"description": "Deletes a single Feature.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.delete", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets details of a single Feature.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.get", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get", "parameterOrder": [ "name" ], "parameters": { -"featureStatsAndAnomalySpec.latestStatsCount": { -"description": "Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"featureStatsAndAnomalySpec.statsTimeRange.endTime": { -"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", -"format": "google-datetime", -"location": "query", -"type": "string" -}, -"featureStatsAndAnomalySpec.statsTimeRange.startTime": { -"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", -"format": "google-datetime", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Feature" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Features in a given EntityType.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.list", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", +"description": "The standard list filter.", "location": "query", "type": "string" }, -"latestStatsCount": { -"description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", -"location": "query", +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, "type": "string" }, "pageSize": { -"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", +"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": "string" +"type": "boolean" } }, -"path": "v1beta1/{+parent}/features", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeaturesResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates the parameters of a single Feature.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.patch", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", -"format": "google-fieldmask", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Feature" -}, +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Feature" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } +} +} +} }, -"resources": { "operations": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete", +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -20702,9 +21402,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.list", "parameterOrder": [ "name" ], @@ -20717,7 +21417,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", "required": true, "type": "string" }, @@ -20749,9 +21449,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.wait", "parameterOrder": [ "name" ], @@ -20759,7 +21459,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -20783,72 +21483,87 @@ } } }, -"operations": { +"featurestores": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel", +"batchReadFeatureValues": { +"description": "Batch reads Feature values from a Featurestore. This API enables batch reading Feature values, where each read instance in the batch may read Feature values of entities from one or more EntityTypes. Point-in-time correctness is guaranteed for Feature values of each read instance as of each instance's read timestamp.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:batchReadFeatureValues", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel", +"id": "aiplatform.projects.locations.featurestores.batchReadFeatureValues", "parameterOrder": [ -"name" +"featurestore" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"featurestore": { +"description": "Required. The resource name of the Featurestore from which to query Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+featurestore}:batchReadFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchReadFeatureValuesRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.delete", +"create": { +"description": "Creates a new Featurestore in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", +"featurestoreId": { +"description": "Required. The ID to use for this Featurestore, which will become the final component of the Featurestore's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create Featurestores. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/featurestores", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.get", +"delete": { +"description": "Deletes a single Featurestore. The Featurestore must not contain any EntityTypes or `force` must be set to true for the request to succeed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.delete", "parameterOrder": [ "name" ], "parameters": { +"force": { +"description": "If set to true, any EntityTypes and Features for this Featurestore will also be deleted. (Otherwise, the request will only work if the Featurestore has no EntityTypes.)", +"location": "query", +"type": "boolean" +}, "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the Featurestore to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" } @@ -20858,326 +21573,300 @@ "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations", +"get": { +"description": "Gets details of a single Featurestore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.list", +"id": "aiplatform.projects.locations.featurestores.get", "parameterOrder": [ "name" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The name of the Featurestore resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"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", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1Featurestore" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:wait", +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:getIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.wait", +"id": "aiplatform.projects.locations.featurestores.getIamPolicy", "parameterOrder": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+resource}:getIamPolicy", +"request": { +"$ref": "GoogleIamV1GetIamPolicyRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleIamV1Policy" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.operations.cancel", +"list": { +"description": "Lists Featurestores in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", -"required": true, +"filter": { +"description": "Lists the featurestores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` Featurestores created or updated after 2020-01-01. * `labels.env = \"prod\"` Featurestores with label \"env\" set to \"prod\".", +"location": "query", "type": "string" -} }, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time` * `online_serving_config.fixed_node_count`", +"location": "query", +"type": "string" }, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] +"pageSize": { +"description": "The maximum number of Featurestores to return. The service may return fewer than this value. If unspecified, at most 100 Featurestores will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.featurestores.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListFeaturestores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeaturestores must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Featurestores. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/featurestores", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1ListFeaturestoresResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.operations.get", +"patch": { +"description": "Updates the parameters of a single Featurestore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Featurestore resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `online_serving_config.fixed_node_count` * `online_serving_config.scaling` * `online_storage_ttl_days`", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Featurestore" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations", +"searchFeatures": { +"description": "Searches Features matching a query in a given project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores:searchFeatures", "httpMethod": "GET", -"id": "aiplatform.projects.locations.featurestores.operations.list", +"id": "aiplatform.projects.locations.featurestores.searchFeatures", "parameterOrder": [ -"name" +"location" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", +"location": { +"description": "Required. The resource name of the Location to search Features. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 100 Features will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "A page token, received from a previous FeaturestoreService.SearchFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.SearchFeatures, except `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, -"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.", +"query": { +"description": "Query string that is a conjunction of field-restricted queries and/or field-restricted filters. Field-restricted queries and filters can be combined using `AND` to form a conjunction. A field query is in the form FIELD:QUERY. This implicitly checks if QUERY exists as a substring within Feature's FIELD. The QUERY and the FIELD are converted to a sequence of words (i.e. tokens) for comparison. This is done by: * Removing leading/trailing whitespace and tokenizing the search value. Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated as a wildcard that matches characters within a token. * Ignoring case. * Prepending an asterisk to the first and appending an asterisk to the last token in QUERY. A QUERY must be either a singular token or a phrase. A phrase is one or multiple words enclosed in double quotation marks (\"). With phrases, the order of the words is important. Words in the phrase must be matching in order and consecutively. Supported FIELDs for field-restricted queries: * `feature_id` * `description` * `entity_type_id` Examples: * `feature_id: foo` --> Matches a Feature with ID containing the substring `foo` (eg. `foo`, `foofeature`, `barfoo`). * `feature_id: foo*feature` --> Matches a Feature with ID containing the substring `foo*feature` (eg. `foobarfeature`). * `feature_id: foo AND description: bar` --> Matches a Feature with ID containing the substring `foo` and description containing the substring `bar`. Besides field queries, the following exact-match filters are supported. The exact-match filters do not support wildcards. Unlike field-restricted queries, exact-match filters are case-sensitive. * `feature_id`: Supports = comparisons. * `description`: Supports = comparisons. Multi-token filters should be enclosed in quotes. * `entity_type_id`: Supports = comparisons. * `value_type`: Supports = and != comparisons. * `labels`: Supports key-value equality as well as key presence. * `featurestore_id`: Supports = comparisons. Examples: * `description = \"foo bar\"` --> Any Feature with description exactly equal to `foo bar` * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with `env` as the key.", "location": "query", -"type": "boolean" +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+location}/featurestores:searchFeatures", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1SearchFeaturesResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:wait", +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:setIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.featurestores.operations.wait", +"id": "aiplatform.projects.locations.featurestores.setIamPolicy", "parameterOrder": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleIamV1Policy" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"hyperparameterTuningJobs": { -"methods": { -"cancel": { -"description": "Cancels a HyperparameterTuningJob. Starts asynchronous cancellation on the HyperparameterTuningJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetHyperparameterTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the HyperparameterTuningJob is not deleted; instead it becomes a job with a HyperparameterTuningJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and HyperparameterTuningJob.state is set to `CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}:cancel", +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:testIamPermissions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.cancel", +"id": "aiplatform.projects.locations.featurestores.testIamPermissions", "parameterOrder": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "Required. The name of the HyperparameterTuningJob to cancel. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"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/[^/]+/hyperparameterTuningJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+resource}:testIamPermissions", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelHyperparameterTuningJobRequest" +"$ref": "GoogleIamV1TestIamPermissionsRequest" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, +"resources": { +"entityTypes": { +"methods": { "create": { -"description": "Creates a HyperparameterTuningJob", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs", +"description": "Creates a new EntityType in a given Featurestore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes", "httpMethod": "POST", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.create", +"id": "aiplatform.projects.locations.featurestores.entityTypes.create", "parameterOrder": [ "parent" ], "parameters": { +"entityTypeId": { +"description": "Required. The ID to use for the EntityType, which will become the final component of the EntityType's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within a featurestore.", +"location": "query", +"type": "string" +}, "parent": { -"description": "Required. The resource name of the Location to create the HyperparameterTuningJob in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Featurestore to create EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/hyperparameterTuningJobs", +"path": "v1beta1/{+parent}/entityTypes", "request": { -"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" +"$ref": "GoogleCloudAiplatformV1beta1EntityType" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a HyperparameterTuningJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}", +"description": "Deletes a single EntityType. The EntityType must not have any Features or `force` must be set to true for the request to succeed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.delete", +"id": "aiplatform.projects.locations.featurestores.entityTypes.delete", "parameterOrder": [ "name" ], "parameters": { +"force": { +"description": "If set to true, any Features for this EntityType will also be deleted. (Otherwise, the request will only work if the EntityType has no Features.)", +"location": "query", +"type": "boolean" +}, "name": { -"description": "Required. The name of the HyperparameterTuningJob resource to be deleted. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"description": "Required. The name of the EntityType to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } @@ -21190,451 +21879,432 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a HyperparameterTuningJob", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.get", +"deleteFeatureValues": { +"description": "Delete Feature values from Featurestore. The progress of the deletion is tracked by the returned operation. The deleted feature values are guaranteed to be invisible to subsequent read operations after the operation is marked as successfully done. If a delete feature values operation fails, the feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same delete request again and wait till the new operation returned is marked as successfully done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:deleteFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues", "parameterOrder": [ -"name" +"entityType" ], "parameters": { -"name": { -"description": "Required. The name of the HyperparameterTuningJob resource. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"entityType": { +"description": "Required. The resource name of the EntityType grouping the Features for which values are being deleted from. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+entityType}:deleteFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeleteFeatureValuesRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists HyperparameterTuningJobs in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.list", +"exportFeatureValues": { +"description": "Exports Feature values from all the entities of a target EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:exportFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues", "parameterOrder": [ -"parent" +"entityType" ], "parameters": { -"filter": { -"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token. Typically obtained via ListHyperparameterTuningJobsResponse.next_page_token of the previous JobService.ListHyperparameterTuningJobs call.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Location to list the HyperparameterTuningJobs from. Format: `projects/{project}/locations/{location}`", +"entityType": { +"description": "Required. The resource name of the EntityType from which to export Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/hyperparameterTuningJobs", +"path": "v1beta1/{+entityType}:exportFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExportFeatureValuesRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListHyperparameterTuningJobsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel", +"get": { +"description": "Gets details of a single EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The name of the EntityType resource. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1EntityType" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete", +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy", "parameterOrder": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", +"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/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+resource}:getIamPolicy", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleIamV1Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get", +"importFeatureValues": { +"description": "Imports Feature values into the Featurestore from a source storage. The progress of the import is tracked by the returned operation. The imported features are guaranteed to be visible to subsequent read operations after the operation is marked as successfully done. If an import operation fails, the Feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same import request again and wait till the new operation returned is marked as successfully done. There are also scenarios where the caller can cause inconsistency. - Source data for import contains multiple distinct Feature values for the same entity ID and timestamp. - Source is modified during an import. This includes adding, updating, or removing source data and/or metadata. Examples of updating metadata include but are not limited to changing storage location, storage class, or retention policy. - Online serving cluster is under-provisioned.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:importFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues", "parameterOrder": [ -"name" +"entityType" ], "parameters": { -"name": { -"description": "The name of the operation resource.", +"entityType": { +"description": "Required. The resource name of the EntityType grouping the Features for which values are being imported. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+entityType}:importFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportFeatureValuesRequest" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations", +"description": "Lists EntityTypes in a given Featurestore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes", "httpMethod": "GET", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list", +"id": "aiplatform.projects.locations.featurestores.entityTypes.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Lists the EntityTypes that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> EntityTypes having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any EntityType which has a label with 'env' as the key.", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", -"required": true, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `entity_type_id` * `create_time` * `update_time`", +"location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "The maximum number of EntityTypes to return. The service may return fewer than this value. If unspecified, at most 1000 EntityTypes will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "A page token, received from a previous FeaturestoreService.ListEntityTypes call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListEntityTypes must match the call that provided the page token.", "location": "query", "type": "string" }, -"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.", +"parent": { +"description": "Required. The resource name of the Featurestore to list EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", "location": "query", -"type": "boolean" +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/entityTypes", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListEntityTypesResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait", +"patch": { +"description": "Updates the parameters of a single EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.entityTypes.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the EntityType resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `monitoring_config.snapshot_analysis.disabled` * `monitoring_config.snapshot_analysis.monitoring_interval_days` * `monitoring_config.snapshot_analysis.staleness_days` * `monitoring_config.import_features_analysis.state` * `monitoring_config.import_features_analysis.anomaly_detection_baseline` * `monitoring_config.numerical_threshold_config.value` * `monitoring_config.categorical_threshold_config.value` * `offline_storage_ttl_days`", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EntityType" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1EntityType" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"indexEndpoints": { -"methods": { -"create": { -"description": "Creates an IndexEndpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints", +"readFeatureValues": { +"description": "Reads Feature values of a specific entity of an EntityType. For reading feature values of multiple entities of an EntityType, please use StreamingReadFeatureValues.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:readFeatureValues", "httpMethod": "POST", -"id": "aiplatform.projects.locations.indexEndpoints.create", +"id": "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues", "parameterOrder": [ -"parent" +"entityType" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the IndexEndpoint in. Format: `projects/{project}/locations/{location}`", +"entityType": { +"description": "Required. The resource name of the EntityType for the entity being read. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/indexEndpoints", +"path": "v1beta1/{+entityType}:readFeatureValues", "request": { -"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes an IndexEndpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.indexEndpoints.delete", +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy", "parameterOrder": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "Required. The name of the IndexEndpoint resource to be deleted. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"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/[^/]+/indexEndpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleIamV1Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"deployIndex": { -"description": "Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:deployIndex", +"streamingReadFeatureValues": { +"description": "Reads Feature values for multiple entities. Depending on their size, data for different entities may be broken up across multiple responses.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:streamingReadFeatureValues", "httpMethod": "POST", -"id": "aiplatform.projects.locations.indexEndpoints.deployIndex", +"id": "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues", "parameterOrder": [ -"indexEndpoint" +"entityType" ], "parameters": { -"indexEndpoint": { -"description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"entityType": { +"description": "Required. The resource name of the entities' type. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+indexEndpoint}:deployIndex", +"path": "v1beta1/{+entityType}:streamingReadFeatureValues", "request": { -"$ref": "GoogleCloudAiplatformV1beta1DeployIndexRequest" +"$ref": "GoogleCloudAiplatformV1beta1StreamingReadFeatureValuesRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ReadFeatureValuesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"findNeighbors": { -"description": "Finds the nearest neighbors of each vector within the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:findNeighbors", +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:testIamPermissions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.indexEndpoints.findNeighbors", +"id": "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions", "parameterOrder": [ -"indexEndpoint" +"resource" ], "parameters": { -"indexEndpoint": { -"description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"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/[^/]+/indexEndpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+indexEndpoint}:findNeighbors", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsRequest" -}, +"path": "v1beta1/{+resource}:testIamPermissions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsResponse" +"$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets an IndexEndpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.indexEndpoints.get", +"writeFeatureValues": { +"description": "Writes Feature values of one or more entities of an EntityType. The Feature values are merged into existing entities if any. The Feature values to be written must have timestamp within the online storage retention.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:writeFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues", "parameterOrder": [ -"name" +"entityType" ], "parameters": { -"name": { -"description": "Required. The name of the IndexEndpoint resource. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"entityType": { +"description": "Required. The resource name of the EntityType for the entities being written. Value format: `projects/{project}/locations/{location}/featurestores/ {featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+entityType}:writeFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1WriteFeatureValuesRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +"$ref": "GoogleCloudAiplatformV1beta1WriteFeatureValuesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"list": { -"description": "Lists IndexEndpoints in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.indexEndpoints.list", +"resources": { +"features": { +"methods": { +"batchCreate": { +"description": "Creates a batch of Features in a given EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate", "parameterOrder": [ "parent" ], "parameters": { -"filter": { -"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `index_endpoint` supports = and !=. `index_endpoint` represents the IndexEndpoint ID, ie. the last segment of the IndexEndpoint's resourcename. * `display_name` supports =, != and regex() (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* or labels:key - key existence A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `index_endpoint=\"1\"` * `display_name=\"myDisplayName\"` * `regex(display_name, \"^A\") -> The display name starts with an A. * `labels.myKey=\"myValue\"`", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListIndexEndpointsResponse.next_page_token of the previous IndexEndpointService.ListIndexEndpoints call.", -"location": "query", -"type": "string" -}, "parent": { -"description": "Required. The resource name of the Location from which to list the IndexEndpoints. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Optional. Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/indexEndpoints", +"path": "v1beta1/{+parent}/features:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListIndexEndpointsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"mutateDeployedIndex": { -"description": "Update an existing DeployedIndex under an IndexEndpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:mutateDeployedIndex", +"create": { +"description": "Creates a new Feature in a given EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features", "httpMethod": "POST", -"id": "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.create", "parameterOrder": [ -"indexEndpoint" +"parent" ], "parameters": { -"indexEndpoint": { -"description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", -"required": true, +"featureId": { +"description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", +"location": "query", "type": "string" }, -"updateMask": { -"description": "Optional. The update mask applies to the resource. The supported paths are `automatic_resources`, `dedicated_resources`, `enable_access_logging` and `deployed_index_auth_config`. When omitted, the service will perform a full update of all fields. See google.protobuf.FieldMask.", -"format": "google-fieldmask", -"location": "query", +"parent": { +"description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+indexEndpoint}:mutateDeployedIndex", +"path": "v1beta1/{+parent}/features", "request": { -"$ref": "GoogleCloudAiplatformV1beta1DeployedIndex" +"$ref": "GoogleCloudAiplatformV1beta1Feature" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -21643,91 +22313,161 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates an IndexEndpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.indexEndpoints.patch", +"delete": { +"description": "Deletes a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Output only. The resource name of the IndexEndpoint.", +"description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", "required": true, "type": "string" +} }, -"updateMask": { -"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", -"format": "google-fieldmask", +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"featureStatsAndAnomalySpec.latestStatsCount": { +"description": "Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"featureStatsAndAnomalySpec.statsTimeRange.endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"featureStatsAndAnomalySpec.statsTimeRange.startTime": { +"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", +"format": "google-datetime", "location": "query", "type": "string" +}, +"name": { +"description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" } }, "path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" -}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +"$ref": "GoogleCloudAiplatformV1beta1Feature" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"readIndexDatapoints": { -"description": "Reads the datapoints/vectors of the given IDs. A maximum of 1000 datapoints can be retrieved in a batch.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:readIndexDatapoints", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints", +"list": { +"description": "Lists Features in a given EntityType.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.list", "parameterOrder": [ -"indexEndpoint" +"parent" ], "parameters": { -"indexEndpoint": { -"description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"filter": { +"description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"latestStatsCount": { +"description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+indexEndpoint}:readIndexDatapoints", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ReadIndexDatapointsRequest" +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+parent}/features", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ReadIndexDatapointsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListFeaturesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"undeployIndex": { -"description": "Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, and freeing all resources it's using.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:undeployIndex", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.indexEndpoints.undeployIndex", +"patch": { +"description": "Updates the parameters of a single Feature.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.patch", "parameterOrder": [ -"indexEndpoint" +"name" ], "parameters": { -"indexEndpoint": { -"description": "Required. The name of the IndexEndpoint resource from which to undeploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"name": { +"description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+indexEndpoint}:undeployIndex", +"path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1UndeployIndexRequest" +"$ref": "GoogleCloudAiplatformV1beta1Feature" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Feature" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -21739,9 +22479,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.indexEndpoints.operations.cancel", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel", "parameterOrder": [ "name" ], @@ -21749,7 +22489,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -21765,9 +22505,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.indexEndpoints.operations.delete", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete", "parameterOrder": [ "name" ], @@ -21775,7 +22515,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -21790,9 +22530,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.indexEndpoints.operations.get", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get", "parameterOrder": [ "name" ], @@ -21800,7 +22540,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -21816,9 +22556,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.indexEndpoints.operations.list", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list", "parameterOrder": [ "name" ], @@ -21831,7 +22571,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", "required": true, "type": "string" }, @@ -21863,9 +22603,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.indexEndpoints.operations.wait", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait", "parameterOrder": [ "name" ], @@ -21873,7 +22613,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -21897,121 +22637,92 @@ } } }, -"indexes": { +"operations": { "methods": { -"create": { -"description": "Creates an Index.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.indexes.create", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the Index in. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/indexes", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Index" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes an Index. An Index can only be deleted when all its DeployedIndexes had been undeployed.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.indexes.delete", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Index resource to be deleted. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets an Index.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.indexes.get", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Index resource. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Index" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"import": { -"description": "Imports an Index from an external source (e.g., BigQuery).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:import", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.indexes.import", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the Index resource to import data to. Format: `projects/{project}/locations/{location}/indexes/{index}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:import", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ImportIndexRequest" -}, -"response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Indexes in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.indexes.list", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { @@ -22019,6 +22730,13 @@ "location": "query", "type": "string" }, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, "pageSize": { "description": "The standard list page size.", "format": "int32", @@ -22026,131 +22744,68 @@ "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained via ListIndexesResponse.next_page_token of the previous IndexService.ListIndexes call.", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the Location from which to list the Indexes. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", +"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": "string" +"type": "boolean" } }, -"path": "v1beta1/{+parent}/indexes", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListIndexesResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates an Index.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.indexes.patch", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.wait", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Output only. The resource name of the Index.", +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"updateMask": { -"description": "The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", -"format": "google-fieldmask", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Index" -}, +"path": "v1beta1/{+name}:wait", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -}, -"removeDatapoints": { -"description": "Remove Datapoints from an Index.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:removeDatapoints", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.indexes.removeDatapoints", -"parameterOrder": [ -"index" -], -"parameters": { -"index": { -"description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+index}:removeDatapoints", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RemoveDatapointsRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1RemoveDatapointsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"upsertDatapoints": { -"description": "Add/update Datapoints into an Index.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:upsertDatapoints", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.indexes.upsertDatapoints", -"parameterOrder": [ -"index" -], -"parameters": { -"index": { -"description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+index}:upsertDatapoints", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1UpsertDatapointsRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1UpsertDatapointsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +} } }, -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.indexes.operations.cancel", +"id": "aiplatform.projects.locations.featurestores.operations.cancel", "parameterOrder": [ "name" ], @@ -22158,7 +22813,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -22174,9 +22829,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.indexes.operations.delete", +"id": "aiplatform.projects.locations.featurestores.operations.delete", "parameterOrder": [ "name" ], @@ -22184,7 +22839,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -22199,9 +22854,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.indexes.operations.get", +"id": "aiplatform.projects.locations.featurestores.operations.get", "parameterOrder": [ "name" ], @@ -22209,7 +22864,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -22225,9 +22880,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.indexes.operations.list", +"id": "aiplatform.projects.locations.featurestores.operations.list", "parameterOrder": [ "name" ], @@ -22240,7 +22895,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", "required": true, "type": "string" }, @@ -22272,9 +22927,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.indexes.operations.wait", +"id": "aiplatform.projects.locations.featurestores.operations.wait", "parameterOrder": [ "name" ], @@ -22282,7 +22937,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -22306,223 +22961,156 @@ } } }, -"interactions": { +"hyperparameterTuningJobs": { "methods": { -"create": { -"description": "Creates an interaction.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions:create", +"cancel": { +"description": "Cancels a HyperparameterTuningJob. Starts asynchronous cancellation on the HyperparameterTuningJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetHyperparameterTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the HyperparameterTuningJob is not deleted; instead it becomes a job with a HyperparameterTuningJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and HyperparameterTuningJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.interactions.create", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.cancel", "parameterOrder": [ -"projectsId", -"locationsId" +"name" ], "parameters": { -"locationsId": { -"location": "path", -"required": true, -"type": "string" -}, -"projectsId": { +"name": { +"description": "Required. The name of the HyperparameterTuningJob to cancel. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", "location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions:create", +"path": "v1beta1/{+name}:cancel", "request": { -"$ref": "GenaiVertexV1beta1CreateInteractionRequest" +"$ref": "GoogleCloudAiplatformV1beta1CancelHyperparameterTuningJobRequest" }, "response": { -"$ref": "GenaiVertexV1beta1Interaction" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"createStream": { -"description": "Creates an interaction and streams the response.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions:createStream", +"create": { +"description": "Creates a HyperparameterTuningJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs", "httpMethod": "POST", -"id": "aiplatform.projects.locations.interactions.createStream", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.create", "parameterOrder": [ -"projectsId", -"locationsId" +"parent" ], "parameters": { -"locationsId": { -"location": "path", -"required": true, -"type": "string" -}, -"projectsId": { +"parent": { +"description": "Required. The resource name of the Location to create the HyperparameterTuningJob in. Format: `projects/{project}/locations/{location}`", "location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions:createStream", +"path": "v1beta1/{+parent}/hyperparameterTuningJobs", "request": { -"$ref": "GenaiVertexV1beta1CreateInteractionRequest" +"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" }, "response": { -"$ref": "GenaiVertexV1beta1InteractionStreamingEvent" +"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"deprecated": true, -"description": "Deletes an interaction.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions/{interactionsId}", +"description": "Deletes a HyperparameterTuningJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.interactions.delete", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the interaction to delete. Format: interactions/{interaction}", +"description": "Required. The name of the HyperparameterTuningJob resource to be deleted. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/interactions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GenaiVertexV1beta1DeleteInteractionResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"interactionsHttp": { -"methods": { -"cancel": { -"description": "Cancels an interaction by id. This only applies to background interactions that are still running.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactionsHttp/{interactionsHttpId}/cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.interactionsHttp.cancel", +"get": { +"description": "Gets a HyperparameterTuningJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the interaction to cancel. Format: `interactions/{interaction}`.", +"description": "Required. The name of the HyperparameterTuningJob resource. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/interactionsHttp/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/cancel", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates a new interaction.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactionsHttp", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.interactionsHttp.create", +"list": { +"description": "Lists HyperparameterTuningJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.list", "parameterOrder": [ "parent" ], "parameters": { -"parent": { -"description": "Required. The parent resource where this interaction will be created. Format: `projects/{project}/locations/{location}` Supported only by the Vertex API only.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", "type": "string" -} -}, -"path": "v1beta1/{+parent}/interactionsHttp", -"request": { -"$ref": "GenaiVertexV1beta1CreateInteractionHttpRequest" -}, -"response": { -"$ref": "GoogleApiHttpBody" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] }, -"get": { -"description": "Retrieves the full details of a single interaction based on its `Interaction.id`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactionsHttp/{interactionsHttpId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.interactionsHttp.get", -"parameterOrder": [ -"name" -], -"parameters": { -"includeInput": { -"deprecated": true, -"description": "If true, includes the input in the response.", +"pageSize": { +"description": "The standard list page size.", +"format": "int32", "location": "query", -"type": "boolean" +"type": "integer" }, -"lastEventId": { -"description": "If set, resumes the interaction stream from the chunk after the event marked by the event id. Can only be used if `stream` is true.", +"pageToken": { +"description": "The standard list page token. Typically obtained via ListHyperparameterTuningJobsResponse.next_page_token of the previous JobService.ListHyperparameterTuningJobs call.", "location": "query", "type": "string" }, -"name": { -"description": "Required. The name of the interaction to retrieve. Format: interactions/{interaction}", +"parent": { +"description": "Required. The resource name of the Location to list the HyperparameterTuningJobs from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/interactionsHttp/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, -"stream": { -"description": "If true, streams the interaction events as Server-Sent Events.", +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", "location": "query", -"type": "boolean" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleApiHttpBody" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -}, -"memoryBanks": { -"methods": { -"ingestEvents": { -"description": "Ingests events for a Memory Bank.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}:ingestEvents", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.ingestEvents", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to ingest events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", -"required": true, "type": "string" } }, -"path": "v1beta1/{+parent}:ingestEvents", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1IngestEventsRequest" -}, +"path": "v1beta1/{+parent}/hyperparameterTuningJobs", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListHyperparameterTuningJobsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -22530,303 +23118,243 @@ } }, "resources": { -"memories": { +"operations": { "methods": { -"create": { -"description": "Create a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.memories.create", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"memoryId": { -"description": "Optional. The user defined ID to use for memory, which will become the final component of the memory resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, and the last character must be a letter or number.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the ReasoningEngine to create the Memory under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Delete a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}", +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.memoryBanks.memories.delete", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Memory to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"generate": { -"description": "Generate memories.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories:generate", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.memories.generate", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to generate memories for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/memories:generate", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Get a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.memoryBanks.memories.get", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "List Memories.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.memoryBanks.memories.list", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `scope` (as a JSON string with equality match only) * `topics` (i.e. `topics.custom_memory_topic_label: \"example topic\" OR topics.managed_memory_topic: USER_PREFERENCES`)", +"description": "The standard list filter.", "location": "query", "type": "string" }, -"orderBy": { -"description": "Optional. The standard list order by string. If not specified, the default order is `create_time desc`. If specified, the default sorting order of provided fields is ascending. More detail in [AIP-132](https://google.aip.dev/132). Supported fields: * `create_time` * `update_time`", -"location": "query", +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the ReasoningEngine to list the Memories under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", -"required": true, -"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/{+parent}/memories", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMemoriesResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Update a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.memoryBanks.memories.patch", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. Represents the resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"updateMask": { -"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", -"format": "google-fieldmask", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" -}, +"path": "v1beta1/{+name}:wait", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -}, -"purge": { -"description": "Purge memories.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories:purge", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.memories.purge", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to purge memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", -"required": true, -"type": "string" +} +} +} } }, -"path": "v1beta1/{+parent}/memories:purge", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PurgeMemoriesRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"retrieve": { -"description": "Retrieve memories.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories:retrieve", +"indexEndpoints": { +"methods": { +"create": { +"description": "Creates an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints", "httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.memories.retrieve", +"id": "aiplatform.projects.locations.indexEndpoints.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the ReasoningEngine to retrieve memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the Location to create the IndexEndpoint in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:retrieve", +"path": "v1beta1/{+parent}/indexEndpoints", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesRequest" +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"retrieveProfiles": { -"description": "Retrieves profiles.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories:retrieveProfiles", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.memories.retrieveProfiles", +"delete": { +"description": "Deletes an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexEndpoints.delete", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to retrieve profiles from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "Required. The name of the IndexEndpoint resource to be deleted. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:retrieveProfiles", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"rollback": { -"description": "Rollback Memory to a specific revision.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}:rollback", +"deployIndex": { +"description": "Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:deployIndex", "httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.memories.rollback", +"id": "aiplatform.projects.locations.indexEndpoints.deployIndex", "parameterOrder": [ -"name" +"indexEndpoint" ], "parameters": { -"name": { -"description": "Required. The resource name of the Memory to rollback. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:rollback", +"path": "v1beta1/{+indexEndpoint}:deployIndex", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RollbackMemoryRequest" +"$ref": "GoogleCloudAiplatformV1beta1DeployIndexRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -22834,248 +23362,240 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations/{operationsId}:cancel", +"findNeighbors": { +"description": "Finds the nearest neighbors of each vector within the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:findNeighbors", "httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.memories.operations.cancel", +"id": "aiplatform.projects.locations.indexEndpoints.findNeighbors", "parameterOrder": [ -"name" +"indexEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"indexEndpoint": { +"description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.memoryBanks.memories.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} +"path": "v1beta1/{+indexEndpoint}:findNeighbors", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsRequest" }, -"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1FindNeighborsResponse" }, "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}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations/{operationsId}", +"description": "Gets an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.memoryBanks.memories.operations.get", +"id": "aiplatform.projects.locations.indexEndpoints.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the IndexEndpoint resource. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations", +"description": "Lists IndexEndpoints in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints", "httpMethod": "GET", -"id": "aiplatform.projects.locations.memoryBanks.memories.operations.list", +"id": "aiplatform.projects.locations.indexEndpoints.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `index_endpoint` supports = and !=. `index_endpoint` represents the IndexEndpoint ID, ie. the last segment of the IndexEndpoint's resourcename. * `display_name` supports =, != and regex() (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* or labels:key - key existence A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `index_endpoint=\"1\"` * `display_name=\"myDisplayName\"` * `regex(display_name, \"^A\") -> The display name starts with an A. * `labels.myKey=\"myValue\"`", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. The standard list page token. Typically obtained via ListIndexEndpointsResponse.next_page_token of the previous IndexEndpointService.ListIndexEndpoints call.", "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.", +"parent": { +"description": "Required. The resource name of the Location from which to list the IndexEndpoints. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", "location": "query", -"type": "boolean" +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/indexEndpoints", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListIndexEndpointsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations/{operationsId}:wait", +"mutateDeployedIndex": { +"description": "Update an existing DeployedIndex under an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:mutateDeployedIndex", "httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.memories.operations.wait", +"id": "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex", "parameterOrder": [ -"name" +"indexEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"updateMask": { +"description": "Optional. The update mask applies to the resource. The supported paths are `automatic_resources`, `dedicated_resources`, `enable_access_logging` and `deployed_index_auth_config`. When omitted, the service will perform a full update of all fields. See google.protobuf.FieldMask.", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+indexEndpoint}:mutateDeployedIndex", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeployedIndex" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"revisions": { -"methods": { -"get": { -"description": "Get a Memory Revision.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/revisions/{revisionsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.memoryBanks.memories.revisions.get", +"patch": { +"description": "Updates an IndexEndpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.indexEndpoints.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Memory Revision to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}/revisions/{revision}`", +"description": "Output only. The resource name of the IndexEndpoint.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/revisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1MemoryRevision" +"$ref": "GoogleCloudAiplatformV1beta1IndexEndpoint" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "List Memory Revisions for a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/revisions", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.memoryBanks.memories.revisions.list", +"readIndexDatapoints": { +"description": "Reads the datapoints/vectors of the given IDs. A maximum of 1000 datapoints can be retrieved in a batch.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:readIndexDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints", "parameterOrder": [ -"parent" +"indexEndpoint" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields (equality match only): * `labels`", -"location": "query", +"indexEndpoint": { +"description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, "type": "string" +} }, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" +"path": "v1beta1/{+indexEndpoint}:readIndexDatapoints", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReadIndexDatapointsRequest" }, -"pageToken": { -"description": "Optional. The standard list page token.", -"location": "query", -"type": "string" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadIndexDatapointsResponse" }, -"parent": { -"description": "Required. The resource name of the Memory to list revisions for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undeployIndex": { +"description": "Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, and freeing all resources it's using.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:undeployIndex", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.undeployIndex", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource from which to undeploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/revisions", +"path": "v1beta1/{+indexEndpoint}:undeployIndex", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UndeployIndexRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMemoryRevisionsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } -} -} -} }, +"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.operations.cancel", +"id": "aiplatform.projects.locations.indexEndpoints.operations.cancel", "parameterOrder": [ "name" ], @@ -23083,7 +23603,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -23099,9 +23619,9 @@ }, "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}/memoryBanks/{memoryBanksId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.memoryBanks.operations.delete", +"id": "aiplatform.projects.locations.indexEndpoints.operations.delete", "parameterOrder": [ "name" ], @@ -23109,7 +23629,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -23124,9 +23644,9 @@ }, "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}/memoryBanks/{memoryBanksId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.memoryBanks.operations.get", +"id": "aiplatform.projects.locations.indexEndpoints.operations.get", "parameterOrder": [ "name" ], @@ -23134,7 +23654,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -23150,9 +23670,9 @@ }, "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}/memoryBanks/{memoryBanksId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.memoryBanks.operations.list", +"id": "aiplatform.projects.locations.indexEndpoints.operations.list", "parameterOrder": [ "name" ], @@ -23165,7 +23685,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", "required": true, "type": "string" }, @@ -23197,9 +23717,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.memoryBanks.operations.wait", +"id": "aiplatform.projects.locations.indexEndpoints.operations.wait", "parameterOrder": [ "name" ], @@ -23207,7 +23727,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -23231,33 +23751,28 @@ } } }, -"metadataStores": { +"indexes": { "methods": { "create": { -"description": "Initializes a MetadataStore, including allocation of resources.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores", +"description": "Creates an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.create", +"id": "aiplatform.projects.locations.indexes.create", "parameterOrder": [ "parent" ], "parameters": { -"metadataStoreId": { -"description": "The {metadatastore} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all MetadataStores in the parent Location. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting MetadataStore.)", -"location": "query", -"type": "string" -}, "parent": { -"description": "Required. The resource name of the Location where the MetadataStore should be created. Format: `projects/{project}/locations/{location}/`", +"description": "Required. The resource name of the Location to create the Index in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/metadataStores", +"path": "v1beta1/{+parent}/indexes", "request": { -"$ref": "GoogleCloudAiplatformV1beta1MetadataStore" +"$ref": "GoogleCloudAiplatformV1beta1Index" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -23267,24 +23782,18 @@ ] }, "delete": { -"description": "Deletes a single MetadataStore and all its child resources (Artifacts, Executions, and Contexts).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}", +"description": "Deletes an Index. An Index can only be deleted when all its DeployedIndexes had been undeployed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.metadataStores.delete", +"id": "aiplatform.projects.locations.indexes.delete", "parameterOrder": [ "name" ], "parameters": { -"force": { -"deprecated": true, -"description": "Deprecated: Field is no longer supported.", -"location": "query", -"type": "boolean" -}, "name": { -"description": "Required. The resource name of the MetadataStore to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The name of the Index resource to be deleted. Format: `projects/{project}/locations/{location}/indexes/{index}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", "required": true, "type": "string" } @@ -23298,316 +23807,560 @@ ] }, "get": { -"description": "Retrieves a specific MetadataStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}", +"description": "Gets an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.get", +"id": "aiplatform.projects.locations.indexes.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the MetadataStore to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The name of the Index resource. Format: `projects/{project}/locations/{location}/indexes/{index}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1MetadataStore" +"$ref": "GoogleCloudAiplatformV1beta1Index" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports an Index from an external source (e.g., BigQuery).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Index resource to import data to. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportIndexRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists MetadataStores for a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores", +"description": "Lists Indexes in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.list", +"id": "aiplatform.projects.locations.indexes.list", "parameterOrder": [ "parent" ], "parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, "pageSize": { -"description": "The maximum number of Metadata Stores to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous MetadataService.ListMetadataStores call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"description": "The standard list page token. Typically obtained via ListIndexesResponse.next_page_token of the previous IndexService.ListIndexes call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The Location whose MetadataStores should be listed. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the Indexes. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/metadataStores", +"path": "v1beta1/{+parent}/indexes", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMetadataStoresResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListIndexesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"artifacts": { -"methods": { -"create": { -"description": "Creates an Artifact associated with a MetadataStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.artifacts.create", +"patch": { +"description": "Updates an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.indexes.patch", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"artifactId": { -"description": "The {artifact} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` If not provided, the Artifact's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Artifacts in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Artifact.)", +"name": { +"description": "Output only. The resource name of the Index.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", +"format": "google-fieldmask", "location": "query", "type": "string" +} }, -"parent": { -"description": "Required. The resource name of the MetadataStore where the Artifact should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Index" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeDatapoints": { +"description": "Remove Datapoints from an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:removeDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.removeDatapoints", +"parameterOrder": [ +"index" +], +"parameters": { +"index": { +"description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/artifacts", +"path": "v1beta1/{+index}:removeDatapoints", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Artifact" +"$ref": "GoogleCloudAiplatformV1beta1RemoveDatapointsRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Artifact" +"$ref": "GoogleCloudAiplatformV1beta1RemoveDatapointsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes an Artifact.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.metadataStores.artifacts.delete", +"upsertDatapoints": { +"description": "Add/update Datapoints into an Index.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:upsertDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.upsertDatapoints", +"parameterOrder": [ +"index" +], +"parameters": { +"index": { +"description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+index}:upsertDatapoints", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1UpsertDatapointsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1UpsertDatapointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.operations.cancel", "parameterOrder": [ "name" ], "parameters": { -"etag": { -"description": "Optional. The etag of the Artifact to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", -"location": "query", +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"required": true, "type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] }, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexes.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { "name": { -"description": "Required. The resource name of the Artifact to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Retrieves a specific Artifact.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.artifacts.get", +"id": "aiplatform.projects.locations.indexes.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Artifact to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Artifact" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Artifacts in the MetadataStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.artifacts.list", +"id": "aiplatform.projects.locations.indexes.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `uri`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"` * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Context based filtering**: To filter Artifacts based on the contexts to which they belong, use the function operator with the full resource name `in_context()`. For example: `in_context(\"projects//locations//metadataStores//contexts/\")` Each of the above supported filter types can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"description": "The standard list filter.", "location": "query", "type": "string" }, -"orderBy": { -"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", -"location": "query", +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, "type": "string" }, "pageSize": { -"description": "The maximum number of Artifacts to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous MetadataService.ListArtifacts call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The MetadataStore whose Artifacts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", "required": true, "type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/artifacts", +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListArtifactsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"patch": { -"description": "Updates a stored Artifact.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.metadataStores.artifacts.patch", +"interactions": { +"methods": { +"create": { +"description": "Creates an interaction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions:create", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.interactions.create", "parameterOrder": [ -"name" +"projectsId", +"locationsId" ], "parameters": { -"allowMissing": { -"description": "If set to true, and the Artifact is not found, a new Artifact is created.", -"location": "query", -"type": "boolean" +"locationsId": { +"location": "path", +"required": true, +"type": "string" }, -"name": { -"description": "Output only. The resource name of the Artifact.", +"projectsId": { "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", "required": true, "type": "string" +} }, -"updateMask": { -"description": "Optional. A FieldMask indicating which fields should be updated.", -"format": "google-fieldmask", -"location": "query", +"path": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions:create", +"request": { +"$ref": "GenaiVertexV1beta1CreateInteractionRequest" +}, +"response": { +"$ref": "GenaiVertexV1beta1Interaction" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"createStream": { +"description": "Creates an interaction and streams the response.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions:createStream", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.interactions.createStream", +"parameterOrder": [ +"projectsId", +"locationsId" +], +"parameters": { +"locationsId": { +"location": "path", +"required": true, +"type": "string" +}, +"projectsId": { +"location": "path", +"required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions:createStream", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Artifact" +"$ref": "GenaiVertexV1beta1CreateInteractionRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Artifact" +"$ref": "GenaiVertexV1beta1InteractionStreamingEvent" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"purge": { -"description": "Purges Artifacts.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts:purge", +"delete": { +"deprecated": true, +"description": "Deletes an interaction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions/{interactionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.interactions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the interaction to delete. Format: interactions/{interaction}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/interactions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GenaiVertexV1beta1DeleteInteractionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"interactionsHttp": { +"methods": { +"cancel": { +"description": "Cancels an interaction by id. This only applies to background interactions that are still running.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactionsHttp/{interactionsHttpId}/cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.artifacts.purge", +"id": "aiplatform.projects.locations.interactionsHttp.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the interaction to cancel. Format: `interactions/{interaction}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/interactionsHttp/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}/cancel", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new interaction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactionsHttp", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.interactionsHttp.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The metadata store to purge Artifacts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The parent resource where this interaction will be created. Format: `projects/{project}/locations/{location}` Supported only by the Vertex API only.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/artifacts:purge", +"path": "v1beta1/{+parent}/interactionsHttp", "request": { -"$ref": "GoogleCloudAiplatformV1beta1PurgeArtifactsRequest" +"$ref": "GenaiVertexV1beta1CreateInteractionHttpRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"queryArtifactLineageSubgraph": { -"description": "Retrieves lineage of an Artifact represented through Artifacts and Executions connected by Event edges and returned as a LineageSubgraph.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}:queryArtifactLineageSubgraph", +"get": { +"description": "Retrieves the full details of a single interaction based on its `Interaction.id`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactionsHttp/{interactionsHttpId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph", +"id": "aiplatform.projects.locations.interactionsHttp.get", "parameterOrder": [ -"artifact" +"name" ], "parameters": { -"artifact": { -"description": "Required. The resource name of the Artifact whose Lineage needs to be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", -"required": true, -"type": "string" +"includeInput": { +"deprecated": true, +"description": "If true, includes the input in the response.", +"location": "query", +"type": "boolean" }, -"filter": { -"description": "Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the Lineage Subgraph. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following: * **Attribute filtering**: For example: `display_name = \"test\"` Supported fields include: `name`, `display_name`, `uri`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"` * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` Each of the above supported filter types can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"lastEventId": { +"description": "If set, resumes the interaction stream from the chunk after the event marked by the event id. Can only be used if `stream` is true.", "location": "query", "type": "string" }, -"maxHops": { -"description": "Specifies the size of the lineage graph in terms of number of hops from the specified artifact. Negative Value: INVALID_ARGUMENT error is returned 0: Only input artifact is returned. No value: Transitive closure is performed to return the complete graph.", -"format": "int32", +"name": { +"description": "Required. The name of the interaction to retrieve. Format: interactions/{interaction}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/interactionsHttp/[^/]+$", +"required": true, +"type": "string" +}, +"stream": { +"description": "If true, streams the interaction events as Server-Sent Events.", "location": "query", -"type": "integer" +"type": "boolean" } }, -"path": "v1beta1/{+artifact}:queryArtifactLineageSubgraph", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } +} }, +"learningSets": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/learningSets/{learningSetsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel", +"id": "aiplatform.projects.locations.learningSets.operations.cancel", "parameterOrder": [ "name" ], @@ -23615,7 +24368,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/learningSets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -23631,9 +24384,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/learningSets/{learningSetsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.delete", +"id": "aiplatform.projects.locations.learningSets.operations.delete", "parameterOrder": [ "name" ], @@ -23641,7 +24394,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/learningSets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -23656,9 +24409,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/learningSets/{learningSetsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.get", +"id": "aiplatform.projects.locations.learningSets.operations.get", "parameterOrder": [ "name" ], @@ -23666,7 +24419,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/learningSets/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -23682,9 +24435,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/learningSets/{learningSetsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.list", +"id": "aiplatform.projects.locations.learningSets.operations.list", "parameterOrder": [ "name" ], @@ -23697,7 +24450,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/learningSets/[^/]+$", "required": true, "type": "string" }, @@ -23729,9 +24482,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/learningSets/{learningSetsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.wait", +"id": "aiplatform.projects.locations.learningSets.operations.wait", "parameterOrder": [ "name" ], @@ -23739,7 +24492,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/learningSets/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -23763,120 +24516,86 @@ } } }, -"contexts": { +"memoryBanks": { "methods": { -"addContextArtifactsAndExecutions": { -"description": "Adds a set of Artifacts and Executions to a Context. If any of the Artifacts or Executions have already been added to a Context, they are simply skipped.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextArtifactsAndExecutions", +"ingestEvents": { +"description": "Ingests events for a Memory Bank.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}:ingestEvents", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions", +"id": "aiplatform.projects.locations.memoryBanks.ingestEvents", "parameterOrder": [ -"context" +"parent" ], "parameters": { -"context": { -"description": "Required. The resource name of the Context that the Artifacts and Executions belong to. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to ingest events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+context}:addContextArtifactsAndExecutions", +"path": "v1beta1/{+parent}:ingestEvents", "request": { -"$ref": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsRequest" +"$ref": "GoogleCloudAiplatformV1beta1IngestEventsRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -}, -"addContextChildren": { -"description": "Adds a set of Contexts as children to a parent Context. If any of the child Contexts have already been added to the parent Context, they are simply skipped. If this call would create a cycle or cause any Context to have more than 10 parents, the request will fail with an INVALID_ARGUMENT error.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextChildren", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.contexts.addContextChildren", -"parameterOrder": [ -"context" -], -"parameters": { -"context": { -"description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+context}:addContextChildren", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AddContextChildrenRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1AddContextChildrenResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, +"resources": { +"memories": { +"methods": { "create": { -"description": "Creates a Context associated with a MetadataStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts", +"description": "Create a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.contexts.create", +"id": "aiplatform.projects.locations.memoryBanks.memories.create", "parameterOrder": [ "parent" ], "parameters": { -"contextId": { -"description": "The {context} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`. If not provided, the Context's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Contexts in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Context.)", +"memoryId": { +"description": "Optional. The user defined ID to use for memory, which will become the final component of the memory resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, and the last character must be a letter or number.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the MetadataStore where the Context should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The resource name of the ReasoningEngine to create the Memory under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/contexts", +"path": "v1beta1/{+parent}/memories", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Context" +"$ref": "GoogleCloudAiplatformV1beta1Memory" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Context" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a stored Context.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", +"description": "Delete a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.metadataStores.contexts.delete", +"id": "aiplatform.projects.locations.memoryBanks.memories.delete", "parameterOrder": [ "name" ], "parameters": { -"etag": { -"description": "Optional. The etag of the Context to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", -"location": "query", -"type": "string" -}, -"force": { -"description": "The force deletion semantics is still undefined. Users should not use this field.", -"location": "query", -"type": "boolean" -}, "name": { -"description": "Required. The resource name of the Context to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"description": "Required. The resource name of the Memory to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", "required": true, "type": "string" } @@ -23889,100 +24608,123 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Retrieves a specific Context.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.contexts.get", +"generate": { +"description": "Generate memories.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories:generate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.memoryBanks.memories.generate", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The resource name of the Context to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to generate memories for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Context" +"path": "v1beta1/{+parent}/memories:generate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.memoryBanks.memories.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Memory" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Contexts on the MetadataStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts", +"description": "List Memories.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.contexts.list", +"id": "aiplatform.projects.locations.memoryBanks.memories.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Filter specifying the boolean condition for the Contexts to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. Following are the supported set of filters: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"`. * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0`. In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Parent Child filtering**: To filter Contexts based on parent-child relationship use the HAS operator as follows: ``` parent_contexts: \"projects//locations//metadataStores//contexts/\" child_contexts: \"projects//locations//metadataStores//contexts/\" ``` Each of the above supported filters can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `scope` (as a JSON string with equality match only) * `topics` (i.e. `topics.custom_memory_topic_label: \"example topic\" OR topics.managed_memory_topic: USER_PREFERENCES`)", "location": "query", "type": "string" }, "orderBy": { -"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"description": "Optional. The standard list order by string. If not specified, the default order is `create_time desc`. If specified, the default sorting order of provided fields is ascending. More detail in [AIP-132](https://google.aip.dev/132). Supported fields: * `create_time` * `update_time`", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of Contexts to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous MetadataService.ListContexts call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The MetadataStore whose Contexts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The resource name of the ReasoningEngine to list the Memories under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/contexts", +"path": "v1beta1/{+parent}/memories", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListContextsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListMemoriesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates a stored Context.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", +"description": "Update a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.metadataStores.contexts.patch", +"id": "aiplatform.projects.locations.memoryBanks.memories.patch", "parameterOrder": [ "name" ], "parameters": { -"allowMissing": { -"description": "If set to true, and the Context is not found, a new Context is created.", -"location": "query", -"type": "boolean" -}, "name": { -"description": "Immutable. The resource name of the Context.", +"description": "Identifier. Represents the resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Optional. A FieldMask indicating which fields should be updated.", +"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -23990,35 +24732,35 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Context" +"$ref": "GoogleCloudAiplatformV1beta1Memory" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Context" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "purge": { -"description": "Purges Contexts.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts:purge", +"description": "Purge memories.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories:purge", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.contexts.purge", +"id": "aiplatform.projects.locations.memoryBanks.memories.purge", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The metadata store to purge Contexts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The resource name of the ReasoningEngine to purge memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/contexts:purge", +"path": "v1beta1/{+parent}/memories:purge", "request": { -"$ref": "GoogleCloudAiplatformV1beta1PurgeContextsRequest" +"$ref": "GoogleCloudAiplatformV1beta1PurgeMemoriesRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -24027,54 +24769,85 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"queryContextLineageSubgraph": { -"description": "Retrieves Artifacts and Executions within the specified Context, connected by Event edges and returned as a LineageSubgraph.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:queryContextLineageSubgraph", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph", +"retrieve": { +"description": "Retrieve memories.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories:retrieve", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.memoryBanks.memories.retrieve", "parameterOrder": [ -"context" +"parent" ], "parameters": { -"context": { -"description": "Required. The resource name of the Context whose Artifacts and Executions should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to retrieve memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+context}:queryContextLineageSubgraph", +"path": "v1beta1/{+parent}/memories:retrieve", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" +"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"removeContextChildren": { -"description": "Remove a set of children contexts from a parent Context. If any of the child Contexts were NOT added to the parent Context, they are simply skipped.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:removeContextChildren", +"retrieveProfiles": { +"description": "Retrieves profiles.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories:retrieveProfiles", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren", +"id": "aiplatform.projects.locations.memoryBanks.memories.retrieveProfiles", "parameterOrder": [ -"context" +"parent" ], "parameters": { -"context": { -"description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to retrieve profiles from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+context}:removeContextChildren", +"path": "v1beta1/{+parent}/memories:retrieveProfiles", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest" +"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1RemoveContextChildrenResponse" +"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Rollback Memory to a specific revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}:rollback", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.memoryBanks.memories.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Memory to rollback. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:rollback", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RollbackMemoryRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -24086,9 +24859,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.contexts.operations.cancel", +"id": "aiplatform.projects.locations.memoryBanks.memories.operations.cancel", "parameterOrder": [ "name" ], @@ -24096,7 +24869,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -24112,9 +24885,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.metadataStores.contexts.operations.delete", +"id": "aiplatform.projects.locations.memoryBanks.memories.operations.delete", "parameterOrder": [ "name" ], @@ -24122,7 +24895,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -24137,9 +24910,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.contexts.operations.get", +"id": "aiplatform.projects.locations.memoryBanks.memories.operations.get", "parameterOrder": [ "name" ], @@ -24147,7 +24920,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -24163,9 +24936,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.contexts.operations.list", +"id": "aiplatform.projects.locations.memoryBanks.memories.operations.list", "parameterOrder": [ "name" ], @@ -24178,7 +24951,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", "required": true, "type": "string" }, @@ -24210,9 +24983,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.contexts.operations.wait", +"id": "aiplatform.projects.locations.memoryBanks.memories.operations.wait", "parameterOrder": [ "name" ], @@ -24220,7 +24993,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -24241,274 +25014,86 @@ ] } } -} -} }, -"executions": { +"revisions": { "methods": { -"addExecutionEvents": { -"description": "Adds Events to the specified Execution. An Event indicates whether an Artifact was used as an input or output for an Execution. If an Event already exists between the Execution and the Artifact, the Event is skipped.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:addExecutionEvents", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents", -"parameterOrder": [ -"execution" -], -"parameters": { -"execution": { -"description": "Required. The resource name of the Execution that the Events connect Artifacts with. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+execution}:addExecutionEvents", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AddExecutionEventsRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1AddExecutionEventsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"create": { -"description": "Creates an Execution associated with a MetadataStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.executions.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"executionId": { -"description": "The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Executions in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Execution.)", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the MetadataStore where the Execution should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/executions", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Execution" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Execution" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes an Execution.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.metadataStores.executions.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"etag": { -"description": "Optional. The etag of the Execution to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The resource name of the Execution to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "get": { -"description": "Retrieves a specific Execution.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", +"description": "Get a Memory Revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/revisions/{revisionsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.executions.get", +"id": "aiplatform.projects.locations.memoryBanks.memories.revisions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Execution to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"description": "Required. The resource name of the Memory Revision to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}/revisions/{revision}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+/revisions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Execution" +"$ref": "GoogleCloudAiplatformV1beta1MemoryRevision" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Executions in the MetadataStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions", +"description": "List Memory Revisions for a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/memories/{memoriesId}/revisions", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.executions.list", +"id": "aiplatform.projects.locations.memoryBanks.memories.revisions.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Filter specifying the boolean condition for the Executions to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. Following are the supported set of filters: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"`. * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..` For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Context based filtering**: To filter Executions based on the contexts to which they belong use the function operator with the full resource name: `in_context()`. For example: `in_context(\"projects//locations//metadataStores//contexts/\")` Each of the above supported filters can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields (equality match only): * `labels`", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of Executions to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous MetadataService.ListExecutions call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with an INVALID_ARGUMENT error.)", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The MetadataStore whose Executions should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The resource name of the Memory to list revisions for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/memories/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/executions", +"path": "v1beta1/{+parent}/revisions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListExecutionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListMemoryRevisionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -}, -"patch": { -"description": "Updates a stored Execution.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.metadataStores.executions.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"allowMissing": { -"description": "If set to true, and the Execution is not found, a new Execution is created.", -"location": "query", -"type": "boolean" -}, -"name": { -"description": "Output only. The resource name of the Execution.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Optional. A FieldMask indicating which fields should be updated.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Execution" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Execution" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"purge": { -"description": "Purges Executions.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions:purge", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.executions.purge", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The metadata store to purge Executions from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+parent}/executions:purge", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PurgeExecutionsRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"queryExecutionInputsAndOutputs": { -"description": "Obtains the set of input and output Artifacts for this Execution, in the form of LineageSubgraph that also contains the Execution and connecting Events.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:queryExecutionInputsAndOutputs", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs", -"parameterOrder": [ -"execution" -], -"parameters": { -"execution": { -"description": "Required. The resource name of the Execution whose input and output Artifacts should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+execution}:queryExecutionInputsAndOutputs", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] } }, -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.executions.operations.cancel", +"id": "aiplatform.projects.locations.memoryBanks.operations.cancel", "parameterOrder": [ "name" ], @@ -24516,7 +25101,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -24532,9 +25117,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.metadataStores.executions.operations.delete", +"id": "aiplatform.projects.locations.memoryBanks.operations.delete", "parameterOrder": [ "name" ], @@ -24542,7 +25127,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -24557,9 +25142,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.executions.operations.get", +"id": "aiplatform.projects.locations.memoryBanks.operations.get", "parameterOrder": [ "name" ], @@ -24567,7 +25152,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -24583,9 +25168,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.executions.operations.list", +"id": "aiplatform.projects.locations.memoryBanks.operations.list", "parameterOrder": [ "name" ], @@ -24598,7 +25183,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+$", "required": true, "type": "string" }, @@ -24630,9 +25215,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memoryBanks/{memoryBanksId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.executions.operations.wait", +"id": "aiplatform.projects.locations.memoryBanks.operations.wait", "parameterOrder": [ "name" ], @@ -24640,7 +25225,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/memoryBanks/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -24664,293 +25249,330 @@ } } }, -"metadataSchemas": { +"metadataStores": { "methods": { "create": { -"description": "Creates a MetadataSchema.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas", +"description": "Initializes a MetadataStore, including allocation of resources.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.create", +"id": "aiplatform.projects.locations.metadataStores.create", "parameterOrder": [ "parent" ], "parameters": { -"metadataSchemaId": { -"description": "The {metadata_schema} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all MetadataSchemas in the parent Location. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting MetadataSchema.)", +"metadataStoreId": { +"description": "The {metadatastore} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all MetadataStores in the parent Location. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting MetadataStore.)", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the MetadataStore where the MetadataSchema should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The resource name of the Location where the MetadataStore should be created. Format: `projects/{project}/locations/{location}/`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/metadataSchemas", +"path": "v1beta1/{+parent}/metadataStores", "request": { -"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +"$ref": "GoogleCloudAiplatformV1beta1MetadataStore" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Retrieves a specific MetadataSchema.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas/{metadataSchemasId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.get", +"delete": { +"description": "Deletes a single MetadataStore and all its child resources (Artifacts, Executions, and Contexts).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.delete", "parameterOrder": [ "name" ], "parameters": { +"force": { +"deprecated": true, +"description": "Deprecated: Field is no longer supported.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "Required. The resource name of the MetadataSchema to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}`", +"description": "Required. The resource name of the MetadataStore to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/metadataSchemas/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists MetadataSchemas.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas", +"get": { +"description": "Retrieves a specific MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.list", +"id": "aiplatform.projects.locations.metadataStores.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"filter": { -"description": "A query to filter available MetadataSchemas for matching results.", -"location": "query", +"name": { +"description": "Required. The resource name of the MetadataStore to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, "type": "string" +} }, -"pageSize": { -"description": "The maximum number of MetadataSchemas to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", -"format": "int32", +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MetadataStores for a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Metadata Stores to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", +"format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous MetadataService.ListMetadataSchemas call. Provide this to retrieve the next page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"description": "A page token, received from a previous MetadataService.ListMetadataStores call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", "location": "query", "type": "string" }, "parent": { -"description": "Required. The MetadataStore whose MetadataSchemas should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"description": "Required. The Location whose MetadataStores should be listed. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/metadataSchemas", +"path": "v1beta1/{+parent}/metadataStores", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMetadataSchemasResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListMetadataStoresResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } -} }, -"operations": { +"resources": { +"artifacts": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel", +"create": { +"description": "Creates an Artifact associated with a MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts", "httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.operations.cancel", +"id": "aiplatform.projects.locations.metadataStores.artifacts.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"artifactId": { +"description": "The {artifact} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` If not provided, the Artifact's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Artifacts in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Artifact.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the Artifact should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/artifacts", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1Artifact" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}", +"description": "Deletes an Artifact.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.metadataStores.operations.delete", +"id": "aiplatform.projects.locations.metadataStores.artifacts.delete", "parameterOrder": [ "name" ], "parameters": { +"etag": { +"description": "Optional. The etag of the Artifact to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name of the Artifact to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}", +"description": "Retrieves a specific Artifact.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.operations.get", +"id": "aiplatform.projects.locations.metadataStores.artifacts.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The resource name of the Artifact to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Artifact" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations", +"description": "Lists Artifacts in the MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts", "httpMethod": "GET", -"id": "aiplatform.projects.locations.metadataStores.operations.list", +"id": "aiplatform.projects.locations.metadataStores.artifacts.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `uri`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"` * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Context based filtering**: To filter Artifacts based on the contexts to which they belong, use the function operator with the full resource name `in_context()`. For example: `in_context(\"projects//locations//metadataStores//contexts/\")` Each of the above supported filter types can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", -"required": true, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "The maximum number of Artifacts to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "A page token, received from a previous MetadataService.ListArtifacts call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", "location": "query", "type": "string" }, -"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" +"parent": { +"description": "Required. The MetadataStore whose Artifacts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/artifacts", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListArtifactsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.metadataStores.operations.wait", +"patch": { +"description": "Updates a stored Artifact.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.metadataStores.artifacts.patch", "parameterOrder": [ "name" ], "parameters": { +"allowMissing": { +"description": "If set to true, and the Artifact is not found, a new Artifact is created.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "The name of the operation resource to wait on.", +"description": "Output only. The resource name of the Artifact.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"updateMask": { +"description": "Optional. A FieldMask indicating which fields should be updated.", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Artifact" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Artifact" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"migratableResources": { -"methods": { -"batchMigrate": { -"description": "Batch migrates resources from ml.googleapis.com, automl.googleapis.com, and datalabeling.googleapis.com to Vertex AI.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources:batchMigrate", +"purge": { +"description": "Purges Artifacts.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts:purge", "httpMethod": "POST", -"id": "aiplatform.projects.locations.migratableResources.batchMigrate", +"id": "aiplatform.projects.locations.metadataStores.artifacts.purge", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The location of the migrated resource will live in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The metadata store to purge Artifacts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/migratableResources:batchMigrate", +"path": "v1beta1/{+parent}/artifacts:purge", "request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchMigrateResourcesRequest" +"$ref": "GoogleCloudAiplatformV1beta1PurgeArtifactsRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -24959,29 +25581,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"search": { -"description": "Searches all of the resources in automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com that can be migrated to Vertex AI's given location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources:search", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.migratableResources.search", +"queryArtifactLineageSubgraph": { +"description": "Retrieves lineage of an Artifact represented through Artifacts and Executions connected by Event edges and returned as a LineageSubgraph.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}:queryArtifactLineageSubgraph", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph", "parameterOrder": [ -"parent" +"artifact" ], "parameters": { -"parent": { -"description": "Required. The location that the migratable resources should be searched from. It's the Vertex AI location that the resources can be migrated to, not the resources' original location. Format: `projects/{project}/locations/{location}`", +"artifact": { +"description": "Required. The resource name of the Artifact whose Lineage needs to be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+parent}/migratableResources:search", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SearchMigratableResourcesRequest" +"filter": { +"description": "Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the Lineage Subgraph. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following: * **Attribute filtering**: For example: `display_name = \"test\"` Supported fields include: `name`, `display_name`, `uri`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"` * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` Each of the above supported filter types can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"maxHops": { +"description": "Specifies the size of the lineage graph in terms of number of hops from the specified artifact. Negative Value: INVALID_ARGUMENT error is returned 0: Only input artifact is returned. No value: Transitive closure is performed to return the complete graph.", +"format": "int32", +"location": "query", +"type": "integer" +} }, +"path": "v1beta1/{+artifact}:queryArtifactLineageSubgraph", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SearchMigratableResourcesResponse" +"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -24993,9 +25623,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.migratableResources.operations.cancel", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel", "parameterOrder": [ "name" ], @@ -25003,7 +25633,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -25019,9 +25649,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.migratableResources.operations.delete", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.delete", "parameterOrder": [ "name" ], @@ -25029,7 +25659,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -25044,9 +25674,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.migratableResources.operations.get", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.get", "parameterOrder": [ "name" ], @@ -25054,7 +25684,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -25070,9 +25700,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.migratableResources.operations.list", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.list", "parameterOrder": [ "name" ], @@ -25085,7 +25715,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", "required": true, "type": "string" }, @@ -25117,9 +25747,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.migratableResources.operations.wait", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.wait", "parameterOrder": [ "name" ], @@ -25127,7 +25757,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -25151,49 +25781,120 @@ } } }, -"modelDeploymentMonitoringJobs": { +"contexts": { "methods": { +"addContextArtifactsAndExecutions": { +"description": "Adds a set of Artifacts and Executions to a Context. If any of the Artifacts or Executions have already been added to a Context, they are simply skipped.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextArtifactsAndExecutions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the Context that the Artifacts and Executions belong to. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+context}:addContextArtifactsAndExecutions", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"addContextChildren": { +"description": "Adds a set of Contexts as children to a parent Context. If any of the child Contexts have already been added to the parent Context, they are simply skipped. If this call would create a cycle or cause any Context to have more than 10 parents, the request will fail with an INVALID_ARGUMENT error.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextChildren", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.addContextChildren", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+context}:addContextChildren", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AddContextChildrenRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AddContextChildrenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "create": { -"description": "Creates a ModelDeploymentMonitoringJob. It will run periodically on a configured interval.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs", +"description": "Creates a Context associated with a MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create", +"id": "aiplatform.projects.locations.metadataStores.contexts.create", "parameterOrder": [ "parent" ], "parameters": { +"contextId": { +"description": "The {context} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`. If not provided, the Context's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Contexts in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Context.)", +"location": "query", +"type": "string" +}, "parent": { -"description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the MetadataStore where the Context should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/modelDeploymentMonitoringJobs", +"path": "v1beta1/{+parent}/contexts", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +"$ref": "GoogleCloudAiplatformV1beta1Context" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +"$ref": "GoogleCloudAiplatformV1beta1Context" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a ModelDeploymentMonitoringJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"description": "Deletes a stored Context.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete", +"id": "aiplatform.projects.locations.metadataStores.contexts.delete", "parameterOrder": [ "name" ], "parameters": { +"etag": { +"description": "Optional. The etag of the Context to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", +"location": "query", +"type": "string" +}, +"force": { +"description": "The force deletion semantics is still undefined. Users should not use this field.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "Required. The resource name of the model monitoring job to delete. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"description": "Required. The resource name of the Context to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", "required": true, "type": "string" } @@ -25207,95 +25908,99 @@ ] }, "get": { -"description": "Gets a ModelDeploymentMonitoringJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"description": "Retrieves a specific Context.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get", +"id": "aiplatform.projects.locations.metadataStores.contexts.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"description": "Required. The resource name of the Context to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +"$ref": "GoogleCloudAiplatformV1beta1Context" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists ModelDeploymentMonitoringJobs in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs", +"description": "Lists Contexts on the MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list", +"id": "aiplatform.projects.locations.metadataStores.contexts.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"description": "Filter specifying the boolean condition for the Contexts to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. Following are the supported set of filters: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"`. * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0`. In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Parent Child filtering**: To filter Contexts based on parent-child relationship use the HAS operator as follows: ``` parent_contexts: \"projects//locations//metadataStores//contexts/\" child_contexts: \"projects//locations//metadataStores//contexts/\" ``` Each of the above supported filters can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", "location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "The maximum number of Contexts to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "A page token, received from a previous MetadataService.ListContexts call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`", +"description": "Required. The MetadataStore whose Contexts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/modelDeploymentMonitoringJobs", +"path": "v1beta1/{+parent}/contexts", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListModelDeploymentMonitoringJobsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListContextsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates a ModelDeploymentMonitoringJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"description": "Updates a stored Context.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch", +"id": "aiplatform.projects.locations.metadataStores.contexts.patch", "parameterOrder": [ "name" ], "parameters": { +"allowMissing": { +"description": "If set to true, and the Context is not found, a new Context is created.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "Output only. Resource name of a ModelDeploymentMonitoringJob.", +"description": "Immutable. The resource name of the Context.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Required. The update mask is used to specify the fields to be overwritten in the ModelDeploymentMonitoringJob resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. For the objective config, the user can either provide the update mask for model_deployment_monitoring_objective_configs or any combination of its nested fields, such as: model_deployment_monitoring_objective_configs.objective_config.training_dataset. Updatable fields: * `display_name` * `model_deployment_monitoring_schedule_config` * `model_monitoring_alert_config` * `logging_sampling_strategy` * `labels` * `log_ttl` * `enable_monitoring_pipeline_logs` . and * `model_deployment_monitoring_objective_configs` . or * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config`", +"description": "Optional. A FieldMask indicating which fields should be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -25303,94 +26008,91 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" +"$ref": "GoogleCloudAiplatformV1beta1Context" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Context" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"pause": { -"description": "Pauses a ModelDeploymentMonitoringJob. If the job is running, the server makes a best effort to cancel the job. Will mark ModelDeploymentMonitoringJob.state to 'PAUSED'.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:pause", +"purge": { +"description": "Purges Contexts.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts:purge", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause", +"id": "aiplatform.projects.locations.metadataStores.contexts.purge", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The resource name of the ModelDeploymentMonitoringJob to pause. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"parent": { +"description": "Required. The metadata store to purge Contexts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:pause", +"path": "v1beta1/{+parent}/contexts:purge", "request": { -"$ref": "GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest" +"$ref": "GoogleCloudAiplatformV1beta1PurgeContextsRequest" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"resume": { -"description": "Resumes a paused ModelDeploymentMonitoringJob. It will start to run from next scheduled time. A deleted ModelDeploymentMonitoringJob can't be resumed.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:resume", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume", +"queryContextLineageSubgraph": { +"description": "Retrieves Artifacts and Executions within the specified Context, connected by Event edges and returned as a LineageSubgraph.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:queryContextLineageSubgraph", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph", "parameterOrder": [ -"name" +"context" ], "parameters": { -"name": { -"description": "Required. The resource name of the ModelDeploymentMonitoringJob to resume. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"context": { +"description": "Required. The resource name of the Context whose Artifacts and Executions should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:resume", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ResumeModelDeploymentMonitoringJobRequest" -}, +"path": "v1beta1/{+context}:queryContextLineageSubgraph", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"searchModelDeploymentMonitoringStatsAnomalies": { -"description": "Searches Model Monitoring Statistics generated within a given time window.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies", +"removeContextChildren": { +"description": "Remove a set of children contexts from a parent Context. If any of the child Contexts were NOT added to the parent Context, they are simply skipped.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:removeContextChildren", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies", +"id": "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren", "parameterOrder": [ -"modelDeploymentMonitoringJob" +"context" ], "parameters": { -"modelDeploymentMonitoringJob": { -"description": "Required. ModelDeploymentMonitoring Job resource name. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"context": { +"description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+modelDeploymentMonitoringJob}:searchModelDeploymentMonitoringStatsAnomalies", +"path": "v1beta1/{+context}:removeContextChildren", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesRequest" +"$ref": "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesResponse" +"$ref": "GoogleCloudAiplatformV1beta1RemoveContextChildrenResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -25402,9 +26104,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.cancel", "parameterOrder": [ "name" ], @@ -25412,7 +26114,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -25428,9 +26130,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.delete", "parameterOrder": [ "name" ], @@ -25438,7 +26140,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -25453,9 +26155,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.get", "parameterOrder": [ "name" ], @@ -25463,7 +26165,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -25479,9 +26181,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.list", "parameterOrder": [ "name" ], @@ -25494,7 +26196,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", "required": true, "type": "string" }, @@ -25526,9 +26228,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.wait", "parameterOrder": [ "name" ], @@ -25536,7 +26238,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -25560,59 +26262,87 @@ } } }, -"modelMonitors": { +"executions": { "methods": { +"addExecutionEvents": { +"description": "Adds Events to the specified Execution. An Event indicates whether an Artifact was used as an input or output for an Execution. If an Event already exists between the Execution and the Artifact, the Event is skipped.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:addExecutionEvents", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents", +"parameterOrder": [ +"execution" +], +"parameters": { +"execution": { +"description": "Required. The resource name of the Execution that the Events connect Artifacts with. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+execution}:addExecutionEvents", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AddExecutionEventsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AddExecutionEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "create": { -"description": "Creates a ModelMonitor.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors", +"description": "Creates an Execution associated with a MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelMonitors.create", +"id": "aiplatform.projects.locations.metadataStores.executions.create", "parameterOrder": [ "parent" ], "parameters": { -"modelMonitorId": { -"description": "Optional. The ID to use for the Model Monitor, which will become the final component of the model monitor resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"executionId": { +"description": "The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Executions in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Execution.)", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to create the ModelMonitor in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the MetadataStore where the Execution should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/modelMonitors", +"path": "v1beta1/{+parent}/executions", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +"$ref": "GoogleCloudAiplatformV1beta1Execution" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Execution" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a ModelMonitor.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", +"description": "Deletes an Execution.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.modelMonitors.delete", +"id": "aiplatform.projects.locations.metadataStores.executions.delete", "parameterOrder": [ "name" ], "parameters": { -"force": { -"description": "Optional. Force delete the model monitor with schedules.", +"etag": { +"description": "Optional. The etag of the Execution to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", "location": "query", -"type": "boolean" +"type": "string" }, "name": { -"description": "Required. The name of the ModelMonitor resource to be deleted. Format: `projects/{project}/locations/{location}/modelMonitords/{model_monitor}`", +"description": "Required. The resource name of the Execution to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", "required": true, "type": "string" } @@ -25626,95 +26356,99 @@ ] }, "get": { -"description": "Gets a ModelMonitor.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", +"description": "Retrieves a specific Execution.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelMonitors.get", +"id": "aiplatform.projects.locations.metadataStores.executions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ModelMonitor resource. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"description": "Required. The resource name of the Execution to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +"$ref": "GoogleCloudAiplatformV1beta1Execution" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists ModelMonitors in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors", +"description": "Lists Executions in the MetadataStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelMonitors.list", +"id": "aiplatform.projects.locations.metadataStores.executions.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"description": "Filter specifying the boolean condition for the Executions to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. Following are the supported set of filters: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"`. * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..` For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Context based filtering**: To filter Executions based on the contexts to which they belong use the function operator with the full resource name: `in_context()`. For example: `in_context(\"projects//locations//metadataStores//contexts/\")` Each of the above supported filters can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", "location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "The maximum number of Executions to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "A page token, received from a previous MetadataService.ListExecutions call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with an INVALID_ARGUMENT error.)", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the ModelMonitors from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The MetadataStore whose Executions should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/modelMonitors", +"path": "v1beta1/{+parent}/executions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListModelMonitorsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListExecutionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates a ModelMonitor.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", +"description": "Updates a stored Execution.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.modelMonitors.patch", +"id": "aiplatform.projects.locations.metadataStores.executions.patch", "parameterOrder": [ "name" ], "parameters": { +"allowMissing": { +"description": "If set to true, and the Execution is not found, a new Execution is created.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "Immutable. Resource name of the ModelMonitor. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`.", +"description": "Output only. The resource name of the Execution.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Required. Mask specifying which fields to update.", +"description": "Optional. A FieldMask indicating which fields should be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -25722,66 +26456,63 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +"$ref": "GoogleCloudAiplatformV1beta1Execution" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Execution" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"searchModelMonitoringAlerts": { -"description": "Returns the Model Monitoring alerts.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}:searchModelMonitoringAlerts", +"purge": { +"description": "Purges Executions.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions:purge", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelMonitors.searchModelMonitoringAlerts", +"id": "aiplatform.projects.locations.metadataStores.executions.purge", "parameterOrder": [ -"modelMonitor" +"parent" ], "parameters": { -"modelMonitor": { -"description": "Required. ModelMonitor resource name. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"parent": { +"description": "Required. The metadata store to purge Executions from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+modelMonitor}:searchModelMonitoringAlerts", +"path": "v1beta1/{+parent}/executions:purge", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsRequest" +"$ref": "GoogleCloudAiplatformV1beta1PurgeExecutionsRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"searchModelMonitoringStats": { -"description": "Searches Model Monitoring Stats generated within a given time window.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}:searchModelMonitoringStats", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.modelMonitors.searchModelMonitoringStats", +"queryExecutionInputsAndOutputs": { +"description": "Obtains the set of input and output Artifacts for this Execution, in the form of LineageSubgraph that also contains the Execution and connecting Events.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:queryExecutionInputsAndOutputs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs", "parameterOrder": [ -"modelMonitor" +"execution" ], "parameters": { -"modelMonitor": { -"description": "Required. ModelMonitor resource name. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"execution": { +"description": "Required. The resource name of the Execution whose input and output Artifacts should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+modelMonitor}:searchModelMonitoringStats", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsRequest" -}, +"path": "v1beta1/{+execution}:queryExecutionInputsAndOutputs", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsResponse" +"$ref": "GoogleCloudAiplatformV1beta1LineageSubgraph" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -25789,105 +26520,106 @@ } }, "resources": { -"modelMonitoringJobs": { +"operations": { "methods": { -"create": { -"description": "Creates a ModelMonitoringJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.create", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.cancel", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"modelMonitoringJobId": { -"description": "Optional. The ID to use for the Model Monitoring Job, which will become the final component of the model monitoring job resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The parent of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMoniitors/{model_monitor}`", +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/modelMonitoringJobs", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a ModelMonitoringJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs/{modelMonitoringJobsId}", +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.delete", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the model monitoring job to delete. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}/modelMonitoringJobs/{model_monitoring_job}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/modelMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a ModelMonitoringJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs/{modelMonitoringJobsId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.get", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}/modelMonitoringJobs/{model_monitoring_job}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/modelMonitoringJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists ModelMonitoringJobs. Callers may choose to read across multiple Monitors as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of modelMonitor id in the parent. Format `projects/{project_id}/locations/{location}/moodelMonitors/-/modelMonitoringJobs`", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.list", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"description": "The standard list filter.", "location": "query", "type": "string" }, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, "pageSize": { "description": "The standard list page size.", "format": "int32", @@ -25899,23 +26631,153 @@ "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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"metadataSchemas": { +"methods": { +"create": { +"description": "Creates a MetadataSchema.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"metadataSchemaId": { +"description": "The {metadata_schema} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all MetadataSchemas in the parent Location. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting MetadataSchema.)", +"location": "query", +"type": "string" +}, "parent": { -"description": "Required. The parent of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"description": "Required. The resource name of the MetadataStore where the MetadataSchema should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" +} }, -"readMask": { -"description": "Mask specifying which fields to read", -"format": "google-fieldmask", +"path": "v1beta1/{+parent}/metadataSchemas", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific MetadataSchema.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas/{metadataSchemasId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the MetadataSchema to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/metadataSchemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1MetadataSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MetadataSchemas.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A query to filter available MetadataSchemas for matching results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of MetadataSchemas to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListMetadataSchemas call. Provide this to retrieve the next page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", "location": "query", "type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose MetadataSchemas should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+parent}/modelMonitoringJobs", +"path": "v1beta1/{+parent}/metadataSchemas", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListModelMonitoringJobsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListMetadataSchemasResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -25927,9 +26789,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelMonitors.operations.cancel", +"id": "aiplatform.projects.locations.metadataStores.operations.cancel", "parameterOrder": [ "name" ], @@ -25937,7 +26799,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -25953,9 +26815,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.modelMonitors.operations.delete", +"id": "aiplatform.projects.locations.metadataStores.operations.delete", "parameterOrder": [ "name" ], @@ -25963,7 +26825,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -25978,9 +26840,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelMonitors.operations.get", +"id": "aiplatform.projects.locations.metadataStores.operations.get", "parameterOrder": [ "name" ], @@ -25988,7 +26850,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -26004,9 +26866,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.modelMonitors.operations.list", +"id": "aiplatform.projects.locations.metadataStores.operations.list", "parameterOrder": [ "name" ], @@ -26019,7 +26881,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", "required": true, "type": "string" }, @@ -26051,9 +26913,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.modelMonitors.operations.wait", +"id": "aiplatform.projects.locations.metadataStores.operations.wait", "parameterOrder": [ "name" ], @@ -26061,7 +26923,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -26085,598 +26947,470 @@ } } }, -"models": { +"migratableResources": { "methods": { -"copy": { -"description": "Copies an already existing Vertex AI Model into the specified Location. The source Model must exist in the same Project. When copying custom Models, the users themselves are responsible for Model.metadata content to be region-agnostic, as well as making sure that any resources (e.g. files) it depends on remain accessible.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models:copy", +"batchMigrate": { +"description": "Batch migrates resources from ml.googleapis.com, automl.googleapis.com, and datalabeling.googleapis.com to Vertex AI.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources:batchMigrate", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.copy", +"id": "aiplatform.projects.locations.migratableResources.batchMigrate", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location into which to copy the Model. Format: `projects/{project}/locations/{location}`", +"description": "Required. The location of the migrated resource will live in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/models:copy", +"path": "v1beta1/{+parent}/migratableResources:batchMigrate", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CopyModelRequest" +"$ref": "GoogleCloudAiplatformV1beta1BatchMigrateResourcesRequest" }, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a Model. A model cannot be deleted if any Endpoint resource has a DeployedModel based on the model in its deployed_models field.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.models.delete", +"search": { +"description": "Searches all of the resources in automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com that can be migrated to Vertex AI's given location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources:search", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.search", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the Model resource to be deleted. Format: `projects/{project}/locations/{location}/models/{model}`", +"parent": { +"description": "Required. The location that the migratable resources should be searched from. It's the Vertex AI location that the resources can be migrated to, not the resources' original location. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/migratableResources:search", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchMigratableResourcesRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1SearchMigratableResourcesResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"deleteVersion": { -"description": "Deletes a Model version. Model version can only be deleted if there are no DeployedModels created from it. Deleting the only version in the Model is not allowed. Use DeleteModel for deleting the Model instead.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:deleteVersion", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.models.deleteVersion", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the model version to be deleted, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:deleteVersion", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"export": { -"description": "Exports a trained, exportable Model to a location specified by the user. A Model is considered to be exportable if it has at least one supported export format.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:export", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.models.export", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.migratableResources.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Model to export. The resource name may contain version id or version alias to specify the version, if no version is specified, the default version will be exported.", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:export", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ExportModelRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a Model.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.models.get", +"id": "aiplatform.projects.locations.migratableResources.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Model resource. Format: `projects/{project}/locations/{location}/models/{model}` In order to retrieve a specific version of the model, also provide the version ID or version alias. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the \"default\" version will be returned. The \"default\" version alias is created for the first version of the model, and can be moved to other versions later on. There will be exactly one default version.", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Model" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"getIamPolicy": { -"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:getIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.models.getIamPolicy", -"parameterOrder": [ -"resource" -], -"parameters": { -"options.requestedPolicyVersion": { -"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", -"format": "int32", -"location": "query", -"type": "integer" -}, -"resource": { -"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:getIamPolicy", -"response": { -"$ref": "GoogleIamV1Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "list": { -"description": "Lists Models in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.models.list", +"id": "aiplatform.projects.locations.migratableResources.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `model` supports = and !=. `model` represents the Model ID, i.e. the last segment of the Model's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `base_model_name` only supports = Some examples: * `model=1234` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `baseModelName=\"text-bison\"`", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token. Typically obtained via ListModelsResponse.next_page_token of the previous ModelService.ListModels call.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Location to list the Models from. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", +"description": "The standard list filter.", "location": "query", "type": "string" -} -}, -"path": "v1beta1/{+parent}/models", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListModelsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] }, -"listCheckpoints": { -"description": "Lists checkpoints of the specified model version.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listCheckpoints", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.models.listCheckpoints", -"parameterOrder": [ -"name" -], -"parameters": { "name": { -"description": "Required. The name of the model version to list checkpoints for. `projects/{project}/locations/{location}/models/{model}@{version}` Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the latest version will be used.", +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+$", "required": true, "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token. Typically obtained via next_page_token of the previous ListModelVersionCheckpoints call.", +"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}:listCheckpoints", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListModelVersionCheckpointsResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"listVersions": { -"description": "Lists versions of the specified model.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listVersions", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.models.listVersions", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.operations.wait", "parameterOrder": [ "name" ], "parameters": { -"filter": { -"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `labels.myKey=\"myValue\"`", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The name of the model to list versions for.", +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `update_time asc, create_time desc`.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token. Typically obtained via next_page_token of the previous ListModelVersions call.", -"location": "query", -"type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:listVersions", +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListModelVersionsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"mergeVersionAliases": { -"description": "Merges a set of aliases for a Model version.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:mergeVersionAliases", +"modelDeploymentMonitoringJobs": { +"methods": { +"create": { +"description": "Creates a ModelDeploymentMonitoringJob. It will run periodically on a configured interval.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.mergeVersionAliases", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the model version to merge aliases, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`", +"parent": { +"description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:mergeVersionAliases", +"path": "v1beta1/{+parent}/modelDeploymentMonitoringJobs", "request": { -"$ref": "GoogleCloudAiplatformV1beta1MergeVersionAliasesRequest" +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Model" +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a Model.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.models.patch", +"delete": { +"description": "Deletes a ModelDeploymentMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name of the Model.", +"description": "Required. The resource name of the model monitoring job to delete. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, "path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Model" -}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Model" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"setIamPolicy": { -"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:setIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.models.setIamPolicy", +"get": { +"description": "Gets a ModelDeploymentMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get", "parameterOrder": [ -"resource" +"name" ], "parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"name": { +"description": "Required. The resource name of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:setIamPolicy", -"request": { -"$ref": "GoogleIamV1SetIamPolicyRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"testIamPermissions": { -"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:testIamPermissions", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.models.testIamPermissions", +"list": { +"description": "Lists ModelDeploymentMonitoringJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list", "parameterOrder": [ -"resource" +"parent" ], "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).", +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", "location": "query", -"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.", +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+resource}:testIamPermissions", +"path": "v1beta1/{+parent}/modelDeploymentMonitoringJobs", "response": { -"$ref": "GoogleIamV1TestIamPermissionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListModelDeploymentMonitoringJobsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"updateExplanationDataset": { -"description": "Incrementally update the dataset used for an examples model.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:updateExplanationDataset", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.models.updateExplanationDataset", +"patch": { +"description": "Updates a ModelDeploymentMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch", "parameterOrder": [ -"model" +"name" ], "parameters": { -"model": { -"description": "Required. The resource name of the Model to update. Format: `projects/{project}/locations/{location}/models/{model}`", +"name": { +"description": "Output only. Resource name of a ModelDeploymentMonitoringJob.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Required. The update mask is used to specify the fields to be overwritten in the ModelDeploymentMonitoringJob resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. For the objective config, the user can either provide the update mask for model_deployment_monitoring_objective_configs or any combination of its nested fields, such as: model_deployment_monitoring_objective_configs.objective_config.training_dataset. Updatable fields: * `display_name` * `model_deployment_monitoring_schedule_config` * `model_monitoring_alert_config` * `logging_sampling_strategy` * `labels` * `log_ttl` * `enable_monitoring_pipeline_logs` . and * `model_deployment_monitoring_objective_configs` . or * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config`", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+model}:updateExplanationDataset", +"path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1UpdateExplanationDatasetRequest" +"$ref": "GoogleCloudAiplatformV1beta1ModelDeploymentMonitoringJob" }, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"upload": { -"description": "Uploads a Model artifact into Vertex AI.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models:upload", +"pause": { +"description": "Pauses a ModelDeploymentMonitoringJob. If the job is running, the server makes a best effort to cancel the job. Will mark ModelDeploymentMonitoringJob.state to 'PAUSED'.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:pause", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.upload", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location into which to upload the Model. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "Required. The resource name of the ModelDeploymentMonitoringJob to pause. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/models:upload", +"path": "v1beta1/{+name}:pause", "request": { -"$ref": "GoogleCloudAiplatformV1beta1UploadModelRequest" +"$ref": "GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"evaluations": { -"methods": { -"get": { -"description": "Gets a ModelEvaluation.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.models.evaluations.get", +"resume": { +"description": "Resumes a paused ModelDeploymentMonitoringJob. It will start to run from next scheduled time. A deleted ModelDeploymentMonitoringJob can't be resumed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:resume", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ModelEvaluation resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`", +"description": "Required. The resource name of the ModelDeploymentMonitoringJob to resume. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:resume", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ResumeModelDeploymentMonitoringJobRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"import": { -"description": "Imports an externally generated ModelEvaluation.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations:import", +"searchModelDeploymentMonitoringStatsAnomalies": { +"description": "Searches Model Monitoring Statistics generated within a given time window.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.evaluations.import", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies", "parameterOrder": [ -"parent" +"modelDeploymentMonitoringJob" ], "parameters": { -"parent": { -"description": "Required. The name of the parent model resource. Format: `projects/{project}/locations/{location}/models/{model}`", +"modelDeploymentMonitoringJob": { +"description": "Required. ModelDeploymentMonitoring Job resource name. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/evaluations:import", +"path": "v1beta1/{+modelDeploymentMonitoringJob}:searchModelDeploymentMonitoringStatsAnomalies", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ImportModelEvaluationRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists ModelEvaluations in a Model.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.models.evaluations.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token. Typically obtained via ListModelEvaluationsResponse.next_page_token of the previous ModelService.ListModelEvaluations call.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Model to list the ModelEvaluations from. Format: `projects/{project}/locations/{location}/models/{model}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} +"$ref": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesRequest" }, -"path": "v1beta1/{+parent}/evaluations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListModelEvaluationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1SearchModelDeploymentMonitoringStatsAnomaliesResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -26686,9 +27420,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.evaluations.operations.cancel", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel", "parameterOrder": [ "name" ], @@ -26696,7 +27430,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -26712,9 +27446,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.models.evaluations.operations.delete", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete", "parameterOrder": [ "name" ], @@ -26722,7 +27456,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -26737,9 +27471,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.models.evaluations.operations.get", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get", "parameterOrder": [ "name" ], @@ -26747,7 +27481,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -26763,9 +27497,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.models.evaluations.operations.list", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list", "parameterOrder": [ "name" ], @@ -26778,7 +27512,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", "required": true, "type": "string" }, @@ -26810,9 +27544,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.evaluations.operations.wait", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait", "parameterOrder": [ "name" ], @@ -26820,7 +27554,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -26841,75 +27575,110 @@ ] } } +} +} }, -"slices": { +"modelMonitors": { "methods": { -"batchImport": { -"description": "Imports a list of externally generated EvaluatedAnnotations.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}:batchImport", +"create": { +"description": "Creates a ModelMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.evaluations.slices.batchImport", +"id": "aiplatform.projects.locations.modelMonitors.create", "parameterOrder": [ "parent" ], "parameters": { +"modelMonitorId": { +"description": "Optional. The ID to use for the Model Monitor, which will become the final component of the model monitor resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"location": "query", +"type": "string" +}, "parent": { -"description": "Required. The name of the parent ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`", +"description": "Required. The resource name of the Location to create the ModelMonitor in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}:batchImport", +"path": "v1beta1/{+parent}/modelMonitors", "request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsRequest" +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a ModelEvaluationSlice.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.models.evaluations.slices.get", +"delete": { +"description": "Deletes a ModelMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelMonitors.delete", "parameterOrder": [ "name" ], "parameters": { +"force": { +"description": "Optional. Force delete the model monitor with schedules.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "Required. The name of the ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`", +"description": "Required. The name of the ModelMonitor resource to be deleted. Format: `projects/{project}/locations/{location}/modelMonitords/{model_monitor}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSlice" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists ModelEvaluationSlices in a ModelEvaluation.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices", +"get": { +"description": "Gets a ModelMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.models.evaluations.slices.list", +"id": "aiplatform.projects.locations.modelMonitors.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ModelMonitor resource. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelMonitors in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter. * `slice.dimension` - for =.", +"description": "The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -26920,14 +27689,14 @@ "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained via ListModelEvaluationSlicesResponse.next_page_token of the previous ModelService.ListModelEvaluationSlices call.", +"description": "The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices from. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`", +"description": "Required. The resource name of the Location to list the ModelMonitors from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, @@ -26938,16 +27707,237 @@ "type": "string" } }, -"path": "v1beta1/{+parent}/slices", +"path": "v1beta1/{+parent}/modelMonitors", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListModelEvaluationSlicesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListModelMonitorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ModelMonitor.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.modelMonitors.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Resource name of the ModelMonitor. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask specifying which fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitor" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchModelMonitoringAlerts": { +"description": "Returns the Model Monitoring alerts.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}:searchModelMonitoringAlerts", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.searchModelMonitoringAlerts", +"parameterOrder": [ +"modelMonitor" +], +"parameters": { +"modelMonitor": { +"description": "Required. ModelMonitor resource name. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+modelMonitor}:searchModelMonitoringAlerts", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringAlertsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchModelMonitoringStats": { +"description": "Searches Model Monitoring Stats generated within a given time window.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}:searchModelMonitoringStats", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.searchModelMonitoringStats", +"parameterOrder": [ +"modelMonitor" +], +"parameters": { +"modelMonitor": { +"description": "Required. ModelMonitor resource name. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+modelMonitor}:searchModelMonitoringStats", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SearchModelMonitoringStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"modelMonitoringJobs": { +"methods": { +"create": { +"description": "Creates a ModelMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"modelMonitoringJobId": { +"description": "Optional. The ID to use for the Model Monitoring Job, which will become the final component of the model monitoring job resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMoniitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/modelMonitoringJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a ModelMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs/{modelMonitoringJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the model monitoring job to delete. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}/modelMonitoringJobs/{model_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/modelMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +}, +"get": { +"description": "Gets a ModelMonitoringJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs/{modelMonitoringJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}/modelMonitoringJobs/{model_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/modelMonitoringJobs/[^/]+$", +"required": true, +"type": "string" } +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ModelMonitoringJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelMonitoringJobs. Callers may choose to read across multiple Monitors as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of modelMonitor id in the parent. Format `projects/{project_id}/locations/{location}/moodelMonitors/-/modelMonitoringJobs`", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/modelMonitoringJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the ModelMonitoringJob. Format: `projects/{project}/locations/{location}/modelMonitors/{model_monitor}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read", +"format": "google-fieldmask", +"location": "query", +"type": "string" } +}, +"path": "v1beta1/{+parent}/modelMonitoringJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelMonitoringJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } } }, @@ -26955,9 +27945,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.operations.cancel", +"id": "aiplatform.projects.locations.modelMonitors.operations.cancel", "parameterOrder": [ "name" ], @@ -26965,7 +27955,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -26981,9 +27971,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.models.operations.delete", +"id": "aiplatform.projects.locations.modelMonitors.operations.delete", "parameterOrder": [ "name" ], @@ -26991,7 +27981,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -27006,9 +27996,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.models.operations.get", +"id": "aiplatform.projects.locations.modelMonitors.operations.get", "parameterOrder": [ "name" ], @@ -27016,7 +28006,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -27032,9 +28022,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.models.operations.list", +"id": "aiplatform.projects.locations.modelMonitors.operations.list", "parameterOrder": [ "name" ], @@ -27047,7 +28037,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+$", "required": true, "type": "string" }, @@ -27079,9 +28069,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.models.operations.wait", +"id": "aiplatform.projects.locations.modelMonitors.operations.wait", "parameterOrder": [ "name" ], @@ -27089,7 +28079,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -27113,495 +28103,564 @@ } } }, -"monitoredAgents": { +"models": { "methods": { -"clearTrainingData": { -"description": "Clears (purges) the trained model artifacts derived from a MonitoredAgent's data. The purged model is rebuilt by the next scheduled training run. To clear every MonitoredAgent in a location's scope, use the `-` wildcard agent segment for the name field: `projects/{project}/locations/{location}/monitoredAgents/-` This is the on-demand data-deletion path for customers who have deleted the underlying logs / observability data a model was trained on. It deletes only the derived model artifacts in the tenant project (it does NOT delete the scope, tenant project, or monitoring). To stop monitoring an agent entirely, disable it via DisableMonitoredAgent. See go/aad-clear-training-data.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}:clearTrainingData", +"copy": { +"description": "Copies an already existing Vertex AI Model into the specified Location. The source Model must exist in the same Project. When copying custom Models, the users themselves are responsible for Model.metadata content to be region-agnostic, as well as making sure that any resources (e.g. files) it depends on remain accessible.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models:copy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.monitoredAgents.clearTrainingData", +"id": "aiplatform.projects.locations.models.copy", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The MonitoredAgent whose trained model artifacts to purge. Use the `-` wildcard agent segment to purge every MonitoredAgent in the scope. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", +"parent": { +"description": "Required. The resource name of the Location into which to copy the Model. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:clearTrainingData", +"path": "v1beta1/{+parent}/models:copy", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ClearTrainingDataRequest" +"$ref": "GoogleCloudAiplatformV1beta1CopyModelRequest" }, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"disable": { -"description": "Disables a specific MonitoredAgent.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}:disable", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.monitoredAgents.disable", +"delete": { +"description": "Deletes a Model. A model cannot be deleted if any Endpoint resource has a DeployedModel based on the model in its deployed_models field.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the MonitoredAgent resource to be disabled. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", +"description": "Required. The name of the Model resource to be deleted. Format: `projects/{project}/locations/{location}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:disable", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1DisableMonitoredAgentRequest" +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteVersion": { +"description": "Deletes a Model version. Model version can only be deleted if there are no DeployedModels created from it. Deleting the only version in the Model is not allowed. Use DeleteModel for deleting the Model instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:deleteVersion", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.deleteVersion", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the model version to be deleted, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} }, +"path": "v1beta1/{+name}:deleteVersion", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"enable": { -"description": "Enables a specific MonitoredAgent.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}:enable", +"export": { +"description": "Exports a trained, exportable Model to a location specified by the user. A Model is considered to be exportable if it has at least one supported export format.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:export", "httpMethod": "POST", -"id": "aiplatform.projects.locations.monitoredAgents.enable", +"id": "aiplatform.projects.locations.models.export", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the MonitoredAgent resource to be enabled. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", +"description": "Required. The resource name of the Model to export. The resource name may contain version id or version alias to specify the version, if no version is specified, the default version will be exported.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:enable", +"path": "v1beta1/{+name}:export", "request": { -"$ref": "GoogleCloudAiplatformV1beta1EnableMonitoredAgentRequest" +"$ref": "GoogleCloudAiplatformV1beta1ExportModelRequest" }, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets the details of a specific MonitoredAgent.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}", +"description": "Gets a Model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.monitoredAgents.get", +"id": "aiplatform.projects.locations.models.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the MonitoredAgent resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", +"description": "Required. The name of the Model resource. Format: `projects/{project}/locations/{location}/models/{model}` In order to retrieve a specific version of the model, also provide the version ID or version alias. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the \"default\" version will be returned. The \"default\" version alias is created for the first version of the model, and can be moved to other versions later on. There will be exactly one default version.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1MonitoredAgent" +"$ref": "GoogleCloudAiplatformV1beta1Model" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists MonitoredAgents in a specific Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.monitoredAgents.list", +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.getIamPolicy", "parameterOrder": [ -"parent" +"resource" ], "parameters": { -"filter": { -"description": "Optional. An AIP-160 filter, currently restricted to a single equality predicate on `state`. The value must be the exact, case-sensitive name of a `MonitoredAgent.EnablementState` value: `ACTIVE`, `DISABLED`, `ENABLING`, or `ENABLEMENT_STATE_UNSPECIFIED`. A blank or absent filter returns every MonitoredAgent in the parent regardless of state; any other value returns `INVALID_ARGUMENT`. Example: ``` state = ACTIVE ```", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The standard list page size. The maximum value is 100; values above 100 will be coerced to 100. If unspecified, at most 10 MonitoredAgents will be returned.", +"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" }, -"pageToken": { -"description": "Optional. The standard list page token.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Location to list the MonitoredAgents from. Format: `projects/{project}/locations/{location}`", +"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/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/monitoredAgents", +"path": "v1beta1/{+resource}:getIamPolicy", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMonitoredAgentsResponse" +"$ref": "GoogleIamV1Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"analyzedSessions": { -"methods": { -"aggregate": { -"description": "Aggregates AnalyzedSessions across MonitoredAgents. To aggregate across all MonitoredAgents in a location, use the following format for the parent field: `projects/{project}/locations/{location}/monitoredAgents/-`", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions:aggregate", +"list": { +"description": "Lists Models in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models", "httpMethod": "GET", -"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.aggregate", +"id": "aiplatform.projects.locations.models.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. Filter expression restricting which AnalyzedSessions are included in the aggregation. Supports a subset of the `ListAnalyzedSessionsRequest.filter` grammar: a closed `detection_time` window with both bounds required. The `severity` clause is not supported here. If empty, the aggregation covers the last 3 days. Example: ``` detection_time >= \"2024-01-01T00:00:00Z\" AND detection_time <= \"2024-01-08T00:00:00Z\" ```", +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `model` supports = and !=. `model` represents the Model ID, i.e. the last segment of the Model's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `base_model_name` only supports = Some examples: * `model=1234` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `baseModelName=\"text-bison\"`", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size. The maximum value is 100; values above 100 will be coerced to 100. If unspecified, at most 10 MonitoredAgents will be returned.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "The standard list page token. Typically obtained via ListModelsResponse.next_page_token of the previous ModelService.ListModels call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent MonitoredAgent resource. Use the `-` wildcard for the monitored_agent segment to aggregate across multiple agents in the location. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", +"description": "Required. The resource name of the Location to list the Models from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/analyzedSessions:aggregate", +"path": "v1beta1/{+parent}/models", "response": { -"$ref": "GoogleCloudAiplatformV1beta1AggregateAnalyzedSessionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListModelsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the details of a specific AnalyzedSession.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions/{analyzedSessionsId}", +"listCheckpoints": { +"description": "Lists checkpoints of the specified model version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listCheckpoints", "httpMethod": "GET", -"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.get", +"id": "aiplatform.projects.locations.models.listCheckpoints", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the AnalyzedSession resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}/analyzedSessions/{analyzed_session}`", +"description": "Required. The name of the model version to list checkpoints for. `projects/{project}/locations/{location}/models/{model}@{version}` Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the latest version will be used.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+/analyzedSessions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" }, -"view": { -"description": "Optional. Resource view to control which fields are returned.", -"enum": [ -"ANALYZED_SESSION_VIEW_UNSPECIFIED", -"ANALYZED_SESSION_VIEW_BASIC", -"ANALYZED_SESSION_VIEW_FULL" -], -"enumDescriptions": [ -"The default view: BASIC.", -"Basic view includes only the fields needed for the list table (name, session_id, created_time, severity counts).", -"Full view includes all fields, including the detailed assessment." -], +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via next_page_token of the previous ListModelVersionCheckpoints call.", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:listCheckpoints", "response": { -"$ref": "GoogleCloudAiplatformV1beta1AnalyzedSession" +"$ref": "GoogleCloudAiplatformV1beta1ListModelVersionCheckpointsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists AnalyzedSessions in a MonitoredAgent.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions", +"listVersions": { +"description": "Lists versions of the specified model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listVersions", "httpMethod": "GET", -"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.list", +"id": "aiplatform.projects.locations.models.listVersions", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Optional. Filter expression restricting which AnalyzedSessions are returned. Supports a subset of AIP-160: a closed `detection_time` window (both bounds required), an equality on `severity`, an equality on `agent_type`, and an equality on `session_id`, joined by `AND`. Each clause is optional, may appear at most once, and may appear in any order. The `severity` value is the **canonical** `Severity` enum name -- `SEVERITY_CRITICAL`, `SEVERITY_HIGH`, `SEVERITY_MEDIUM` or `SEVERITY_LOW`. Short forms such as `\"CRITICAL\"` are rejected, as is `SEVERITY_UNSPECIFIED`. It matches sessions whose *maximum* severity equals that bucket: a session that fires at both LOW and CRITICAL matches `severity = \"SEVERITY_CRITICAL\"`, not `severity = \"SEVERITY_LOW\"`. The `agent_type` value is the canonical `AgentResource.AgentType` enum name -- `REASONING_ENGINE`, `CLOUD_RUN_SERVICE`, `GKE_WORKLOAD`, `GCE_INSTANCE`, `AGENT_TYPE_OTHER` or `AGENT_TYPE_UNSPECIFIED` -- and matches sessions run by an agent on that runtime. Unlike `severity`, `agent_type` accepts its `UNSPECIFIED` value. The two are not analogous: a session always has a computed severity bucket, so `SEVERITY_UNSPECIFIED` is never returned and filtering on it could only match nothing. `AGENT_TYPE_UNSPECIFIED` *is* returned -- it is what `AnalyzedSession.agent_type` reports for an agent whose runtime was never recorded -- so it must remain filterable. The `session_id` value is a case-sensitive exact match (no substring or prefix matching) on `AnalyzedSession.session_id`. Unlike `severity` and `agent_type` it is not a closed enum, so any non-empty value is accepted; an empty value (`session_id = \"\"`) is rejected rather than treated as \"no filter\". Example (time window, severity and runtime): ``` detection_time >= \"2024-01-01T00:00:00Z\" AND detection_time <= \"2024-01-08T00:00:00Z\" AND severity = \"SEVERITY_CRITICAL\" AND agent_type = \"CLOUD_RUN_SERVICE\" ``` If empty, results are restricted to the last 7 days with no severity, runtime, or session restriction. Other fields, additional operators, set membership (`IN`), and boolean combinations (`OR`, `NOT`, parentheses) are not yet supported.", +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `labels.myKey=\"myValue\"`", "location": "query", "type": "string" }, +"name": { +"description": "Required. The name of the model to list versions for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, "orderBy": { -"description": "Optional. Comma-separated list of fields to sort by, following AIP-132 syntax. The default sort direction is ascending; append \" desc\" to a field to sort descending. Supported fields (any other field yields INVALID_ARGUMENT): * `latest_detection_time` - the session's most-recent flagged detection time. `latest_detection_time desc` puts the newest sessions first. * `max_severity_rank` - the session's bucketed maximum severity, ranked LOW=1 < MEDIUM=2 < HIGH=3 < CRITICAL=4. `max_severity_rank desc` puts the most-severe sessions first. * `agent_display_name` - the MonitoredAgent's display name. Sorted as a STRING (case-sensitive, code-point order). If empty, defaults to `latest_detection_time desc`. Multi-field sort (for example, `max_severity_rank desc, latest_detection_time desc`) is supported. The `order_by` value MUST match the value used on the call that minted any supplied `page_token` (AIP-158). Mismatches yield INVALID_ARGUMENT.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `update_time asc, create_time desc`.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of analyzed sessions to return.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. A page token, received from a previous `ListAnalyzedSessions` call.", +"description": "The standard list page token. Typically obtained via next_page_token of the previous ListModelVersions call.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The parent MonitoredAgent resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", -"required": true, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", "type": "string" +} }, -"view": { -"description": "Optional. Resource view to control which fields are returned.", -"enum": [ -"ANALYZED_SESSION_VIEW_UNSPECIFIED", -"ANALYZED_SESSION_VIEW_BASIC", -"ANALYZED_SESSION_VIEW_FULL" -], -"enumDescriptions": [ -"The default view: BASIC.", -"Basic view includes only the fields needed for the list table (name, session_id, created_time, severity counts).", -"Full view includes all fields, including the detailed assessment." +"path": "v1beta1/{+name}:listVersions", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListModelVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"mergeVersionAliases": { +"description": "Merges a set of aliases for a Model version.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:mergeVersionAliases", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.mergeVersionAliases", +"parameterOrder": [ +"name" ], -"location": "query", +"parameters": { +"name": { +"description": "Required. The name of the model version to merge aliases, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/analyzedSessions", +"path": "v1beta1/{+name}:mergeVersionAliases", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1MergeVersionAliasesRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListAnalyzedSessionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1Model" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"analyzedInvocations": { -"methods": { -"get": { -"description": "Gets the details of a specific AnalyzedInvocation.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions/{analyzedSessionsId}/analyzedInvocations/{analyzedInvocationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.analyzedInvocations.get", +"patch": { +"description": "Updates a Model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.models.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the AnalyzedInvocation resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}/analyzedSessions/{analyzed_session}/analyzedInvocations/{analyzed_invocation}`", +"description": "Identifier. The resource name of the Model.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+/analyzedSessions/[^/]+/analyzedInvocations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Model" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1AnalyzedInvocation" +"$ref": "GoogleCloudAiplatformV1beta1Model" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists AnalyzedInvocations in a MonitoredAgent's AnalyzedSession.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions/{analyzedSessionsId}/analyzedInvocations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.analyzedInvocations.list", +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.setIamPolicy", "parameterOrder": [ -"parent" +"resource" ], "parameters": { -"pageSize": { -"description": "Optional. The maximum number of analyzed invocations to return.", -"format": "int32", -"location": "query", -"type": "integer" +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} }, -"pageToken": { -"description": "Optional. A page token, received from a previous `ListAnalyzedInvocations` call.", +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "location": "query", +"repeated": true, "type": "string" }, -"parent": { -"description": "Required. The parent AnalyzedSession resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}/analyzedSessions/{analyzed_session}`", +"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/[^/]+/monitoredAgents/[^/]+/analyzedSessions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/analyzedInvocations", +"path": "v1beta1/{+resource}:testIamPermissions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListAnalyzedInvocationsResponse" +"$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} -} -} }, -"nasJobs": { -"methods": { -"cancel": { -"description": "Cancels a NasJob. Starts asynchronous cancellation on the NasJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetNasJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the NasJob is not deleted; instead it becomes a job with a NasJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and NasJob.state is set to `CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}:cancel", +"updateExplanationDataset": { +"description": "Incrementally update the dataset used for an examples model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:updateExplanationDataset", "httpMethod": "POST", -"id": "aiplatform.projects.locations.nasJobs.cancel", +"id": "aiplatform.projects.locations.models.updateExplanationDataset", "parameterOrder": [ -"name" +"model" ], "parameters": { -"name": { -"description": "Required. The name of the NasJob to cancel. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"model": { +"description": "Required. The resource name of the Model to update. Format: `projects/{project}/locations/{location}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+model}:updateExplanationDataset", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelNasJobRequest" +"$ref": "GoogleCloudAiplatformV1beta1UpdateExplanationDatasetRequest" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates a NasJob", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs", +"upload": { +"description": "Uploads a Model artifact into Vertex AI.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models:upload", "httpMethod": "POST", -"id": "aiplatform.projects.locations.nasJobs.create", +"id": "aiplatform.projects.locations.models.upload", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location to create the NasJob in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location into which to upload the Model. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/nasJobs", +"path": "v1beta1/{+parent}/models:upload", "request": { -"$ref": "GoogleCloudAiplatformV1beta1NasJob" +"$ref": "GoogleCloudAiplatformV1beta1UploadModelRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1NasJob" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"delete": { -"description": "Deletes a NasJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.nasJobs.delete", +"resources": { +"evaluations": { +"methods": { +"get": { +"description": "Gets a ModelEvaluation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NasJob resource to be deleted. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"description": "Required. The name of the ModelEvaluation resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a NasJob", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.nasJobs.get", +"import": { +"description": "Imports an externally generated ModelEvaluation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.import", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"parent": { +"description": "Required. The name of the parent model resource. Format: `projects/{project}/locations/{location}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/evaluations:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportModelEvaluationRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1NasJob" +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists NasJobs in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs", +"description": "Lists ModelEvaluations in a Model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.nasJobs.list", +"id": "aiplatform.projects.locations.models.evaluations.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"description": "The standard list filter.", "location": "query", "type": "string" }, @@ -27612,14 +28671,14 @@ "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained via ListNasJobsResponse.next_page_token of the previous JobService.ListNasJobs call.", +"description": "The standard list page token. Typically obtained via ListModelEvaluationsResponse.next_page_token of the previous ModelService.ListModelEvaluations call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the NasJobs from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Model to list the ModelEvaluations from. Format: `projects/{project}/locations/{location}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" }, @@ -27630,309 +28689,293 @@ "type": "string" } }, -"path": "v1beta1/{+parent}/nasJobs", +"path": "v1beta1/{+parent}/evaluations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListNasJobsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListModelEvaluationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } }, "resources": { -"nasTrialDetails": { +"operations": { "methods": { -"get": { -"description": "Gets a NasTrialDetail.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails/{nasTrialDetailsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.get", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NasTrialDetail resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_trial_detail}`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+/nasTrialDetails/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1NasTrialDetail" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "List top NasTrialDetails of a NasJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.list", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.evaluations.operations.delete", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token. Typically obtained via ListNasTrialDetailsResponse.next_page_token of the previous JobService.ListNasTrialDetails call.", -"location": "query", +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, "type": "string" +} }, -"parent": { -"description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/nasTrialDetails", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListNasTrialDetailsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"notebookExecutionJobs": { -"methods": { -"create": { -"description": "Creates a NotebookExecutionJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookExecutionJobs.create", +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"notebookExecutionJobId": { -"description": "Optional. User specified ID for the NotebookExecutionJob.", +"filter": { +"description": "The standard list filter.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+parent}/notebookExecutionJobs", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob" +"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": "GoogleLongrunningOperation" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a NotebookExecutionJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.notebookExecutionJobs.delete", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.operations.wait", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NotebookExecutionJob resource to be deleted.", +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", "required": true, "type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:wait", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"generateAccessToken": { -"description": "Internal only: Called from Compute Engine instance to obtain EUC for owner Anonymous access: authenticates caller using VM identity JWT. Design doc: go/colab-on-vertex-euc-dd", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}:generateAccessToken", +"slices": { +"methods": { +"batchImport": { +"description": "Imports a list of externally generated EvaluatedAnnotations.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}:batchImport", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookExecutionJobs.generateAccessToken", +"id": "aiplatform.projects.locations.models.evaluations.slices.batchImport", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the resource requesting the OAuth2 token. Format: `projects/{project}/locations/{location}/notebookRuntimes/{notebook_runtime}` `projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_job}`", +"parent": { +"description": "Required. The name of the parent ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:generateAccessToken", +"path": "v1beta1/{+parent}:batchImport", "request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateAccessTokenRequest" +"$ref": "GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateAccessTokenResponse" +"$ref": "GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a NotebookExecutionJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}", +"description": "Gets a ModelEvaluationSlice.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookExecutionJobs.get", +"id": "aiplatform.projects.locations.models.evaluations.slices.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NotebookExecutionJob resource.", +"description": "Required. The name of the ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$", "required": true, "type": "string" -}, -"view": { -"description": "Optional. The NotebookExecutionJob view. Defaults to BASIC.", -"enum": [ -"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", -"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", -"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" -], -"enumDescriptions": [ -"When unspecified, the API defaults to the BASIC view.", -"Includes all fields except for direct notebook inputs.", -"Includes all fields." -], -"location": "query", -"type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob" +"$ref": "GoogleCloudAiplatformV1beta1ModelEvaluationSlice" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists NotebookExecutionJobs in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs", +"description": "Lists ModelEvaluationSlices in a ModelEvaluation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookExecutionJobs.list", +"id": "aiplatform.projects.locations.models.evaluations.slices.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookExecutionJob` supports = and !=. `notebookExecutionJob` represents the NotebookExecutionJob ID. * `displayName` supports = and != and regex. * `schedule` supports = and != and regex. Some examples: * `notebookExecutionJob=\"123\"` * `notebookExecutionJob=\"my-execution-job\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"`", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"description": "The standard list filter. * `slice.dimension` - for =.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobsResponse.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call.", +"description": "The standard list page token. Typically obtained via ListModelEvaluationSlicesResponse.next_page_token of the previous ModelService.ListModelEvaluationSlices call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location from which to list the NotebookExecutionJobs. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices from. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", "required": true, "type": "string" }, -"view": { -"description": "Optional. The NotebookExecutionJob view. Defaults to BASIC.", -"enum": [ -"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", -"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", -"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" -], -"enumDescriptions": [ -"When unspecified, the API defaults to the BASIC view.", -"Includes all fields except for direct notebook inputs.", -"Includes all fields." -], -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+parent}/notebookExecutionJobs", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListNotebookExecutionJobsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"reportEvent": { -"description": "", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}:reportEvent", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookExecutionJobs.reportEvent", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the NotebookExecutionJob resource. Format: `projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_jobs}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", -"required": true, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:reportEvent", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ReportExecutionEventRequest" -}, +"path": "v1beta1/{+parent}/slices", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ReportExecutionEventResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListModelEvaluationSlicesResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } +} +} +} }, -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel", +"id": "aiplatform.projects.locations.models.operations.cancel", "parameterOrder": [ "name" ], @@ -27940,7 +28983,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -27956,9 +28999,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.delete", +"id": "aiplatform.projects.locations.models.operations.delete", "parameterOrder": [ "name" ], @@ -27966,7 +29009,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -27981,9 +29024,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.get", +"id": "aiplatform.projects.locations.models.operations.get", "parameterOrder": [ "name" ], @@ -27991,7 +29034,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -28007,9 +29050,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.list", +"id": "aiplatform.projects.locations.models.operations.list", "parameterOrder": [ "name" ], @@ -28022,7 +29065,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", "required": true, "type": "string" }, @@ -28054,9 +29097,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.wait", +"id": "aiplatform.projects.locations.models.operations.wait", "parameterOrder": [ "name" ], @@ -28064,7 +29107,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -28088,33 +29131,56 @@ } } }, -"notebookRuntimeTemplates": { +"monitoredAgents": { "methods": { -"create": { -"description": "Creates a NotebookRuntimeTemplate.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates", +"clearTrainingData": { +"description": "Clears (purges) the trained model artifacts derived from a MonitoredAgent's data. The purged model is rebuilt by the next scheduled training run. To clear every MonitoredAgent in a location's scope, use the `-` wildcard agent segment for the name field: `projects/{project}/locations/{location}/monitoredAgents/-` This is the on-demand data-deletion path for customers who have deleted the underlying logs / observability data a model was trained on. It deletes only the derived model artifacts in the tenant project (it does NOT delete the scope, tenant project, or monitoring). To stop monitoring an agent entirely, disable it via DisableMonitoredAgent. See go/aad-clear-training-data.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}:clearTrainingData", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.create", +"id": "aiplatform.projects.locations.monitoredAgents.clearTrainingData", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"notebookRuntimeTemplateId": { -"description": "Optional. User specified ID for the notebook runtime template.", -"location": "query", +"name": { +"description": "Required. The MonitoredAgent whose trained model artifacts to purge. Use the `-` wildcard agent segment to purge every MonitoredAgent in the scope. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", +"required": true, "type": "string" +} }, -"parent": { -"description": "Required. The resource name of the Location to create the NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}`", +"path": "v1beta1/{+name}:clearTrainingData", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ClearTrainingDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disable": { +"description": "Disables a specific MonitoredAgent.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}:disable", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.monitoredAgents.disable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the MonitoredAgent resource to be disabled. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/notebookRuntimeTemplates", +"path": "v1beta1/{+name}:disable", "request": { -"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" +"$ref": "GoogleCloudAiplatformV1beta1DisableMonitoredAgentRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -28123,24 +29189,27 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a NotebookRuntimeTemplate.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.delete", +"enable": { +"description": "Enables a specific MonitoredAgent.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}:enable", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.monitoredAgents.enable", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NotebookRuntimeTemplate resource to be deleted. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", +"description": "Required. The name of the MonitoredAgent resource to be enabled. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:enable", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EnableMonitoredAgentRequest" +}, "response": { "$ref": "GoogleLongrunningOperation" }, @@ -28149,308 +29218,411 @@ ] }, "get": { -"description": "Gets a NotebookRuntimeTemplate.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"description": "Gets the details of a specific MonitoredAgent.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.get", +"id": "aiplatform.projects.locations.monitoredAgents.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NotebookRuntimeTemplate resource. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", +"description": "Required. The name of the MonitoredAgent resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" +"$ref": "GoogleCloudAiplatformV1beta1MonitoredAgent" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"getIamPolicy": { -"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:getIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy", +"list": { +"description": "Lists MonitoredAgents in a specific Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.monitoredAgents.list", "parameterOrder": [ -"resource" +"parent" ], "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).", +"filter": { +"description": "Optional. An AIP-160 filter, currently restricted to a single equality predicate on `state`. The value must be the exact, case-sensitive name of a `MonitoredAgent.EnablementState` value: `ACTIVE`, `DISABLED`, `ENABLING`, or `ENABLEMENT_STATE_UNSPECIFIED`. A blank or absent filter returns every MonitoredAgent in the parent regardless of state; any other value returns `INVALID_ARGUMENT`. Example: ``` state = ACTIVE ```", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size. The maximum value is 100; values above 100 will be coerced to 100. If unspecified, at most 10 MonitoredAgents will be returned.", "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.", +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the MonitoredAgents from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:getIamPolicy", +"path": "v1beta1/{+parent}/monitoredAgents", "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleCloudAiplatformV1beta1ListMonitoredAgentsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"list": { -"description": "Lists NotebookRuntimeTemplates in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates", +"resources": { +"analyzedSessions": { +"methods": { +"aggregate": { +"description": "Aggregates AnalyzedSessions across MonitoredAgents. To aggregate across all MonitoredAgents in a location, use the following format for the parent field: `projects/{project}/locations/{location}/monitoredAgents/-`", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions:aggregate", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.list", +"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.aggregate", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"description": "Optional. Filter expression restricting which AnalyzedSessions are included in the aggregation. Supports a subset of the `ListAnalyzedSessionsRequest.filter` grammar: a closed `detection_time` window with both bounds required. The `severity` clause is not supported here. If empty, the aggregation covers the last 3 days. Example: ``` detection_time >= \"2024-01-01T00:00:00Z\" AND detection_time <= \"2024-01-08T00:00:00Z\" ```", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "Optional. The standard list page size. The maximum value is 100; values above 100 will be coerced to 100. If unspecified, at most 10 MonitoredAgents will be returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimeTemplatesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimeTemplates call.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location from which to list the NotebookRuntimeTemplates. Format: `projects/{project}/locations/{location}`", +"description": "Required. The parent MonitoredAgent resource. Use the `-` wildcard for the monitored_agent segment to aggregate across multiple agents in the location. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Optional. Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/notebookRuntimeTemplates", +"path": "v1beta1/{+parent}/analyzedSessions:aggregate", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListNotebookRuntimeTemplatesResponse" +"$ref": "GoogleCloudAiplatformV1beta1AggregateAnalyzedSessionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a NotebookRuntimeTemplate.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.patch", +"get": { +"description": "Gets the details of a specific AnalyzedSession.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions/{analyzedSessionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The resource name of the NotebookRuntimeTemplate.", +"description": "Required. The name of the AnalyzedSession resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}/analyzedSessions/{analyzed_session}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+/analyzedSessions/[^/]+$", "required": true, "type": "string" }, -"updateMask": { -"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Input format: `{paths: \"${updated_field}\"}` Updatable fields: * `encryption_spec.kms_key_name` * `display_name` * `software_config.post_startup_script_config.post_startup_script` * `software_config.post_startup_script_config.post_startup_script_url` * `software_config.post_startup_script_config.post_startup_script_behavior` * `software_config.env` * `software_config.colab_image.release_name` * `software_config.custom_container_config.image_uri`", -"format": "google-fieldmask", +"view": { +"description": "Optional. Resource view to control which fields are returned.", +"enum": [ +"ANALYZED_SESSION_VIEW_UNSPECIFIED", +"ANALYZED_SESSION_VIEW_BASIC", +"ANALYZED_SESSION_VIEW_FULL" +], +"enumDescriptions": [ +"The default view: BASIC.", +"Basic view includes only the fields needed for the list table (name, session_id, created_time, severity counts).", +"Full view includes all fields, including the detailed assessment." +], "location": "query", "type": "string" } }, "path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" -}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" +"$ref": "GoogleCloudAiplatformV1beta1AnalyzedSession" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"setIamPolicy": { -"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:setIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy", +"list": { +"description": "Lists AnalyzedSessions in a MonitoredAgent.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.list", "parameterOrder": [ -"resource" +"parent" ], "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.", +"filter": { +"description": "Optional. Filter expression restricting which AnalyzedSessions are returned. Supports a subset of AIP-160: a closed `detection_time` window (both bounds required), an equality on `severity`, an equality on `agent_type`, and an equality on `session_id`, joined by `AND`. Each clause is optional, may appear at most once, and may appear in any order. The `severity` value is the **canonical** `Severity` enum name -- `SEVERITY_CRITICAL`, `SEVERITY_HIGH`, `SEVERITY_MEDIUM` or `SEVERITY_LOW`. Short forms such as `\"CRITICAL\"` are rejected, as is `SEVERITY_UNSPECIFIED`. It matches sessions whose *maximum* severity equals that bucket: a session that fires at both LOW and CRITICAL matches `severity = \"SEVERITY_CRITICAL\"`, not `severity = \"SEVERITY_LOW\"`. The `agent_type` value is the canonical `AgentResource.AgentType` enum name -- `REASONING_ENGINE`, `CLOUD_RUN_SERVICE`, `GKE_WORKLOAD`, `GCE_INSTANCE`, `AGENT_TYPE_OTHER` or `AGENT_TYPE_UNSPECIFIED` -- and matches sessions run by an agent on that runtime. Unlike `severity`, `agent_type` accepts its `UNSPECIFIED` value. The two are not analogous: a session always has a computed severity bucket, so `SEVERITY_UNSPECIFIED` is never returned and filtering on it could only match nothing. `AGENT_TYPE_UNSPECIFIED` *is* returned -- it is what `AnalyzedSession.agent_type` reports for an agent whose runtime was never recorded -- so it must remain filterable. The `session_id` value is a case-sensitive exact match (no substring or prefix matching) on `AnalyzedSession.session_id`. Unlike `severity` and `agent_type` it is not a closed enum, so any non-empty value is accepted; an empty value (`session_id = \"\"`) is rejected rather than treated as \"no filter\". Example (time window, severity and runtime): ``` detection_time >= \"2024-01-01T00:00:00Z\" AND detection_time <= \"2024-01-08T00:00:00Z\" AND severity = \"SEVERITY_CRITICAL\" AND agent_type = \"CLOUD_RUN_SERVICE\" ``` If empty, results are restricted to the last 7 days with no severity, runtime, or session restriction. Other fields, additional operators, set membership (`IN`), and boolean combinations (`OR`, `NOT`, parentheses) are not yet supported.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Comma-separated list of fields to sort by, following AIP-132 syntax. The default sort direction is ascending; append \" desc\" to a field to sort descending. Supported fields (any other field yields INVALID_ARGUMENT): * `latest_detection_time` - the session's most-recent flagged detection time. `latest_detection_time desc` puts the newest sessions first. * `max_severity_rank` - the session's bucketed maximum severity, ranked LOW=1 < MEDIUM=2 < HIGH=3 < CRITICAL=4. `max_severity_rank desc` puts the most-severe sessions first. * `agent_display_name` - the MonitoredAgent's display name. Sorted as a STRING (case-sensitive, code-point order). If empty, defaults to `latest_detection_time desc`. Multi-field sort (for example, `max_severity_rank desc, latest_detection_time desc`) is supported. The `order_by` value MUST match the value used on the call that minted any supplied `page_token` (AIP-158). Mismatches yield INVALID_ARGUMENT.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of analyzed sessions to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAnalyzedSessions` call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent MonitoredAgent resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$", "required": true, "type": "string" +}, +"view": { +"description": "Optional. Resource view to control which fields are returned.", +"enum": [ +"ANALYZED_SESSION_VIEW_UNSPECIFIED", +"ANALYZED_SESSION_VIEW_BASIC", +"ANALYZED_SESSION_VIEW_FULL" +], +"enumDescriptions": [ +"The default view: BASIC.", +"Basic view includes only the fields needed for the list table (name, session_id, created_time, severity counts).", +"Full view includes all fields, including the detailed assessment." +], +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+resource}:setIamPolicy", -"request": { -"$ref": "GoogleIamV1SetIamPolicyRequest" +"path": "v1beta1/{+parent}/analyzedSessions", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListAnalyzedSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"analyzedInvocations": { +"methods": { +"get": { +"description": "Gets the details of a specific AnalyzedInvocation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions/{analyzedSessionsId}/analyzedInvocations/{analyzedInvocationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.analyzedInvocations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the AnalyzedInvocation resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}/analyzedSessions/{analyzed_session}/analyzedInvocations/{analyzed_invocation}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+/analyzedSessions/[^/]+/analyzedInvocations/[^/]+$", +"required": true, +"type": "string" +} }, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleCloudAiplatformV1beta1AnalyzedInvocation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"testIamPermissions": { -"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:testIamPermissions", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions", +"list": { +"description": "Lists AnalyzedInvocations in a MonitoredAgent's AnalyzedSession.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}/analyzedSessions/{analyzedSessionsId}/analyzedInvocations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.monitoredAgents.analyzedSessions.analyzedInvocations.list", "parameterOrder": [ -"resource" +"parent" ], "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).", +"pageSize": { +"description": "Optional. The maximum number of analyzed invocations to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAnalyzedInvocations` call.", "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.", +"parent": { +"description": "Required. The parent AnalyzedSession resource. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}/analyzedSessions/{analyzed_session}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+/analyzedSessions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:testIamPermissions", +"path": "v1beta1/{+parent}/analyzedInvocations", "response": { -"$ref": "GoogleIamV1TestIamPermissionsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListAnalyzedInvocationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } +} +} +} +} +} }, -"resources": { -"operations": { +"nasJobs": { "methods": { "cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel", +"description": "Cancels a NasJob. Starts asynchronous cancellation on the NasJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetNasJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the NasJob is not deleted; instead it becomes a job with a NasJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and NasJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel", +"id": "aiplatform.projects.locations.nasJobs.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The name of the NasJob to cancel. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelNasJobRequest" +}, "response": { "$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a NasJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.nasJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the NasJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/nasJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1NasJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NasJob" +}, +"scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", +"description": "Deletes a NasJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete", +"id": "aiplatform.projects.locations.nasJobs.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the NasJob resource to be deleted. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", +"description": "Gets a NasJob", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.get", +"id": "aiplatform.projects.locations.nasJobs.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1NasJob" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations", +"description": "Lists NasJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.list", +"id": "aiplatform.projects.locations.nasJobs.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { "description": "The standard list page size.", "format": "int32", @@ -28458,54 +29630,94 @@ "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "The standard list page token. Typically obtained via ListNasJobsResponse.next_page_token of the previous JobService.ListNasJobs call.", "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.", +"parent": { +"description": "Required. The resource name of the Location to list the NasJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", "location": "query", -"type": "boolean" +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/nasJobs", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListNasJobsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait", +"resources": { +"nasTrialDetails": { +"methods": { +"get": { +"description": "Gets a NasTrialDetail.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails/{nasTrialDetailsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Required. The name of the NasTrialDetail resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_trial_detail}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+/nasTrialDetails/[^/]+$", "required": true, "type": "string" +} }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1NasTrialDetail" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List top NasTrialDetails of a NasJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListNasTrialDetailsResponse.next_page_token of the previous JobService.ListNasTrialDetails call.", "location": "query", "type": "string" +}, +"parent": { +"description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+parent}/nasTrialDetails", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListNasTrialDetailsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -28513,28 +29725,33 @@ } } }, -"notebookRuntimes": { +"notebookExecutionJobs": { "methods": { -"assign": { -"description": "Assigns a NotebookRuntime to a user for a particular Notebook file. This method will either returns an existing assignment or generates a new one.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes:assign", +"create": { +"description": "Creates a NotebookExecutionJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimes.assign", +"id": "aiplatform.projects.locations.notebookExecutionJobs.create", "parameterOrder": [ "parent" ], "parameters": { +"notebookExecutionJobId": { +"description": "Optional. User specified ID for the NotebookExecutionJob.", +"location": "query", +"type": "string" +}, "parent": { -"description": "Required. The resource name of the Location to get the NotebookRuntime assignment. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/notebookRuntimes:assign", +"path": "v1beta1/{+parent}/notebookExecutionJobs", "request": { -"$ref": "GoogleCloudAiplatformV1beta1AssignNotebookRuntimeRequest" +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -28544,18 +29761,18 @@ ] }, "delete": { -"description": "Deletes a NotebookRuntime.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}", +"description": "Deletes a NotebookExecutionJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.notebookRuntimes.delete", +"id": "aiplatform.projects.locations.notebookExecutionJobs.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NotebookRuntime resource to be deleted. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"description": "Required. The name of the NotebookExecutionJob resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", "required": true, "type": "string" } @@ -28570,9 +29787,9 @@ }, "generateAccessToken": { "description": "Internal only: Called from Compute Engine instance to obtain EUC for owner Anonymous access: authenticates caller using VM identity JWT. Design doc: go/colab-on-vertex-euc-dd", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:generateAccessToken", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}:generateAccessToken", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimes.generateAccessToken", +"id": "aiplatform.projects.locations.notebookExecutionJobs.generateAccessToken", "parameterOrder": [ "name" ], @@ -28580,7 +29797,7 @@ "name": { "description": "Required. The name of the resource requesting the OAuth2 token. Format: `projects/{project}/locations/{location}/notebookRuntimes/{notebook_runtime}` `projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", "required": true, "type": "string" } @@ -28597,41 +29814,56 @@ ] }, "get": { -"description": "Gets a NotebookRuntime.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}", +"description": "Gets a NotebookExecutionJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookRuntimes.get", +"id": "aiplatform.projects.locations.notebookExecutionJobs.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NotebookRuntime resource. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"description": "Required. The name of the NotebookExecutionJob resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", "required": true, "type": "string" +}, +"view": { +"description": "Optional. The NotebookExecutionJob view. Defaults to BASIC.", +"enum": [ +"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", +"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", +"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" +], +"enumDescriptions": [ +"When unspecified, the API defaults to the BASIC view.", +"Includes all fields except for direct notebook inputs.", +"Includes all fields." +], +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntime" +"$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists NotebookRuntimes in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes", +"description": "Lists NotebookExecutionJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookRuntimes.list", +"id": "aiplatform.projects.locations.notebookExecutionJobs.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntime=\"notebookRuntime123\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"` * `notebookRuntimeTemplate=\"notebookRuntimeTemplate321\"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser=\"test@google.com\"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookExecutionJob` supports = and !=. `notebookExecutionJob` represents the NotebookExecutionJob ID. * `displayName` supports = and != and regex. * `schedule` supports = and != and regex. Some examples: * `notebookExecutionJob=\"123\"` * `notebookExecutionJob=\"my-execution-job\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"`", "location": "query", "type": "string" }, @@ -28647,27 +29879,36 @@ "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimes call.", +"description": "Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobsResponse.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location from which to list the NotebookRuntimes. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the NotebookExecutionJobs. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, -"readMask": { -"description": "Optional. Mask specifying which fields to read.", -"format": "google-fieldmask", +"view": { +"description": "Optional. The NotebookExecutionJob view. Defaults to BASIC.", +"enum": [ +"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", +"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", +"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" +], +"enumDescriptions": [ +"When unspecified, the API defaults to the BASIC view.", +"Includes all fields except for direct notebook inputs.", +"Includes all fields." +], "location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/notebookRuntimes", +"path": "v1beta1/{+parent}/notebookExecutionJobs", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListNotebookRuntimesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListNotebookExecutionJobsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -28675,111 +29916,27 @@ }, "reportEvent": { "description": "", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:reportEvent", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}:reportEvent", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimes.reportEvent", +"id": "aiplatform.projects.locations.notebookExecutionJobs.reportEvent", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the NotebookRuntime resource. Format: `projects/{project}/locations/{location}/notebookRuntimes/{notebook_runtime}`", +"description": "Required. The name of the NotebookExecutionJob resource. Format: `projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_jobs}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}:reportEvent", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ReportRuntimeEventRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ReportRuntimeEventResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"start": { -"description": "Starts a NotebookRuntime.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:start", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimes.start", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the NotebookRuntime resource to be started. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:start", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StartNotebookRuntimeRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"stop": { -"description": "Stops a NotebookRuntime.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:stop", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimes.stop", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the NotebookRuntime resource to be stopped. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:stop", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"upgrade": { -"description": "Upgrades a NotebookRuntime.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:upgrade", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimes.upgrade", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the NotebookRuntime resource to be upgrade. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:upgrade", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1UpgradeNotebookRuntimeRequest" +"$ref": "GoogleCloudAiplatformV1beta1ReportExecutionEventRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ReportExecutionEventResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -28791,9 +29948,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimes.operations.cancel", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel", "parameterOrder": [ "name" ], @@ -28801,7 +29958,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -28817,9 +29974,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.notebookRuntimes.operations.delete", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.delete", "parameterOrder": [ "name" ], @@ -28827,7 +29984,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -28842,9 +29999,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookRuntimes.operations.get", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.get", "parameterOrder": [ "name" ], @@ -28852,7 +30009,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -28868,9 +30025,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.notebookRuntimes.operations.list", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.list", "parameterOrder": [ "name" ], @@ -28883,7 +30040,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", "required": true, "type": "string" }, @@ -28915,9 +30072,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.notebookRuntimes.operations.wait", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.wait", "parameterOrder": [ "name" ], @@ -28925,7 +30082,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -28949,28 +30106,33 @@ } } }, -"onlineEvaluators": { +"notebookRuntimeTemplates": { "methods": { -"activate": { -"description": "Activates an OnlineEvaluator.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}:activate", +"create": { +"description": "Creates a NotebookRuntimeTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates", "httpMethod": "POST", -"id": "aiplatform.projects.locations.onlineEvaluators.activate", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the OnlineEvaluator to activate. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", +"notebookRuntimeTemplateId": { +"description": "Optional. User specified ID for the notebook runtime template.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:activate", +"path": "v1beta1/{+parent}/notebookRuntimeTemplates", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ActivateOnlineEvaluatorRequest" +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -28979,27 +30141,24 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates an OnlineEvaluator in the given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.onlineEvaluators.create", +"delete": { +"description": "Deletes a NotebookRuntimeTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.delete", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The parent resource where the OnlineEvaluator will be created. Format: projects/{project}/locations/{location}.", +"name": { +"description": "Required. The name of the NotebookRuntimeTemplate resource to be deleted. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/onlineEvaluators", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1OnlineEvaluator" -}, +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleLongrunningOperation" }, @@ -29007,120 +30166,132 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes an OnlineEvaluator.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.onlineEvaluators.delete", +"get": { +"description": "Gets a NotebookRuntimeTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the OnlineEvaluator to delete. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", +"description": "Required. The name of the NotebookRuntimeTemplate resource. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets details of an OnlineEvaluator.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.onlineEvaluators.get", +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy", "parameterOrder": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "Required. The name of the OnlineEvaluator to retrieve. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", +"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/[^/]+/onlineEvaluators/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+resource}:getIamPolicy", "response": { -"$ref": "GoogleCloudAiplatformV1beta1OnlineEvaluator" +"$ref": "GoogleIamV1Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists the OnlineEvaluators for the given project and location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators", +"description": "Lists NotebookRuntimeTemplates in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates", "httpMethod": "GET", -"id": "aiplatform.projects.locations.onlineEvaluators.list", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. Standard list filter. Supported fields: * `create_time` * `update_time` * `agent_resource` Example: `create_time>\"2026-01-01T00:00:00-04:00\"` where the timestamp is in RFC 3339 format) Based on aip.dev/160.", +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. A comma-separated list of fields to order by. The default sorting order is ascending. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`. Based on aip.dev/132.", +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of OnlineEvaluators to return. The service may return fewer than this value. If unspecified, at most 100 OnlineEvaluators will be returned. The maximum value is 100; values above 100 will be coerced to 100. Based on aip.dev/158.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. A token identifying a page of results the server should return. Based on aip.dev/158.", +"description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimeTemplatesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimeTemplates call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent resource of the OnlineEvaluators to list. Format: projects/{project}/locations/{location}.", +"description": "Required. The resource name of the Location from which to list the NotebookRuntimeTemplates. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/onlineEvaluators", +"path": "v1beta1/{+parent}/notebookRuntimeTemplates", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListOnlineEvaluatorsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListNotebookRuntimeTemplatesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates the fields of an OnlineEvaluator.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}", +"description": "Updates a NotebookRuntimeTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.onlineEvaluators.patch", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name of the OnlineEvaluator. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", +"description": "The resource name of the NotebookRuntimeTemplate.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Input format: `{paths: \"${updated_field}\"}` Updatable fields: * `encryption_spec.kms_key_name` * `display_name` * `software_config.post_startup_script_config.post_startup_script` * `software_config.post_startup_script_config.post_startup_script_url` * `software_config.post_startup_script_config.post_startup_script_behavior` * `software_config.env` * `software_config.colab_image.release_name` * `software_config.custom_container_config.image_uri`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -29128,38 +30299,97 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1OnlineEvaluator" +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"suspend": { -"description": "Suspends an OnlineEvaluator. When an OnlineEvaluator is suspended, it won't run any evaluations until it is activated again.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}:suspend", +"setDefault": { +"description": "Sets the default NotebookRuntimeTemplate for a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates:setDefault", "httpMethod": "POST", -"id": "aiplatform.projects.locations.onlineEvaluators.suspend", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.setDefault", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the OnlineEvaluator to suspend. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", +"parent": { +"description": "Required. The resource name of the Location to set the default NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:suspend", +"path": "v1beta1/{+parent}/notebookRuntimeTemplates:setDefault", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SuspendOnlineEvaluatorRequest" +"$ref": "GoogleCloudAiplatformV1beta1SetDefaultNotebookRuntimeTemplateRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1SetDefaultNotebookRuntimeTemplateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -29171,9 +30401,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.onlineEvaluators.operations.cancel", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel", "parameterOrder": [ "name" ], @@ -29181,7 +30411,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -29197,9 +30427,9 @@ }, "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}/onlineEvaluators/{onlineEvaluatorsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.onlineEvaluators.operations.delete", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete", "parameterOrder": [ "name" ], @@ -29207,7 +30437,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -29222,9 +30452,9 @@ }, "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}/onlineEvaluators/{onlineEvaluatorsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.onlineEvaluators.operations.get", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.get", "parameterOrder": [ "name" ], @@ -29232,7 +30462,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -29248,9 +30478,9 @@ }, "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}/onlineEvaluators/{onlineEvaluatorsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.onlineEvaluators.operations.list", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.list", "parameterOrder": [ "name" ], @@ -29263,7 +30493,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", "required": true, "type": "string" }, @@ -29295,9 +30525,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.onlineEvaluators.operations.wait", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait", "parameterOrder": [ "name" ], @@ -29305,7 +30535,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -29329,313 +30559,242 @@ } } }, -"operations": { +"notebookRuntimes": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"assign": { +"description": "Assigns a NotebookRuntime to a user for a particular Notebook file. This method will either returns an existing assignment or generates a new one.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes:assign", "httpMethod": "POST", -"id": "aiplatform.projects.locations.operations.cancel", +"id": "aiplatform.projects.locations.notebookRuntimes.assign", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"parent": { +"description": "Required. The resource name of the Location to get the NotebookRuntime assignment. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/notebookRuntimes:assign", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AssignNotebookRuntimeRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"description": "Deletes a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.operations.delete", +"id": "aiplatform.projects.locations.notebookRuntimes.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the NotebookRuntime resource to be deleted. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.operations.get", +"generateAccessToken": { +"description": "Internal only: Called from Compute Engine instance to obtain EUC for owner Anonymous access: authenticates caller using VM identity JWT. Design doc: go/colab-on-vertex-euc-dd", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:generateAccessToken", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.generateAccessToken", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the resource requesting the OAuth2 token. Format: `projects/{project}/locations/{location}/notebookRuntimes/{notebook_runtime}` `projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:generateAccessToken", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateAccessTokenRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1GenerateAccessTokenResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", +"get": { +"description": "Gets a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.operations.list", +"id": "aiplatform.projects.locations.notebookRuntimes.get", "parameterOrder": [ "name" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The name of the NotebookRuntime resource. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", "required": true, "type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"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", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntime" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.operations.wait", +"list": { +"description": "Lists NotebookRuntimes in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", -"required": true, +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntime=\"notebookRuntime123\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"` * `notebookRuntimeTemplate=\"notebookRuntimeTemplate321\"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser=\"test@google.com\"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", +"location": "query", "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", "location": "query", "type": "string" -} }, -"path": "v1beta1/{+name}:wait", -"response": { -"$ref": "GoogleLongrunningOperation" +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" }, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -} -} +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimes call.", +"location": "query", +"type": "string" }, -"persistentResources": { -"methods": { -"create": { -"description": "Creates a PersistentResource.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.persistentResources.create", -"parameterOrder": [ -"parent" -], -"parameters": { "parent": { -"description": "Required. The resource name of the Location to create the PersistentResource in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the NotebookRuntimes. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, -"persistentResourceId": { -"description": "Required. The ID to use for the PersistentResource, which become the final component of the PersistentResource's resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/persistentResources", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" -}, +"path": "v1beta1/{+parent}/notebookRuntimes", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListNotebookRuntimesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a PersistentResource.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.persistentResources.delete", +"reportEvent": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:reportEvent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.reportEvent", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the PersistentResource to be deleted. Format: `projects/{project}/locations/{location}/persistentResources/{persistent_resource}`", +"description": "Required. The name of the NotebookRuntime resource. Format: `projects/{project}/locations/{location}/notebookRuntimes/{notebook_runtime}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:reportEvent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReportRuntimeEventRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ReportRuntimeEventResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a PersistentResource.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.persistentResources.get", +"start": { +"description": "Starts a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:start", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.start", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the PersistentResource resource. Format: `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}`", +"description": "Required. The name of the NotebookRuntime resource to be started. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists PersistentResources in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.persistentResources.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListPersistentResourcesResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Location to list the PersistentResources from. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} +"path": "v1beta1/{+name}:start", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StartNotebookRuntimeRequest" }, -"path": "v1beta1/{+parent}/persistentResources", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListPersistentResourcesResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a PersistentResource.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.persistentResources.patch", +"stop": { +"description": "Stops a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:stop", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.stop", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Immutable. Resource name of a PersistentResource.", +"description": "Required. The name of the NotebookRuntime resource to be stopped. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Required. Specify the fields to be overwritten in the PersistentResource by the update method.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:stop", "request": { -"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" +"$ref": "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -29644,26 +30803,26 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"reboot": { -"description": "Reboots a PersistentResource.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}:reboot", +"upgrade": { +"description": "Upgrades a NotebookRuntime.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:upgrade", "httpMethod": "POST", -"id": "aiplatform.projects.locations.persistentResources.reboot", +"id": "aiplatform.projects.locations.notebookRuntimes.upgrade", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the PersistentResource resource. Format: `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}`", +"description": "Required. The name of the NotebookRuntime resource to be upgrade. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:reboot", +"path": "v1beta1/{+name}:upgrade", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RebootPersistentResourceRequest" +"$ref": "GoogleCloudAiplatformV1beta1UpgradeNotebookRuntimeRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -29678,9 +30837,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.persistentResources.operations.cancel", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.cancel", "parameterOrder": [ "name" ], @@ -29688,7 +30847,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -29704,9 +30863,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.persistentResources.operations.delete", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.delete", "parameterOrder": [ "name" ], @@ -29714,7 +30873,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -29729,9 +30888,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.persistentResources.operations.get", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.get", "parameterOrder": [ "name" ], @@ -29739,7 +30898,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -29755,9 +30914,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.persistentResources.operations.list", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.list", "parameterOrder": [ "name" ], @@ -29770,7 +30929,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", "required": true, "type": "string" }, @@ -29802,9 +30961,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.persistentResources.operations.wait", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.wait", "parameterOrder": [ "name" ], @@ -29812,7 +30971,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -29836,138 +30995,77 @@ } } }, -"pipelineJobs": { +"onlineEvaluators": { "methods": { -"batchCancel": { -"description": "Batch cancel PipelineJobs. Firstly the server will check if all the jobs are in non-terminal states, and skip the jobs that are already terminated. If the operation failed, none of the pipeline jobs are cancelled. The server will poll the states of all the pipeline jobs periodically to check the cancellation status. This operation will return an LRO.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchCancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.pipelineJobs.batchCancel", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the PipelineJobs' parent resource. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/pipelineJobs:batchCancel", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCancelPipelineJobsRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"batchDelete": { -"description": "Batch deletes PipelineJobs The Operation is atomic. If it fails, none of the PipelineJobs are deleted. If it succeeds, all of the PipelineJobs are deleted.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchDelete", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.pipelineJobs.batchDelete", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the PipelineJobs' parent resource. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/pipelineJobs:batchDelete", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchDeletePipelineJobsRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"cancel": { -"description": "Cancels a PipelineJob. Starts asynchronous cancellation on the PipelineJob. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetPipelineJob or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the PipelineJob is not deleted; instead it becomes a pipeline with a PipelineJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and PipelineJob.state is set to `CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}:cancel", +"activate": { +"description": "Activates an OnlineEvaluator.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}:activate", "httpMethod": "POST", -"id": "aiplatform.projects.locations.pipelineJobs.cancel", +"id": "aiplatform.projects.locations.onlineEvaluators.activate", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the PipelineJob to cancel. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"description": "Required. The name of the OnlineEvaluator to activate. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}:activate", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelPipelineJobRequest" +"$ref": "GoogleCloudAiplatformV1beta1ActivateOnlineEvaluatorRequest" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "create": { -"description": "Creates a PipelineJob. A PipelineJob will run immediately when created.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs", +"description": "Creates an OnlineEvaluator in the given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators", "httpMethod": "POST", -"id": "aiplatform.projects.locations.pipelineJobs.create", +"id": "aiplatform.projects.locations.onlineEvaluators.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The parent resource where the OnlineEvaluator will be created. Format: projects/{project}/locations/{location}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -}, -"pipelineJobId": { -"description": "The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`.", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/pipelineJobs", +"path": "v1beta1/{+parent}/onlineEvaluators", "request": { -"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +"$ref": "GoogleCloudAiplatformV1beta1OnlineEvaluator" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a PipelineJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}", +"description": "Deletes an OnlineEvaluator.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.pipelineJobs.delete", +"id": "aiplatform.projects.locations.onlineEvaluators.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the PipelineJob resource to be deleted. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"description": "Required. The name of the OnlineEvaluator to delete. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", "required": true, "type": "string" } @@ -29981,77 +31079,133 @@ ] }, "get": { -"description": "Gets a PipelineJob.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}", +"description": "Gets details of an OnlineEvaluator.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.pipelineJobs.get", +"id": "aiplatform.projects.locations.onlineEvaluators.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the PipelineJob resource. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"description": "Required. The name of the OnlineEvaluator to retrieve. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" +"$ref": "GoogleCloudAiplatformV1beta1OnlineEvaluator" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists PipelineJobs in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs", +"description": "Lists the OnlineEvaluators for the given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators", "httpMethod": "GET", -"id": "aiplatform.projects.locations.pipelineJobs.list", +"id": "aiplatform.projects.locations.onlineEvaluators.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the PipelineJobs that match the filter expression. The following fields are supported: * `pipeline_name`: Supports `=` and `!=` comparisons. * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. for example, can check if pipeline's display_name contains *step* by doing display_name:\\\"*step*\\\" * `state`: Supports `=` and `!=` comparisons. * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. * `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` wildcard. Filter expressions can be combined together using logical operators (`AND` & `OR`). For example: `pipeline_name=\"test\" AND create_time>\"2020-05-18T13:30:00Z\"`. The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `create_time>\"2021-05-18T00:00:00Z\" OR update_time>\"2020-05-18T00:00:00Z\"` PipelineJobs created or updated after 2020-05-18 00:00:00 UTC. * `labels.env = \"prod\"` PipelineJobs with label \"env\" set to \"prod\".", +"description": "Optional. Standard list filter. Supported fields: * `create_time` * `update_time` * `agent_resource` Example: `create_time>\"2026-01-01T00:00:00-04:00\"` where the timestamp is in RFC 3339 format) Based on aip.dev/160.", "location": "query", "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided e.g. \"create_time desc, end_time\", \"end_time, start_time, update_time\" For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple jobs having the same create time, order them by the end time in ascending order. if order_by is not specified, it will order by default order is create time in descending order. Supported fields: * `create_time` * `update_time` * `end_time` * `start_time`", +"description": "Optional. A comma-separated list of fields to order by. The default sorting order is ascending. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`. Based on aip.dev/132.", "location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of OnlineEvaluators to return. The service may return fewer than this value. If unspecified, at most 100 OnlineEvaluators will be returned. The maximum value is 100; values above 100 will be coerced to 100. Based on aip.dev/158.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained via ListPipelineJobsResponse.next_page_token of the previous PipelineService.ListPipelineJobs call.", +"description": "Optional. A token identifying a page of results the server should return. Based on aip.dev/158.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the PipelineJobs from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The parent resource of the OnlineEvaluators to list. Format: projects/{project}/locations/{location}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +} }, -"readMask": { -"description": "Mask specifying which fields to read.", +"path": "v1beta1/{+parent}/onlineEvaluators", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListOnlineEvaluatorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the fields of an OnlineEvaluator.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.onlineEvaluators.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the OnlineEvaluator. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", +"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": "v1beta1/{+parent}/pipelineJobs", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1OnlineEvaluator" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListPipelineJobsResponse" +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"suspend": { +"description": "Suspends an OnlineEvaluator. When an OnlineEvaluator is suspended, it won't run any evaluations until it is activated again.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}:suspend", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.onlineEvaluators.suspend", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the OnlineEvaluator to suspend. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:suspend", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SuspendOnlineEvaluatorRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -30063,9 +31217,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.pipelineJobs.operations.cancel", +"id": "aiplatform.projects.locations.onlineEvaluators.operations.cancel", "parameterOrder": [ "name" ], @@ -30073,7 +31227,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -30089,9 +31243,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.pipelineJobs.operations.delete", +"id": "aiplatform.projects.locations.onlineEvaluators.operations.delete", "parameterOrder": [ "name" ], @@ -30099,7 +31253,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -30114,9 +31268,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.pipelineJobs.operations.get", +"id": "aiplatform.projects.locations.onlineEvaluators.operations.get", "parameterOrder": [ "name" ], @@ -30124,7 +31278,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -30140,9 +31294,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.pipelineJobs.operations.list", +"id": "aiplatform.projects.locations.onlineEvaluators.operations.list", "parameterOrder": [ "name" ], @@ -30155,7 +31309,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+$", "required": true, "type": "string" }, @@ -30187,9 +31341,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/onlineEvaluators/{onlineEvaluatorsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.pipelineJobs.operations.wait", +"id": "aiplatform.projects.locations.onlineEvaluators.operations.wait", "parameterOrder": [ "name" ], @@ -30197,7 +31351,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/onlineEvaluators/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -30221,901 +31375,645 @@ } } }, -"publishers": { -"resources": { -"files": { +"operations": { "methods": { -"delete": { -"description": "Deletes the given file. Returns the deleted file's ID rather than an empty body. See `DeleteFileResponse`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files/{filesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.publishers.files.delete", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the file to delete. Format: `projects/{project}/locations/{location}/publishers/{publisher}/files/{file}`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/files/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1DeleteFileResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"download": { -"description": "Downloads the contents of the given file. Only files marked `downloadable` can be retrieved this way; user-uploaded files are not downloadable.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files/{filesId}/content", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.publishers.files.download", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the file to download. Format: `projects/{project}/locations/{location}/publishers/{publisher}/files/{file}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/files/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/content", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1DownloadFileResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" -], -"supportsMediaDownload": true, -"useMediaDownloadService": true +] }, "get": { -"description": "Gets the metadata for the given file.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files/{filesId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.publishers.files.get", +"id": "aiplatform.projects.locations.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the file to get. Format: `projects/{project}/locations/{location}/publishers/{publisher}/files/{file}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/files/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ClaudeFile" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists the files owned by the requesting project and location. Supports two mutually exclusive modes: paginated listing via an opaque `page` cursor, or batch fetch by `ids`. See `ListFilesRequest`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.publishers.files.list", +"id": "aiplatform.projects.locations.operations.list", "parameterOrder": [ -"parent", -"publishersId" +"name" ], "parameters": { -"ids": { -"description": "Optional. Batch fetch: return only these files, up to 100 IDs after de-duplication. Mutually exclusive with both `page` and `limit`. Serialised as a repeated `ids` query parameter, one occurrence per ID.", +"filter": { +"description": "The standard list filter.", "location": "query", -"repeated": true, "type": "string" }, -"limit": { -"description": "Optional. The number of files to return per page. Defaults to 20 if unset, maximum 1000. Mutually exclusive with `ids`.", +"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" }, -"page": { -"description": "Optional. Opaque pagination cursor. Pass the previous response's `next_page` to fetch the next page. Mutually exclusive with `ids`.", +"pageToken": { +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The location to list files under. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -}, -"publishersId": { -"location": "path", -"required": true, -"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/{+parent}/publishers/{publishersId}/files", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFilesResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"upload": { -"description": "Uploads a file that can be referenced by ID from subsequent Claude model requests.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.files.upload", -"mediaUpload": { -"accept": [ -"*/*" -], -"maxSize": "524288000", -"protocols": { -"simple": { -"multipart": true, -"path": "/upload/v1beta1/{+parent}/publishers/{publishersId}/files" -} -} -}, +"id": "aiplatform.projects.locations.operations.wait", "parameterOrder": [ -"parent", -"publishersId" +"name" ], "parameters": { -"parent": { -"description": "Required. The location to create the file under. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"publishersId": { -"location": "path", -"required": true, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/publishers/{publishersId}/files", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CreateFileRequest" -}, +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ClaudeFile" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" -], -"supportsMediaUpload": true +] } } }, -"models": { +"persistentResources": { "methods": { -"batchEmbedContents": { -"description": "Generates embeddings directly from multiple contents.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:batchEmbedContents", +"create": { +"description": "Creates a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources", "httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.batchEmbedContents", +"id": "aiplatform.projects.locations.persistentResources.create", "parameterOrder": [ -"model" +"parent" ], "parameters": { -"model": { -"description": "Required. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"parent": { +"description": "Required. The resource name of the Location to create the PersistentResource in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"persistentResourceId": { +"description": "Required. The ID to use for the PersistentResource, which become the final component of the PersistentResource's resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+model}:batchEmbedContents", +"path": "v1beta1/{+parent}/persistentResources", "request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchEmbedContentsRequest" +"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1BatchEmbedContentsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"computeTokens": { -"description": "Return a list of tokens based on the input text.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:computeTokens", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.computeTokens", +"delete": { +"description": "Deletes a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.persistentResources.delete", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"name": { +"description": "Required. The name of the PersistentResource to be deleted. Format: `projects/{project}/locations/{location}/persistentResources/{persistent_resource}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:computeTokens", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"countTokens": { -"description": "Perform a token counting.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:countTokens", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.countTokens", +"get": { +"description": "Gets a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.get", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "Required. The name of the PersistentResource resource. Format: `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:countTokens", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" +"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"embedContent": { -"description": "Embed content with multimodal inputs.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:embedContent", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.embedContent", +"list": { +"description": "Lists PersistentResources in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.list", "parameterOrder": [ -"model" +"parent" ], "parameters": { -"model": { -"description": "Required. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/*/models/*`", +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListPersistentResourcesResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the PersistentResources from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+model}:embedContent", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1EmbedContentRequest" -}, +"path": "v1beta1/{+parent}/persistentResources", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EmbedContentResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListPersistentResourcesResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"export": { -"description": "Exports a publisher model to a user provided Google Cloud Storage bucket.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:export", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.export", +"patch": { +"description": "Updates a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.persistentResources.patch", "parameterOrder": [ -"parent", "name" ], "parameters": { "name": { -"description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`, or `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`", +"description": "Immutable. Resource name of a PersistentResource.", "location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", "required": true, "type": "string" }, -"parent": { -"description": "Required. The Location to export the model weights from Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, +"updateMask": { +"description": "Required. Specify the fields to be overwritten in the PersistentResource by the update method.", +"format": "google-fieldmask", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/{+name}:export", +"path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ExportPublisherModelRequest" +"$ref": "GoogleCloudAiplatformV1beta1PersistentResource" }, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"fetchPredictOperation": { -"description": "Fetch an asynchronous online prediction operation.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", +"reboot": { +"description": "Reboots a PersistentResource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}:reboot", "httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.fetchPredictOperation", +"id": "aiplatform.projects.locations.persistentResources.reboot", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"name": { +"description": "Required. The name of the PersistentResource resource. Format: `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:fetchPredictOperation", +"path": "v1beta1/{+name}:reboot", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" +"$ref": "GoogleCloudAiplatformV1beta1RebootPersistentResourceRequest" }, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] +} }, -"fetchPublisherModelConfig": { -"description": "Fetches the configs of publisher models.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPublisherModelConfig", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.publishers.models.fetchPublisherModelConfig", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the publisher model, in the format of `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`.", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:fetchPublisherModelConfig", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1PublisherModelConfig" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"generateContent": { -"description": "Generate content with multimodal inputs.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:generateContent", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.generateContent", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.persistentResources.operations.delete", "parameterOrder": [ -"model" +"name" ], "parameters": { -"model": { -"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+model}:generateContent", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"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}/publishers/{publishersId}/models/{modelsId}:getIamPolicy", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.getIamPolicy", +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.operations.get", "parameterOrder": [ -"resource" +"name" ], "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.", +"name": { +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:getIamPolicy", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"predict": { -"description": "", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predict", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.predict", +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.operations.list", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"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/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+endpoint}:predict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PredictRequest" +"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": "GoogleCloudAiplatformV1beta1PredictResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"predictLongRunning": { -"description": "", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predictLongRunning", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.predictLongRunning", +"id": "aiplatform.projects.locations.persistentResources.operations.wait", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+endpoint}:predictLongRunning", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+name}:wait", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] -}, -"rawPredict": { -"description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.rawPredict", -"parameterOrder": [ -"endpoint" -], -"parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+endpoint}:rawPredict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RawPredictRequest" -}, -"response": { -"$ref": "GoogleApiHttpBody" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"serverStreamingPredict": { -"description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:serverStreamingPredict", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.serverStreamingPredict", -"parameterOrder": [ -"endpoint" -], -"parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+endpoint}:serverStreamingPredict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"setPublisherModelConfig": { -"description": "Sets (creates or updates) configs of publisher models. For example, sets the request/response logging config.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:setPublisherModelConfig", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.setPublisherModelConfig", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the publisher model, in the format of `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+name}:setPublisherModelConfig", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SetPublisherModelConfigRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"streamGenerateContent": { -"description": "Generate content with multimodal inputs with streaming support.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.streamGenerateContent", -"parameterOrder": [ -"model" -], -"parameters": { -"model": { -"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+model}:streamGenerateContent", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"streamRawPredict": { -"description": "Perform a streaming online prediction with an arbitrary HTTP payload.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamRawPredict", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.streamRawPredict", -"parameterOrder": [ -"endpoint" -], -"parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+endpoint}:streamRawPredict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamRawPredictRequest" -}, -"response": { -"$ref": "GoogleApiHttpBody" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] } }, -"resources": { -"invoke": { +"pipelineJobs": { "methods": { -"invoke": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}/invoke/{invokeId}", +"batchCancel": { +"description": "Batch cancel PipelineJobs. Firstly the server will check if all the jobs are in non-terminal states, and skip the jobs that are already terminated. If the operation failed, none of the pipeline jobs are cancelled. The server will poll the states of all the pipeline jobs periodically to check the cancellation status. This operation will return an LRO.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchCancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.models.invoke.invoke", +"id": "aiplatform.projects.locations.pipelineJobs.batchCancel", "parameterOrder": [ -"endpoint", -"invokeId" +"parent" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -}, -"invokeId": { +"parent": { +"description": "Required. The name of the PipelineJobs' parent resource. Format: `projects/{project}/locations/{location}`", "location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}/invoke/{+invokeId}", +"path": "v1beta1/{+parent}/pipelineJobs:batchCancel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1InvokeRequest" +"$ref": "GoogleCloudAiplatformV1beta1BatchCancelPipelineJobsRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"v1": { -"methods": { -"responses": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/v1/responses", +"batchDelete": { +"description": "Batch deletes PipelineJobs The Operation is atomic. If it fails, none of the PipelineJobs are deleted. If it succeeds, all of the PipelineJobs are deleted.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchDelete", "httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.v1.responses", +"id": "aiplatform.projects.locations.pipelineJobs.batchDelete", "parameterOrder": [ -"endpoint" +"parent" ], "parameters": { -"deployedModelId": { -"description": "ID of the DeployedModel that serves the invoke request.", -"location": "query", -"type": "string" -}, -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"parent": { +"description": "Required. The name of the PipelineJobs' parent resource. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}/v1/responses", +"path": "v1beta1/{+parent}/pipelineJobs:batchDelete", "request": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1BatchDeletePipelineJobsRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"responses": { -"methods": { -"compact": { -"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/v1/responses/compact", +"cancel": { +"description": "Cancels a PipelineJob. Starts asynchronous cancellation on the PipelineJob. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetPipelineJob or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the PipelineJob is not deleted; instead it becomes a pipeline with a PipelineJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and PipelineJob.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.publishers.v1.responses.compact", -"parameterOrder": [ -"endpoint" -], -"parameters": { -"deployedModelId": { -"description": "ID of the DeployedModel that serves the invoke request.", -"location": "query", -"type": "string" -}, -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+endpoint}/v1/responses/compact", -"request": { -"$ref": "GoogleApiHttpBody" -}, -"response": { -"$ref": "GoogleApiHttpBody" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"delete": { -"description": "Deletes the response from the endpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/v1/responses/{responsesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.publishers.v1.responses.delete", +"id": "aiplatform.projects.locations.pipelineJobs.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Response resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}/responses/{response}`", +"description": "Required. The name of the PipelineJob to cancel. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/v1/responses/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleApiHttpBody" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"get": { -"description": "Gets the response from the endpoint.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/v1/responses/{responsesId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.publishers.v1.responses.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the Response resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}/responses/{response}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/v1/responses/[^/]+$", -"required": true, -"type": "string" -} +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelPipelineJobRequest" }, -"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} -} -} }, -"ragCorpora": { -"methods": { "create": { -"description": "Creates a RagCorpus.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora", +"description": "Creates a PipelineJob. A PipelineJob will run immediately when created.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.create", +"id": "aiplatform.projects.locations.pipelineJobs.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"pipelineJobId": { +"description": "The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`.", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/ragCorpora", +"path": "v1beta1/{+parent}/pipelineJobs", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a RagCorpus.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", +"description": "Deletes a PipelineJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.ragCorpora.delete", +"id": "aiplatform.projects.locations.pipelineJobs.delete", "parameterOrder": [ "name" ], "parameters": { -"force": { -"description": "Optional. If set to true, any RagFiles in this RagCorpus will also be deleted. Otherwise, the request will only work if the RagCorpus has no RagFiles.", -"location": "query", -"type": "boolean" -}, -"forceDelete": { -"description": "Optional. If set to true, any errors generated by external vector database during the deletion will be ignored. The default value is false.", -"location": "query", -"type": "boolean" -}, "name": { -"description": "Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"description": "Required. The name of the PipelineJob resource to be deleted. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", "required": true, "type": "string" } @@ -31125,99 +32023,83 @@ "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a RagCorpus.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", +"description": "Gets a PipelineJob.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.get", +"id": "aiplatform.projects.locations.pipelineJobs.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the RagCorpus resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"description": "Required. The name of the PipelineJob resource. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" +"$ref": "GoogleCloudAiplatformV1beta1PipelineJob" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists RagCorpora in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora", +"description": "Lists PipelineJobs in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs", "httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.list", +"id": "aiplatform.projects.locations.pipelineJobs.list", "parameterOrder": [ "parent" ], "parameters": { +"filter": { +"description": "Lists the PipelineJobs that match the filter expression. The following fields are supported: * `pipeline_name`: Supports `=` and `!=` comparisons. * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. for example, can check if pipeline's display_name contains *step* by doing display_name:\\\"*step*\\\" * `state`: Supports `=` and `!=` comparisons. * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. * `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` wildcard. Filter expressions can be combined together using logical operators (`AND` & `OR`). For example: `pipeline_name=\"test\" AND create_time>\"2020-05-18T13:30:00Z\"`. The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `create_time>\"2021-05-18T00:00:00Z\" OR update_time>\"2020-05-18T00:00:00Z\"` PipelineJobs created or updated after 2020-05-18 00:00:00 UTC. * `labels.env = \"prod\"` PipelineJobs with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided e.g. \"create_time desc, end_time\", \"end_time, start_time, update_time\" For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple jobs having the same create time, order them by the end time in ascending order. if order_by is not specified, it will order by default order is create time in descending order. Supported fields: * `create_time` * `update_time` * `end_time` * `start_time`", +"location": "query", +"type": "string" +}, "pageSize": { -"description": "Optional. The standard list page size. The maximum value is 100. If not specified, a default value of 100 will be used.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.ListRagCorpora call.", +"description": "The standard list page token. Typically obtained via ListPipelineJobsResponse.next_page_token of the previous PipelineService.ListPipelineJobs call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to list the PipelineJobs from. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+parent}/ragCorpora", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListRagCorporaResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] }, -"patch": { -"description": "Updates a RagCorpus.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.ragCorpora.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Output only. The resource name of the RagCorpus.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", -"required": true, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" -}, +"path": "v1beta1/{+parent}/pipelineJobs", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListPipelineJobsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -31227,9 +32109,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.operations.cancel", +"id": "aiplatform.projects.locations.pipelineJobs.operations.cancel", "parameterOrder": [ "name" ], @@ -31237,7 +32119,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -31253,9 +32135,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.ragCorpora.operations.delete", +"id": "aiplatform.projects.locations.pipelineJobs.operations.delete", "parameterOrder": [ "name" ], @@ -31263,7 +32145,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -31278,9 +32160,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.operations.get", +"id": "aiplatform.projects.locations.pipelineJobs.operations.get", "parameterOrder": [ "name" ], @@ -31288,7 +32170,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -31304,9 +32186,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.operations.list", +"id": "aiplatform.projects.locations.pipelineJobs.operations.list", "parameterOrder": [ "name" ], @@ -31319,7 +32201,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", "required": true, "type": "string" }, @@ -31351,9 +32233,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.operations.wait", +"id": "aiplatform.projects.locations.pipelineJobs.operations.wait", "parameterOrder": [ "name" ], @@ -31361,7 +32243,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -31382,939 +32264,866 @@ ] } } +} +} }, -"ragDataSchemas": { +"publishers": { +"resources": { +"files": { "methods": { -"batchCreate": { -"description": "Batch Create one or more RagDataSchemas", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas:batchCreate", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.batchCreate", +"delete": { +"description": "Deletes the given file. Returns the deleted file's ID rather than an empty body. See `DeleteFileResponse`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files/{filesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.publishers.files.delete", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the RagCorpus to create the RagDataSchemas in. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"name": { +"description": "Required. The name of the file to delete. Format: `projects/{project}/locations/{location}/publishers/{publisher}/files/{file}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/files/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragDataSchemas:batchCreate", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCreateRagDataSchemasRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1DeleteFileResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"batchDelete": { -"description": "Batch Deletes one or more RagDataSchemas", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas:batchDelete", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.batchDelete", +"download": { +"description": "Downloads the contents of the given file. Only files marked `downloadable` can be retrieved this way; user-uploaded files are not downloadable.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files/{filesId}/content", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.publishers.files.download", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the RagCorpus from which to delete the RagDataSchemas. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"name": { +"description": "Required. The name of the file to download. Format: `projects/{project}/locations/{location}/publishers/{publisher}/files/{file}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/files/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragDataSchemas:batchDelete", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchDeleteRagDataSchemasRequest" -}, +"path": "v1beta1/{+name}/content", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1DownloadFileResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" -] -}, -"create": { -"description": "Creates a RagDataSchema.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the RagCorpus to create the RagDataSchema in. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", -"required": true, -"type": "string" -}, -"ragDataSchemaId": { -"description": "Optional. The ID to use for the RagDataSchema, which will become the final component of the RagDataSchema's resource name if the user chooses to specify. Otherwise, RagDataSchema id will be generated by system. This value should be up to 63 characters, and valid characters are /a-z-/. The first character must be a letter, the last could be a letter or a number.", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+parent}/ragDataSchemas", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RagDataSchema" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1RagDataSchema" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a RagDataSchema.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas/{ragDataSchemasId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.delete", -"parameterOrder": [ -"name" ], -"parameters": { -"name": { -"description": "Required. The name of the RagDataSchema resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragDataSchemas/{rag_data_schema}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragDataSchemas/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] +"supportsMediaDownload": true, +"useMediaDownloadService": true }, "get": { -"description": "Gets a RagDataSchema.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas/{ragDataSchemasId}", +"description": "Gets the metadata for the given file.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files/{filesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.get", +"id": "aiplatform.projects.locations.publishers.files.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the RagDataSchema resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragDataSchemas/{rag_data_schema}`", +"description": "Required. The name of the file to get. Format: `projects/{project}/locations/{location}/publishers/{publisher}/files/{file}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragDataSchemas/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/files/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1RagDataSchema" +"$ref": "GoogleCloudAiplatformV1beta1ClaudeFile" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists RagDataSchemas in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas", +"description": "Lists the files owned by the requesting project and location. Supports two mutually exclusive modes: paginated listing via an opaque `page` cursor, or batch fetch by `ids`. See `ListFilesRequest`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files", "httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.list", +"id": "aiplatform.projects.locations.publishers.files.list", "parameterOrder": [ -"parent" +"parent", +"publishersId" ], "parameters": { -"pageSize": { -"description": "Optional. The standard list page size. The maximum value is 100. If not specified, a default value of 100 will be used.", +"limit": { +"description": "Optional. The number of files to return per page. Defaults to 20 if unset, maximum 1000. Mutually exclusive with `ids`.", "format": "int32", "location": "query", "type": "integer" }, -"pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListRagDataSchemasResponse.next_page_token of the previous VertexRagDataService.ListRagDataSchemas call.", +"page": { +"description": "Optional. Opaque pagination cursor. Pass the previous response's `next_page` to fetch the next page. Mutually exclusive with `ids`.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the RagCorpus from which to list the RagDataSchemas. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"description": "Required. The location to list files under. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"publishersId": { "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragDataSchemas", +"path": "v1beta1/{+parent}/publishers/{publishersId}/files", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListRagDataSchemasResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListFilesResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +}, +"upload": { +"description": "Uploads a file that can be referenced by ID from subsequent Claude model requests.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/files", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.files.upload", +"mediaUpload": { +"accept": [ +"*/*" +], +"maxSize": "524288000", +"protocols": { +"simple": { +"multipart": true, +"path": "/upload/v1beta1/{+parent}/publishers/{publishersId}/files" } } }, -"ragFiles": { -"methods": { -"delete": { -"description": "Deletes a RagFile.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.delete", "parameterOrder": [ -"name" +"parent", +"publishersId" ], "parameters": { -"forceDelete": { -"description": "Optional. If set to true, any errors generated by external vector database during the deletion will be ignored. The default value is false.", -"location": "query", -"type": "boolean" +"parent": { +"description": "Required. The location to create the file under. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" }, -"name": { -"description": "Required. The name of the RagFile resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"publishersId": { "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/publishers/{publishersId}/files", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CreateFileRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ClaudeFile" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" -] +], +"supportsMediaUpload": true +} +} }, -"get": { -"description": "Gets a RagFile.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.get", +"models": { +"methods": { +"batchEmbedContents": { +"description": "Generates embeddings directly from multiple contents.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:batchEmbedContents", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.batchEmbedContents", "parameterOrder": [ -"name" +"model" ], "parameters": { -"name": { -"description": "Required. The name of the RagFile resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"model": { +"description": "Required. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+model}:batchEmbedContents", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchEmbedContentsRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1RagFile" +"$ref": "GoogleCloudAiplatformV1beta1BatchEmbedContentsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"import": { -"description": "Import files from Google Cloud Storage or Google Drive into a RagCorpus.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:import", +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:computeTokens", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.import", +"id": "aiplatform.projects.locations.publishers.models.computeTokens", "parameterOrder": [ -"parent" +"endpoint" ], "parameters": { -"parent": { -"description": "Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragFiles:import", +"path": "v1beta1/{+endpoint}:computeTokens", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ImportRagFilesRequest" +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists RagFiles in a RagCorpus.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.list", +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.countTokens", "parameterOrder": [ -"parent" +"endpoint" ], "parameters": { -"pageSize": { -"description": "Optional. The standard list page size. The maximum value is 100. If not specified, a default value of 100 will be used.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListRagFilesResponse.next_page_token of the previous VertexRagDataService.ListRagFiles call.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragFiles", +"path": "v1beta1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListRagFilesResponse" +"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -} }, -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", +"embedContent": { +"description": "Embed content with multimodal inputs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:embedContent", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", +"id": "aiplatform.projects.locations.publishers.models.embedContent", "parameterOrder": [ -"name" +"model" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"model": { +"description": "Required. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/*/models/*`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+model}:embedContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EmbedContentRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1EmbedContentResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", +"export": { +"description": "Exports a publisher model to a user provided Google Cloud Storage bucket.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:export", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.export", "parameterOrder": [ +"parent", "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`, or `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. The Location to export the model weights from Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/{+name}:export", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExportPublisherModelRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", +"fetchPredictOperation": { +"description": "Fetch an asynchronous online prediction operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.fetchPredictOperation", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}:fetchPredictOperation", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", +"fetchPublisherModelConfig": { +"description": "Fetches the configs of publisher models.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPublisherModelConfig", "httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", +"id": "aiplatform.projects.locations.publishers.models.fetchPublisherModelConfig", "parameterOrder": [ "name" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The name of the publisher model, in the format of `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"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", +"path": "v1beta1/{+name}:fetchPublisherModelConfig", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelConfig" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:generateContent", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", +"id": "aiplatform.projects.locations.publishers.models.generateContent", "parameterOrder": [ -"name" +"model" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} }, -"ragMetadata": { -"methods": { -"batchCreate": { -"description": "Batch Create one or more RagMetadatas", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata:batchCreate", +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:getIamPolicy", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.batchCreate", +"id": "aiplatform.projects.locations.publishers.models.getIamPolicy", "parameterOrder": [ -"parent" +"resource" ], "parameters": { -"parent": { -"description": "Required. The parent resource where the RagMetadata will be created. Format: `projects/{project_number}/locations/{location_id}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"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/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragMetadata:batchCreate", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCreateRagMetadataRequest" -}, +"path": "v1beta1/{+resource}:getIamPolicy", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleIamV1Policy" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"batchDelete": { -"description": "Batch Deletes one or more RagMetadata.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata:batchDelete", +"predict": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predict", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.batchDelete", +"id": "aiplatform.projects.locations.publishers.models.predict", "parameterOrder": [ -"parent" +"endpoint" ], "parameters": { -"parent": { -"description": "Required. The resource name of the RagFile from which to delete the RagMetadata. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragMetadata:batchDelete", +"path": "v1beta1/{+endpoint}:predict", "request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchDeleteRagMetadataRequest" +"$ref": "GoogleCloudAiplatformV1beta1PredictRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1PredictResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"create": { -"description": "Creates a RagMetadata.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata", +"predictLongRunning": { +"description": "", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predictLongRunning", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.create", +"id": "aiplatform.projects.locations.publishers.models.predictLongRunning", "parameterOrder": [ -"parent" +"endpoint" ], "parameters": { -"parent": { -"description": "Required. The parent resource where this metadata will be created. Format: `projects/{project_number}/locations/{location_id}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" -}, -"ragMetadataId": { -"description": "Optional. The ID to use for the metadata, which will become the final component of the metadata's resource name if the user chooses to specify. Otherwise, metadata id will be generated by system. This value should be up to 63 characters, and valid characters are /a-z-/. The first character must be a letter, the last could be a letter or a number.", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/ragMetadata", +"path": "v1beta1/{+endpoint}:predictLongRunning", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" +"$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"delete": { -"description": "Deletes a RagMetadata.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata/{ragMetadataId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.delete", +"rawPredict": { +"description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.rawPredict", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "Required. The name of the RagMetadata resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}/ragMetadata/{rag_metadata}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/ragMetadata/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}:rawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RawPredictRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"get": { -"description": "Gets a RagMetadata.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata/{ragMetadataId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.get", +"serverStreamingPredict": { +"description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:serverStreamingPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.serverStreamingPredict", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "Required. The name of the RagMetadata resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}/ragMetadata/{rag_metadata}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/ragMetadata/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}:serverStreamingPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" +"$ref": "GoogleCloudAiplatformV1beta1StreamingPredictResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"list": { -"description": "Lists RagMetadata in a RagFile.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.list", +"setPublisherModelConfig": { +"description": "Sets (creates or updates) configs of publisher models. For example, sets the request/response logging config.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:setPublisherModelConfig", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.setPublisherModelConfig", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"pageSize": { -"description": "Optional. The standard list page size. The maximum value is 100. If not specified, a default value of 100 will be used.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListRagMetadataResponse.next_page_token of the previous VertexRagDataService.ListRagMetadata call.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the RagFile from which to list the RagMetadata. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"name": { +"description": "Required. The name of the publisher model, in the format of `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/ragMetadata", +"path": "v1beta1/{+name}:setPublisherModelConfig", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SetPublisherModelConfigRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListRagMetadataResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a RagMetadata.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata/{ragMetadataId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.patch", +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.streamGenerateContent", "parameterOrder": [ -"name" +"model" ], "parameters": { -"name": { -"description": "Identifier. Resource name of the RagMetadata. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}/ragMetadata/{rag_metadata}`", +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/ragMetadata/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+model}:streamGenerateContent", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} -} -} -} -} }, -"ragEngineConfig": { -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}:cancel", +"streamRawPredict": { +"description": "Perform a streaming online prediction with an arbitrary HTTP payload.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamRawPredict", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragEngineConfig.operations.cancel", +"id": "aiplatform.projects.locations.publishers.models.streamRawPredict", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+endpoint}:streamRawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamRawPredictRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] +} }, -"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}/ragEngineConfig/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.ragEngineConfig.operations.delete", +"resources": { +"invoke": { +"methods": { +"invoke": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}/invoke/{invokeId}", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.invoke.invoke", "parameterOrder": [ -"name" +"endpoint", +"invokeId" ], "parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", "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}/ragEngineConfig/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.ragEngineConfig.operations.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource.", +"invokeId": { "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+endpoint}/invoke/{+invokeId}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1InvokeRequest" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] +} +} +} +} }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.ragEngineConfig.operations.list", +"v1": { +"methods": { +"responses": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/v1/responses", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.v1.responses", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", +"deployedModelId": { +"description": "ID of the DeployedModel that serves the invoke request.", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+$", "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", +"path": "v1beta1/{+endpoint}/v1/responses", +"request": { +"$ref": "GoogleApiHttpBody" +}, "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}:wait", +"resources": { +"responses": { +"methods": { +"compact": { +"description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/v1/responses/compact", "httpMethod": "POST", -"id": "aiplatform.projects.locations.ragEngineConfig.operations.wait", +"id": "aiplatform.projects.locations.publishers.v1.responses.compact", "parameterOrder": [ -"name" +"endpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", -"required": true, +"deployedModelId": { +"description": "ID of the DeployedModel that serves the invoke request.", +"location": "query", "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+endpoint}/v1/responses/compact", +"request": { +"$ref": "GoogleApiHttpBody" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} -} -} }, -"reasoningEngines": { -"methods": { -"asyncQuery": { -"description": "Async query using a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:asyncQuery", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.asyncQuery", +"delete": { +"description": "Deletes the response from the endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/v1/responses/{responsesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.publishers.v1.responses.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The name of the Response resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}/responses/{response}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/v1/responses/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:asyncQuery", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AsyncQueryReasoningEngineRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"cancelAsyncQuery": { -"description": "Cancels an AsyncQueryReasoningEngine operation.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:cancelAsyncQuery", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.cancelAsyncQuery", +"get": { +"description": "Gets the response from the endpoint.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/v1/responses/{responsesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.publishers.v1.responses.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The name of the Response resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}/responses/{response}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/v1/responses/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancelAsyncQuery", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelAsyncQueryReasoningEngineRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1CancelAsyncQueryReasoningEngineResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] +} +} +} +} +} +} }, +"ragCorpora": { +"methods": { "create": { -"description": "Creates a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", +"description": "Creates a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.create", +"id": "aiplatform.projects.locations.ragCorpora.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/reasoningEngines", +"path": "v1beta1/{+parent}/ragCorpora", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -32325,23 +33134,28 @@ ] }, "delete": { -"description": "Deletes a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"description": "Deletes a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.delete", +"id": "aiplatform.projects.locations.ragCorpora.delete", "parameterOrder": [ "name" ], "parameters": { "force": { -"description": "Optional. If set to true, child resources of this reasoning engine will also be deleted. Otherwise, the request will fail with FAILED_PRECONDITION error when the reasoning engine has undeleted child resources.", +"description": "Optional. If set to true, any RagFiles in this RagCorpus will also be deleted. Otherwise, the request will only work if the RagCorpus has no RagFiles.", +"location": "query", +"type": "boolean" +}, +"forceDelete": { +"description": "Optional. If set to true, any errors generated by external vector database during the deletion will be ignored. The default value is false.", "location": "query", "type": "boolean" }, "name": { -"description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } @@ -32355,127 +33169,63 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"executeCode": { -"description": "Executes code statelessly.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:executeCode", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.executeCode", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:executeCode", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteCodeRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteCodeResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "get": { -"description": "Gets a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"description": "Gets a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.get", +"id": "aiplatform.projects.locations.ragCorpora.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The name of the RagCorpus resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "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", +"description": "Lists RagCorpora in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.list", +"id": "aiplatform.projects.locations.ragCorpora.list", "parameterOrder": [ "parent" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "Optional. The standard list page size. The maximum value is 100. If not specified, a default value of 100 will be used.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "Optional. The standard list page token. Typically obtained via ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.ListRagCorpora call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/reasoningEngines", +"path": "v1beta1/{+parent}/ragCorpora", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListRagCorporaResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -32483,31 +33233,25 @@ ] }, "patch": { -"description": "Updates a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"description": "Updates a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.reasoningEngines.patch", +"id": "aiplatform.projects.locations.ragCorpora.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Output only. The resource name of the RagCorpus.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Optional. Mask specifying which fields to update.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +"$ref": "GoogleCloudAiplatformV1beta1RagCorpus" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -32516,979 +33260,850 @@ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"query": { -"description": "Queries using a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:query", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.query", +"id": "aiplatform.projects.locations.ragCorpora.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:query", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "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", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.operations.delete", "parameterOrder": [ -"resource" +"name" ], "parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"name": { +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+resource}:setIamPolicy", -"request": { -"$ref": "GoogleIamV1SetIamPolicyRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleIamV1Policy" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"streamQuery": { -"description": "Streams queries using a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.streamQuery", +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:streamQuery", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "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", +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.operations.list", "parameterOrder": [ -"resource" +"name" ], "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).", +"filter": { +"description": "The standard list filter.", "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.", +"name": { +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/{+resource}:testIamPermissions", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleIamV1TestIamPermissionsResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"a2a": { -"methods": { -"card": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/card", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.card", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.operations.wait", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^card$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}:wait", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"extendedAgentCard": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/extendedAgentCard", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.extendedAgentCard", +"ragDataSchemas": { +"methods": { +"batchCreate": { +"description": "Batch Create one or more RagDataSchemas", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.batchCreate", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^extendedAgentCard$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the RagCorpus to create the RagDataSchemas in. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/ragDataSchemas:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateRagDataSchemasRequest" }, -"type": "object" +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"tasks": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks", +"batchDelete": { +"description": "Batch Deletes one or more RagDataSchemas", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas:batchDelete", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.batchDelete", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^tasks$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the RagCorpus from which to delete the RagDataSchemas. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/ragDataSchemas:batchDelete", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BatchDeleteRagDataSchemasRequest" }, -"type": "object" +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"message": { -"methods": { -"send": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/message:send", +"create": { +"description": "Creates a RagDataSchema.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.message.send", +"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.create", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"parent": { +"description": "Required. The resource name of the RagCorpus to create the RagDataSchema in. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", -"pattern": "^message$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, +"ragDataSchemaId": { +"description": "Optional. The ID to use for the RagDataSchema, which will become the final component of the RagDataSchema's resource name if the user chooses to specify. Otherwise, RagDataSchema id will be generated by system. This value should be up to 63 characters, and valid characters are /a-z-/. The first character must be a letter, the last could be a letter or a number.", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"path": "v1beta1/{+parent}/ragDataSchemas", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1RagDataSchema" }, "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1RagDataSchema" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"stream": { -"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/message:stream", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.message.stream", +"delete": { +"description": "Deletes a RagDataSchema.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas/{ragDataSchemasId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.delete", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", +"name": { +"description": "Required. The name of the RagDataSchema resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragDataSchemas/{rag_data_schema}`", "location": "path", -"pattern": "^message$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragDataSchemas/[^/]+$", "required": true, "type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] }, +"get": { +"description": "Gets a RagDataSchema.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas/{ragDataSchemasId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.get", +"parameterOrder": [ +"name" +], +"parameters": { "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"description": "Required. The name of the RagDataSchema resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragDataSchemas/{rag_data_schema}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragDataSchemas/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", -"request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1RagDataSchema" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"tasks": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}", +"list": { +"description": "Lists RagDataSchemas in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragDataSchemas", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.a2aGetReasoningEngine", +"id": "aiplatform.projects.locations.ragCorpora.ragDataSchemas.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, -"type": "string" +"pageSize": { +"description": "Optional. The standard list page size. The maximum value is 100. If not specified, a default value of 100 will be used.", +"format": "int32", +"location": "query", +"type": "integer" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListRagDataSchemasResponse.next_page_token of the previous VertexRagDataService.ListRagDataSchemas call.", "location": "query", "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the RagCorpus from which to list the RagDataSchemas. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+parent}/ragDataSchemas", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1ListRagDataSchemasResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"cancel": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.cancel", +"ragFiles": { +"methods": { +"delete": { +"description": "Deletes a RagFile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.delete", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, -"type": "string" +"forceDelete": { +"description": "Optional. If set to true, any errors generated by external vector database during the deletion will be ignored. The default value is false.", +"location": "query", +"type": "boolean" }, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"description": "Required. The name of the RagFile resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", -"request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"pushNotificationConfigs": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}/pushNotificationConfigs", +"get": { +"description": "Gets a RagFile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.pushNotificationConfigs", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"name": { +"description": "Required. The name of the RagFile resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", "location": "path", -"pattern": "^tasks/[^/]+/pushNotificationConfigs$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" +} }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RagFile" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Import files from Google Cloud Storage or Google Drive into a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/ragFiles:import", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ImportRagFilesRequest" }, -"type": "object" +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"subscribe": { -"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}:subscribe", +"list": { +"description": "Lists RagFiles in a RagCorpus.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.subscribe", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, +"pageSize": { +"description": "Optional. The standard list page size. The maximum value is 100. If not specified, a default value of 100 will be used.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListRagFilesResponse.next_page_token of the previous VertexRagDataService.ListRagFiles call.", +"location": "query", "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"parent": { +"description": "Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", +"path": "v1beta1/{+parent}/ragFiles", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1ListRagFilesResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } }, "resources": { -"pushNotificationConfigs": { +"operations": { "methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.pushNotificationConfigs.a2aGetReasoningEngine", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" +} }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] }, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"v1": { -"methods": { -"card": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/card", +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.card", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/card$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"extendedAgentCard": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/extendedAgentCard", +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.extendedAgentCard", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/extendedAgentCard$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"filter": { +"description": "The standard list filter.", "location": "query", "type": "string" }, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}/operations", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"tasks": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^v1/tasks$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}:wait", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } +} }, -"resources": { -"message": { +"ragMetadata": { "methods": { -"send": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/message:send", +"batchCreate": { +"description": "Batch Create one or more RagMetadatas", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata:batchCreate", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.message.send", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.batchCreate", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^v1/message$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"parent": { +"description": "Required. The parent resource where the RagMetadata will be created. Format: `projects/{project_number}/locations/{location_id}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"path": "v1beta1/{+parent}/ragMetadata:batchCreate", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateRagMetadataRequest" }, "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"stream": { -"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/message:stream", +"batchDelete": { +"description": "Batch Deletes one or more RagMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata:batchDelete", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.message.stream", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.batchDelete", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", -"location": "path", -"pattern": "^v1/message$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"parent": { +"description": "Required. The resource name of the RagFile from which to delete the RagMetadata. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", +"path": "v1beta1/{+parent}/ragMetadata:batchDelete", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1BatchDeleteRagMetadataRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"tasks": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.a2aGetReasoningEngine", +"create": { +"description": "Creates a RagMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.create", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"parent": { +"description": "Required. The parent resource where this metadata will be created. Format: `projects/{project_number}/locations/{location_id}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", "location": "path", -"pattern": "^v1/tasks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"ragMetadataId": { +"description": "Optional. The ID to use for the metadata, which will become the final component of the metadata's resource name if the user chooses to specify. Otherwise, metadata id will be generated by system. This value should be up to 63 characters, and valid characters are /a-z-/. The first character must be a letter, the last could be a letter or a number.", "location": "query", "type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/ragMetadata", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" }, -"type": "object" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"cancel": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.cancel", +"delete": { +"description": "Deletes a RagMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata/{ragMetadataId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.delete", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^v1/tasks/[^/]+$", -"required": true, -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"description": "Required. The name of the RagMetadata resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}/ragMetadata/{rag_metadata}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/ragMetadata/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", -"request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"pushNotificationConfigs": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs", +"get": { +"description": "Gets a RagMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata/{ragMetadataId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.pushNotificationConfigs", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The name of the RagMetadata resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}/ragMetadata/{rag_metadata}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/ragMetadata/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"subscribe": { -"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}:subscribe", +"list": { +"description": "Lists RagMetadata in a RagFile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.subscribe", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", -"location": "path", -"pattern": "^v1/tasks/[^/]+$", -"required": true, +"pageSize": { +"description": "Optional. The standard list page size. The maximum value is 100. If not specified, a default value of 100 will be used.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListRagMetadataResponse.next_page_token of the previous VertexRagDataService.ListRagMetadata call.", +"location": "query", "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"parent": { +"description": "Required. The resource name of the RagFile from which to list the RagMetadata. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", +"path": "v1beta1/{+parent}/ragMetadata", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1ListRagMetadataResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"pushNotificationConfigs": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.pushNotificationConfigs.a2aGetReasoningEngine", +"patch": { +"description": "Updates a RagMetadata.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/ragMetadata/{ragMetadataId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.ragMetadata.patch", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs/[^/]+$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Identifier. Resource name of the RagMetadata. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}/ragMetadata/{rag_metadata}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/ragMetadata/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" }, -"type": "object" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RagMetadata" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -33497,85 +34112,50 @@ } } } -} -} }, -"a2aTasks": { +"ragEngineConfig": { +"resources": { +"operations": { "methods": { -"appendEvents": { -"description": "Appends TaskEvents to an A2aTask.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks/{a2aTasksId}:appendEvents", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.appendEvents", +"id": "aiplatform.projects.locations.ragEngineConfig.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the A2aTask to append events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/a2aTasks/{a2a_task}` or `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTasks/{a2a_task}`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/a2aTasks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:appendEvents", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AppendA2aTaskEventsRequest" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1AppendA2aTaskEventsResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates an A2aTask.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.create", +"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}/ragEngineConfig/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragEngineConfig.operations.delete", "parameterOrder": [ -"parent" -], -"parameters": { -"a2aTaskId": { -"description": "Required. User-defined ID of the A2aTask. This ID must be unique within the parent resource. It must be 1-63 characters, start with a lowercase letter or number, end with a lowercase letter or number, and only contain lowercase letters, numbers, and hyphens [AIP-122](https://google.aip.dev/122). Starting with a number is allowed for compatibility with the auto-generated UUID from A2A SDK.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the ReasoningEngine or TaskStore to create the A2aTask under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` or `projects/{project}/locations/{location}/taskStores/{task_store}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/a2aTasks", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1A2aTask" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1A2aTask" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes an A2aTask.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks/{a2aTasksId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.delete", -"parameterOrder": [ -"name" +"name" ], "parameters": { "name": { -"description": "Required. The resource name of the A2aTask to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/a2aTasks/{a2a_task}` or `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTasks/{a2a_task}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/a2aTasks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", "required": true, "type": "string" } @@ -33589,138 +34169,107 @@ ] }, "get": { -"description": "Gets an A2aTask.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks/{a2aTasksId}", +"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}/ragEngineConfig/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.get", +"id": "aiplatform.projects.locations.ragEngineConfig.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the A2aTask. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/a2aTasks/{a2a_task}` or `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTasks/{a2a_task}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/a2aTasks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", "required": true, "type": "string" -}, -"view": { -"description": "Optional. The view of the A2aTask to return.", -"enum": [ -"A2A_TASK_VIEW_UNSPECIFIED", -"A2A_TASK_VIEW_BASIC", -"A2A_TASK_VIEW_FULL" -], -"enumDescriptions": [ -"Task view unspecified.", -"Task header only (status, metadata, timestamps)", -"Full materialized state (artifacts + history)" -], -"location": "query", -"type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1A2aTask" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists A2aTasks for a ReasoningEngine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks", +"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}/ragEngineConfig/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.list", +"id": "aiplatform.projects.locations.ragEngineConfig.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `context_id` * `state` Example: `context_id=\"abc\"`, `state=\"WORKING\"`.", +"description": "The standard list filter.", "location": "query", "type": "string" }, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. If this field is omitted, the default ordering is `create_time` descending. More detail in [AIP-132](https://google.aip.dev/132). Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", -"location": "query", +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig$", +"required": true, "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of tasks to return. The service may return fewer than this value. If unspecified, at most 10 tasks will be returned. The maximum value is 100; values above 100 will hit exception.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The next_page_token value returned from a previous list ListA2aTasks call.", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the ReasoningEngine or TaskStore to list the A2aTasks under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` or `projects/{project}/locations/{location}/taskStores/{task_store}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, -"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/{+parent}/a2aTasks", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListA2aTasksResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"events": { -"methods": { -"list": { -"description": "Lists TaskEvents for an A2aTask.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks/{a2aTasksId}/events", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.events.list", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragEngineConfig.operations.wait", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. Supported fields: * `create_time` range (i.e. `create_time>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order the results by. If this field is omitted, the results will be ordered by `event_sequence_number` in descending order. For each field, the default sort order is ascending. To specify descending order for a field, append a ` desc` suffix. For example: `create_time desc`. Supported fields: * `create_time` * `event_sequence_number`", -"location": "query", +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", +"required": true, "type": "string" }, -"pageSize": { -"description": "Optional. The maximum number of events to return. The service may return fewer than this value. If unspecified, at most 100 events will be returned. The maximum value is 100; values above 100 will hit exception.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The next_page_token value returned from a previous list ListA2aTaskEvents call.", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" -}, -"parent": { -"description": "Required. The resource name of the A2aTask to list the TaskEvents under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/a2aTasks/{a2a_task}` or `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTasks/{a2a_task}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/a2aTasks/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+parent}/events", +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListA2aTaskEventsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -33728,79 +34277,85 @@ } } }, -"examples": { -"resources": { -"operations": { +"reasoningEngines": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}:cancel", +"asyncQuery": { +"description": "Async query using a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:asyncQuery", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.examples.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.asyncQuery", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}:asyncQuery", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AsyncQueryReasoningEngineRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.examples.operations.delete", +"cancelAsyncQuery": { +"description": "Cancels an AsyncQueryReasoningEngine operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:cancelAsyncQuery", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.cancelAsyncQuery", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:cancelAsyncQuery", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelAsyncQueryReasoningEngineRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1CancelAsyncQueryReasoningEngineResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.examples.operations.get", +"create": { +"description": "Creates a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource.", +"parent": { +"description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/reasoningEngines", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +}, "response": { "$ref": "GoogleLongrunningOperation" }, @@ -33809,30 +34364,29 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.examples.operations.wait", +"delete": { +"description": "Deletes a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.delete", "parameterOrder": [ "name" ], "parameters": { +"force": { +"description": "Optional. If set to true, child resources of this reasoning engine will also be deleted. Otherwise, the request will fail with FAILED_PRECONDITION error when the reasoning engine has undeleted child resources.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "The name of the operation resource to wait on.", +"description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleLongrunningOperation" }, @@ -33840,180 +34394,152 @@ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"feedbackEntries": { -"methods": { -"create": { -"description": "Creates a new FeedbackEntry.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries", +"executeCode": { +"description": "Executes code statelessly.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:executeCode", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.create", +"id": "aiplatform.projects.locations.reasoningEngines.executeCode", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine in which to create the FeedbackEntry. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/feedbackEntries", +"path": "v1beta1/{+name}:executeCode", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FeedbackEntry" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a FeedbackEntry and its associated FeedbackContext.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the FeedbackEntry to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+$", -"required": true, -"type": "string" -} +"$ref": "GoogleCloudAiplatformV1beta1ExecuteCodeRequest" }, -"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ExecuteCodeResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Retrieves a single FeedbackEntry by its resource name.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}", +"description": "Gets a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.get", +"id": "aiplatform.projects.locations.reasoningEngines.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the FeedbackEntry to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}`", +"description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeedbackEntry" +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"getFeedbackContext": { -"description": "Retrieves the FeedbackContext associated with a FeedbackEntry.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/feedbackContext", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.getFeedbackContext", +"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": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "Required. The resource name of the FeedbackContext to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}/feedbackContext`", +"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/[^/]+/feedbackEntries/[^/]+/feedbackContext$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+resource}:getIamPolicy", "response": { -"$ref": "GoogleCloudAiplatformV1beta1FeedbackContext" +"$ref": "GoogleIamV1Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists FeedbackEntries in a ReasoningEngine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries", +"description": "Lists reasoning engines in a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.list", +"id": "aiplatform.projects.locations.reasoningEngines.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. Standard list filter. Supported fields: * `session_id` * `user_id` * `feedback_type` * `feedback_labels`: Supports the HAS operator (`:`). For example: `feedback_labels:\"inaccurate\"`. * `create_time` * `update_time` Example: `feedback_type=\"THUMBS_DOWN\" AND feedback_labels:\"hallucination\"`.", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order results by, sorted in ascending order by default. Append ` desc` after a field name to sort that field in descending order. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of FeedbackEntries to return per page.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. A page token, received from a previous ListFeedbackEntries call.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the ReasoningEngine from which to list FeedbackEntries. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/feedbackEntries", +"path": "v1beta1/{+parent}/reasoningEngines", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListFeedbackEntriesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates an existing FeedbackEntry. Only the fields specified in update_mask are modified. If the mask is empty, all mutable fields are replaced with the values supplied in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}", +"description": "Updates a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.patch", +"id": "aiplatform.projects.locations.reasoningEngines.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name. Assigned by the server on create. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}`", +"description": "Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Optional. The field mask that controls which fields are updated. If unset or empty, all mutable fields of the FeedbackEntry are replaced with the values from feedback_entry.", +"description": "Optional. Mask specifying which fields to update.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -34021,541 +34547,687 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FeedbackEntry" +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" }, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"updateFeedbackContext": { -"description": "Updates the FeedbackContext associated with a FeedbackEntry. Only the fields specified in update_mask are modified. If the mask is empty, all mutable fields are replaced with the values supplied in the request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/feedbackContext", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.updateFeedbackContext", +"query": { +"description": "Queries using a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:query", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.query", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name. Assigned by the server on create. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}/feedbackContext`", +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/feedbackContext$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Optional. The field mask that controls which fields are updated. If unset or empty, all mutable fields of the FeedbackContext are replaced with the values from feedback_context.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:query", "request": { -"$ref": "GoogleCloudAiplatformV1beta1FeedbackContext" +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}:cancel", +"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.feedbackEntries.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.setIamPolicy", "parameterOrder": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"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/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleIamV1Policy" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.delete", +"streamQuery": { +"description": "Streams queries using a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.streamQuery", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:streamQuery", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.get", +"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": [ -"name" +"resource" ], "parameters": { -"name": { -"description": "The name of the operation resource.", +"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/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+resource}:testIamPermissions", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations", +"resources": { +"a2a": { +"methods": { +"card": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/card", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.card", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^card$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" }, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" +} }, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"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", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.wait", +"extendedAgentCard": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/extendedAgentCard", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.extendedAgentCard", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", +"pattern": "^extendedAgentCard$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"memories": { -"methods": { -"create": { -"description": "Create a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.create", +"tasks": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"memoryId": { -"description": "Optional. The user defined ID to use for memory, which will become the final component of the memory resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, and the last character must be a letter or number.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the ReasoningEngine to create the Memory under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"delete": { -"description": "Delete a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.memories.delete", +"resources": { +"message": { +"methods": { +"send": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/message:send", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.message.send", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^message$", +"required": true, +"type": "string" +}, "name": { -"description": "Required. The resource name of the Memory to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"generate": { -"description": "Generate memories.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:generate", +"stream": { +"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/message:stream", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.generate", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.message.stream", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to generate memories for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", +"location": "path", +"pattern": "^message$", +"required": true, +"type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:generate", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", "request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequest" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"get": { -"description": "Get a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", +"tasks": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.memories.get", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.a2aGetReasoningEngine", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks/[^/]+$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"ingestEvents": { -"description": "Ingests events for a Memory Bank.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:ingestEvents", +"cancel": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.ingestEvents", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.cancel", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to ingest events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^tasks/[^/]+$", +"required": true, +"type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:ingestEvents", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1IngestEventsRequest" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "List Memories.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories", +"pushNotificationConfigs": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}/pushNotificationConfigs", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.memories.list", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.pushNotificationConfigs", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `scope` (as a JSON string with equality match only) * `topics` (i.e. `topics.custom_memory_topic_label: \"example topic\" OR topics.managed_memory_topic: USER_PREFERENCES`)", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. The standard list order by string. If not specified, the default order is `create_time desc`. If specified, the default sorting order of provided fields is ascending. More detail in [AIP-132](https://google.aip.dev/132). Supported fields: * `create_time` * `update_time`", -"location": "query", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks/[^/]+/pushNotificationConfigs$", +"required": true, "type": "string" }, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token.", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the ReasoningEngine to list the Memories under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMemoriesResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Update a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.reasoningEngines.memories.patch", +"subscribe": { +"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}:subscribe", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.subscribe", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "Identifier. Represents the resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^tasks/[^/]+$", "required": true, "type": "string" }, -"updateMask": { -"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", -"format": "google-fieldmask", -"location": "query", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"purge": { -"description": "Purge memories.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:purge", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.purge", +"resources": { +"pushNotificationConfigs": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.tasks.pushNotificationConfigs.a2aGetReasoningEngine", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to purge memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:purge", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PurgeMemoriesRequest" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"retrieve": { -"description": "Retrieve memories.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:retrieve", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.retrieve", +"v1": { +"methods": { +"card": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/card", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.card", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to retrieve memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/card$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:retrieve", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesRequest" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"retrieveProfiles": { -"description": "Retrieves profiles.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:retrieveProfiles", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.retrieveProfiles", +"extendedAgentCard": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/extendedAgentCard", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.extendedAgentCard", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to retrieve profiles from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/extendedAgentCard$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:retrieveProfiles", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesRequest" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"rollback": { -"description": "Rollback Memory to a specific revision.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}:rollback", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.rollback", +"tasks": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/tasks$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The resource name of the Memory to rollback. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:rollback", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RollbackMemoryRequest" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -34563,229 +35235,298 @@ } }, "resources": { -"operations": { +"message": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}:cancel", +"send": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/message:send", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.message.send", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^v1/message$", +"required": true, +"type": "string" +}, "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.delete", +"stream": { +"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/message:stream", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.message.stream", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", +"location": "path", +"pattern": "^v1/message$", +"required": true, +"type": "string" +}, "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}", +"tasks": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.a2aGetReasoningEngine", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/tasks/[^/]+$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.list", +"cancel": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.cancel", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^v1/tasks/[^/]+$", +"required": true, "type": "string" }, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" +} }, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" }, -"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" -} +"type": "object" }, -"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.wait", +"pushNotificationConfigs": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.pushNotificationConfigs", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"revisions": { -"methods": { -"get": { -"description": "Get a Memory Revision.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/revisions/{revisionsId}", +"subscribe": { +"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}:subscribe", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.memories.revisions.get", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.subscribe", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", +"location": "path", +"pattern": "^v1/tasks/[^/]+$", +"required": true, +"type": "string" +}, "name": { -"description": "Required. The resource name of the Memory Revision to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}/revisions/{revision}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/revisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", "response": { -"$ref": "GoogleCloudAiplatformV1beta1MemoryRevision" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"list": { -"description": "List Memory Revisions for a Memory.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/revisions", +"resources": { +"pushNotificationConfigs": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.memories.revisions.list", +"id": "aiplatform.projects.locations.reasoningEngines.a2a.v1.tasks.pushNotificationConfigs.a2aGetReasoningEngine", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields (equality match only): * `labels`", -"location": "query", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs/[^/]+$", +"required": true, "type": "string" }, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token.", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the Memory to list revisions for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/revisions", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMemoryRevisionsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -34794,48 +35535,87 @@ } } } +} +} +} +} }, -"operations": { +"a2aTasks": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", +"appendEvents": { +"description": "Appends TaskEvents to an A2aTask.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks/{a2aTasksId}:appendEvents", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.appendEvents", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The resource name of the A2aTask to append events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/a2aTasks/{a2a_task}` or `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTasks/{a2a_task}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/a2aTasks/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}:appendEvents", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AppendA2aTaskEventsRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1AppendA2aTaskEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates an A2aTask.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"a2aTaskId": { +"description": "Required. User-defined ID of the A2aTask. This ID must be unique within the parent resource. It must be 1-63 characters, start with a lowercase letter or number, end with a lowercase letter or number, and only contain lowercase letters, numbers, and hyphens [AIP-122](https://google.aip.dev/122). Starting with a number is allowed for compatibility with the auto-generated UUID from A2A SDK.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the ReasoningEngine or TaskStore to create the A2aTask under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` or `projects/{project}/locations/{location}/taskStores/{task_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/a2aTasks", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1A2aTask" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1A2aTask" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", +"description": "Deletes an A2aTask.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks/{a2aTasksId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.operations.delete", +"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name of the A2aTask to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/a2aTasks/{a2a_task}` or `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTasks/{a2a_task}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/a2aTasks/[^/]+$", "required": true, "type": "string" } @@ -34849,687 +35629,638 @@ ] }, "get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", +"description": "Gets an A2aTask.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks/{a2aTasksId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The resource name of the A2aTask. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/a2aTasks/{a2a_task}` or `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTasks/{a2a_task}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/a2aTasks/[^/]+$", "required": true, "type": "string" +}, +"view": { +"description": "Optional. The view of the A2aTask to return.", +"enum": [ +"A2A_TASK_VIEW_UNSPECIFIED", +"A2A_TASK_VIEW_BASIC", +"A2A_TASK_VIEW_FULL" +], +"enumDescriptions": [ +"Task view unspecified.", +"Task header only (status, metadata, timestamps)", +"Full materialized state (artifacts + history)" +], +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1A2aTask" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations", +"description": "Lists A2aTasks for a ReasoningEngine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `context_id` * `state` Example: `context_id=\"abc\"`, `state=\"WORKING\"`.", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. If this field is omitted, the default ordering is `create_time` descending. More detail in [AIP-132](https://google.aip.dev/132). Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", +"location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of tasks to return. The service may return fewer than this value. If unspecified, at most 10 tasks will be returned. The maximum value is 100; values above 100 will hit exception.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. The next_page_token value returned from a previous list ListA2aTasks call.", "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" +"parent": { +"description": "Required. The resource name of the ReasoningEngine or TaskStore to list the A2aTasks under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` or `projects/{project}/locations/{location}/taskStores/{task_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/a2aTasks", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListA2aTasksResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.operations.wait", +"resources": { +"events": { +"methods": { +"list": { +"description": "Lists TaskEvents for an A2aTask.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/a2aTasks/{a2aTasksId}/events", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.a2aTasks.events.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", -"required": true, +"filter": { +"description": "Optional. The standard list filter. Supported fields: * `create_time` range (i.e. `create_time>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"orderBy": { +"description": "Optional. A comma-separated list of fields to order the results by. If this field is omitted, the results will be ordered by `event_sequence_number` in descending order. For each field, the default sort order is ascending. To specify descending order for a field, append a ` desc` suffix. For example: `create_time desc`. Supported fields: * `create_time` * `event_sequence_number`", "location": "query", "type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of events to return. The service may return fewer than this value. If unspecified, at most 100 events will be returned. The maximum value is 100; values above 100 will hit exception.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous list ListA2aTaskEvents call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the A2aTask to list the TaskEvents under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/a2aTasks/{a2a_task}` or `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTasks/{a2a_task}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/a2aTasks/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+parent}/events", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListA2aTaskEventsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } } +} +} }, -"runtimeRevisions": { +"examples": { +"resources": { +"operations": { "methods": { -"delete": { -"description": "Deletes a reasoning engine revision.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.delete", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.examples.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngineRuntimeRevision resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/runtimeRevisions/{runtime_revision}`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a reasoning engine runtime revision.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.get", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.examples.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngineRuntimeRevision resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/runtimeRevisions/{runtimeRevision}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngineRuntimeRevision" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists runtime revisions in a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions", +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.list", +"id": "aiplatform.projects.locations.reasoningEngines.examples.operations.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of ReasoningEngineRuntimeRevisions to return. The service may return fewer than this value. If unspecified, at most 50 revisions will be returned. The maximum value is 100; values above 100 will be coerced to 100.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the ReasoningEngine to list the ReasoningEngineRuntimeRevisions from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/runtimeRevisions", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListReasoningEngineRuntimeRevisionsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"query": { -"description": "Queries using a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}:query", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.query", +"id": "aiplatform.projects.locations.reasoningEngines.examples.operations.wait", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+name}:query", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+name}:wait", "response": { -"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"streamQuery": { -"description": "Streams queries using a reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}:streamQuery", +"feedbackEntries": { +"methods": { +"create": { +"description": "Creates a new FeedbackEntry.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.streamQuery", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the ReasoningEngine in which to create the FeedbackEntry. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:streamQuery", +"path": "v1beta1/{+parent}/feedbackEntries", "request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" +"$ref": "GoogleCloudAiplatformV1beta1FeedbackEntry" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"a2a": { -"methods": { -"card": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/card", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.card", +"delete": { +"description": "Deletes a FeedbackEntry and its associated FeedbackContext.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.delete", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^card$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the FeedbackEntry to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"extendedAgentCard": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/extendedAgentCard", +"get": { +"description": "Retrieves a single FeedbackEntry by its resource name.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.extendedAgentCard", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"name": { +"description": "Required. The resource name of the FeedbackEntry to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}`", "location": "path", -"pattern": "^extendedAgentCard$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+$", "required": true, "type": "string" +} }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1FeedbackEntry" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] }, +"getFeedbackContext": { +"description": "Retrieves the FeedbackContext associated with a FeedbackEntry.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/feedbackContext", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.getFeedbackContext", +"parameterOrder": [ +"name" +], +"parameters": { "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the FeedbackContext to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}/feedbackContext`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/feedbackContext$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1FeedbackContext" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"tasks": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks", +"list": { +"description": "Lists FeedbackEntries in a ReasoningEngine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^tasks$", -"required": true, +"filter": { +"description": "Optional. Standard list filter. Supported fields: * `session_id` * `user_id` * `feedback_type` * `feedback_labels`: Supports the HAS operator (`:`). For example: `feedback_labels:\"inaccurate\"`. * `create_time` * `update_time` Example: `feedback_type=\"THUMBS_DOWN\" AND feedback_labels:\"hallucination\"`.", +"location": "query", "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"orderBy": { +"description": "Optional. A comma-separated list of fields to order results by, sorted in ascending order by default. Append ` desc` after a field name to sort that field in descending order. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", "location": "query", "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"pageSize": { +"description": "Optional. The maximum number of FeedbackEntries to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous ListFeedbackEntries call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the ReasoningEngine from which to list FeedbackEntries. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+parent}/feedbackEntries", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1ListFeedbackEntriesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"message": { -"methods": { -"send": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/message:send", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.message.send", +"patch": { +"description": "Updates an existing FeedbackEntry. Only the fields specified in update_mask are modified. If the mask is empty, all mutable fields are replaced with the values supplied in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.patch", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"name": { +"description": "Identifier. The resource name. Assigned by the server on create. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}`", "location": "path", -"pattern": "^message$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+$", "required": true, "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, +"updateMask": { +"description": "Optional. The field mask that controls which fields are updated. If unset or empty, all mutable fields of the FeedbackEntry are replaced with the values from feedback_entry.", +"format": "google-fieldmask", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"path": "v1beta1/{+name}", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1FeedbackEntry" }, "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"stream": { -"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/message:stream", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.message.stream", +"updateFeedbackContext": { +"description": "Updates the FeedbackContext associated with a FeedbackEntry. Only the fields specified in update_mask are modified. If the mask is empty, all mutable fields are replaced with the values supplied in the request.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/feedbackContext", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.updateFeedbackContext", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", +"name": { +"description": "Identifier. The resource name. Assigned by the server on create. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/feedbackEntries/{feedback_entry}/feedbackContext`", "location": "path", -"pattern": "^message$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/feedbackContext$", "required": true, "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, +"updateMask": { +"description": "Optional. The field mask that controls which fields are updated. If unset or empty, all mutable fields of the FeedbackContext are replaced with the values from feedback_context.", +"format": "google-fieldmask", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", +"path": "v1beta1/{+name}", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1FeedbackContext" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } -} }, -"tasks": { +"resources": { +"operations": { "methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.a2aGetReasoningEngine", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.cancel", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}:cancel", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"cancel": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.cancel", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.delete", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", -"request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"pushNotificationConfigs": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}/pushNotificationConfigs", +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.pushNotificationConfigs", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^tasks/[^/]+/pushNotificationConfigs$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"subscribe": { -"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}:subscribe", +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.subscribe", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, +"filter": { +"description": "The standard list filter.", +"location": "query", "type": "string" }, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+$", "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}/a2a/{+a2aEndpoint}:subscribe", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"pushNotificationConfigs": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.pushNotificationConfigs.a2aGetReasoningEngine", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.feedbackEntries.operations.wait", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}:wait", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -35537,448 +36268,348 @@ } } }, -"v1": { +"memories": { "methods": { -"card": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/card", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.card", +"create": { +"description": "Create a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.memories.create", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/card$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"memoryId": { +"description": "Optional. The user defined ID to use for memory, which will become the final component of the memory resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, and the last character must be a letter or number.", "location": "query", "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to create the Memory under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/memories", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Memory" }, -"type": "object" +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"extendedAgentCard": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/extendedAgentCard", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.extendedAgentCard", +"delete": { +"description": "Delete a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.memories.delete", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/extendedAgentCard$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the Memory to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"tasks": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks", +"generate": { +"description": "Generate memories.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:generate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.memories.generate", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/tasks$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to generate memories for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/memories:generate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequest" }, -"type": "object" +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"message": { -"methods": { -"send": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/message:send", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.message.send", +"get": { +"description": "Get a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.memories.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^v1/message$", -"required": true, -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"description": "Required. The resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", -"request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1Memory" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"stream": { -"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/message:stream", +"ingestEvents": { +"description": "Ingests events for a Memory Bank.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:ingestEvents", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.message.stream", +"id": "aiplatform.projects.locations.reasoningEngines.memories.ingestEvents", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", -"location": "path", -"pattern": "^v1/message$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to ingest events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", +"path": "v1beta1/{+parent}/memories:ingestEvents", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1IngestEventsRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"tasks": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}", +"list": { +"description": "List Memories.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.a2aGetReasoningEngine", +"id": "aiplatform.projects.locations.reasoningEngines.memories.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/tasks/[^/]+$", -"required": true, +"filter": { +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `scope` (as a JSON string with equality match only) * `topics` (i.e. `topics.custom_memory_topic_label: \"example topic\" OR topics.managed_memory_topic: USER_PREFERENCES`)", +"location": "query", "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"orderBy": { +"description": "Optional. The standard list order by string. If not specified, the default order is `create_time desc`. If specified, the default sorting order of provided fields is ascending. More detail in [AIP-132](https://google.aip.dev/132). Supported fields: * `create_time` * `update_time`", "location": "query", "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the ReasoningEngine to list the Memories under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+parent}/memories", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1ListMemoriesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"cancel": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.cancel", +"patch": { +"description": "Update a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.reasoningEngines.memories.patch", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"name": { +"description": "Identifier. Represents the resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^v1/tasks/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, +"updateMask": { +"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", +"format": "google-fieldmask", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", +"path": "v1beta1/{+name}", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1Memory" }, "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"pushNotificationConfigs": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.pushNotificationConfigs", +"purge": { +"description": "Purge memories.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:purge", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.memories.purge", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to purge memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/memories:purge", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PurgeMemoriesRequest" }, -"type": "object" +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"subscribe": { -"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}:subscribe", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.subscribe", +"retrieve": { +"description": "Retrieve memories.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:retrieve", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.memories.retrieve", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", -"location": "path", -"pattern": "^v1/tasks/[^/]+$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to retrieve memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", +"path": "v1beta1/{+parent}/memories:retrieve", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesRequest" +}, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"pushNotificationConfigs": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.pushNotificationConfigs.a2aGetReasoningEngine", +"retrieveProfiles": { +"description": "Retrieves profiles.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:retrieveProfiles", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.memories.retrieveProfiles", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"parent": { +"description": "Required. The resource name of the ReasoningEngine to retrieve profiles from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" +} }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" +"path": "v1beta1/{+parent}/memories:retrieveProfiles", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] }, +"rollback": { +"description": "Rollback Memory to a specific revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}:rollback", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.memories.rollback", +"parameterOrder": [ +"name" +], +"parameters": { "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the Memory to rollback. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+name}:rollback", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RollbackMemoryRequest" }, -"type": "object" +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } -} -} -} -} -} -} -} }, +"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.cancel", "parameterOrder": [ "name" ], @@ -35986,7 +36617,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -36002,9 +36633,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.delete", +"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.delete", "parameterOrder": [ "name" ], @@ -36012,7 +36643,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -36027,9 +36658,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.get", "parameterOrder": [ "name" ], @@ -36037,7 +36668,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -36053,9 +36684,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.list", "parameterOrder": [ "name" ], @@ -36068,7 +36699,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" }, @@ -36100,9 +36731,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.wait", +"id": "aiplatform.projects.locations.reasoningEngines.memories.operations.wait", "parameterOrder": [ "name" ], @@ -36110,7 +36741,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -36131,111 +36762,86 @@ ] } } -} -} }, -"sandboxEnvironmentSnapshots": { +"revisions": { "methods": { -"delete": { -"description": "Deletes the specific SandboxEnvironmentSnapshot.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.delete", +"get": { +"description": "Get a Memory Revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/revisions/{revisionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.memories.revisions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the SandboxEnvironmentSnapshot to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`", +"description": "Required. The resource name of the Memory Revision to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}/revisions/{revision}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+/revisions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1MemoryRevision" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets details of the specific SandboxEnvironmentSnapshot.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}", +"list": { +"description": "List Memory Revisions for a Memory.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/revisions", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.get", +"id": "aiplatform.projects.locations.reasoningEngines.memories.revisions.list", "parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment snapshot. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentSnapshot" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists SandboxEnvironmentSnapshots in a given reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.list", -"parameterOrder": [ -"parent" +"parent" ], "parameters": { "filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields (equality match only): * `labels`", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of SandboxEnvironmentSnapshots to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironmentSnapshots will be returned. Values above 100 will be coerced to 100.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironmentSnapshots` call. Provide this to retrieve the subsequent page.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the reasoning engine to list sandbox environments from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the Memory to list revisions for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/sandboxEnvironmentSnapshots", +"path": "v1beta1/{+parent}/revisions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentSnapshotsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListMemoryRevisionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } +} +} +} }, -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.operations.cancel", "parameterOrder": [ "name" ], @@ -36243,7 +36849,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -36259,9 +36865,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete", +"id": "aiplatform.projects.locations.reasoningEngines.operations.delete", "parameterOrder": [ "name" ], @@ -36269,7 +36875,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -36284,9 +36890,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.operations.get", "parameterOrder": [ "name" ], @@ -36294,7 +36900,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -36310,9 +36916,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.operations.list", "parameterOrder": [ "name" ], @@ -36325,7 +36931,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" }, @@ -36357,9 +36963,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait", +"id": "aiplatform.projects.locations.reasoningEngines.operations.wait", "parameterOrder": [ "name" ], @@ -36367,7 +36973,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -36388,52 +36994,22 @@ ] } } -} -} }, -"sandboxEnvironmentTemplates": { +"runtimeRevisions": { "methods": { -"create": { -"description": "Creates a SandboxEnvironmentTemplate in a given reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the reasoning engine to create the SandboxEnvironmentTemplate in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/sandboxEnvironmentTemplates", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "delete": { -"description": "Deletes the specific SandboxEnvironmentTemplate.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", +"description": "Deletes a reasoning engine revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.delete", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the SandboxEnvironmentTemplate to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", +"description": "Required. The name of the ReasoningEngineRuntimeRevision resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/runtimeRevisions/{runtime_revision}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } @@ -36447,35 +37023,35 @@ ] }, "get": { -"description": "Gets details of the specific SandboxEnvironmentTemplate.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", +"description": "Gets a reasoning engine runtime revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.get", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the sandbox environment template. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", +"description": "Required. The name of the ReasoningEngineRuntimeRevision resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/runtimeRevisions/{runtimeRevision}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngineRuntimeRevision" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists SandboxEnvironmentTemplates in a given reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates", +"description": "Lists runtime revisions in a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.list", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.list", "parameterOrder": [ "parent" ], @@ -36486,929 +37062,963 @@ "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of SandboxEnvironmentTemplates to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironmentTemplates will be returned.", +"description": "Optional. The maximum number of ReasoningEngineRuntimeRevisions to return. The service may return fewer than this value. If unspecified, at most 50 revisions will be returned. The maximum value is 100; values above 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironmentTemplates` call. Provide this to retrieve the subsequent page.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the reasoning engine to list sandbox environment templates from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the ReasoningEngine to list the ReasoningEngineRuntimeRevisions from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/sandboxEnvironmentTemplates", +"path": "v1beta1/{+parent}/runtimeRevisions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentTemplatesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListReasoningEngineRuntimeRevisionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}:cancel", +"query": { +"description": "Queries using a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}:query", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.query", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}:query", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.delete", +"streamQuery": { +"description": "Streams queries using a reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}:streamQuery", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.streamQuery", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:streamQuery", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}", +"resources": { +"a2a": { +"methods": { +"card": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/card", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.card", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^card$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations", +"extendedAgentCard": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/extendedAgentCard", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.extendedAgentCard", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", +"pattern": "^extendedAgentCard$", "required": true, "type": "string" }, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "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" +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.wait", +"tasks": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", +"pattern": "^tasks$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } -} -} -} }, -"sandboxEnvironments": { +"resources": { +"message": { "methods": { -"authorizeAccess": { -"description": "Checks whether the caller is authorized to access the sandbox environment. Authorization is performed entirely by the API infrastructure from the `method_policy` below; the handler is a no-op. A successful response means the caller holds `sandboxEnvironments.execute` on the named sandbox. Used by the sandbox data-plane proxy, which forwards the caller's credential and proxies traffic only on success.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:authorizeAccess", +"send": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/message:send", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.authorizeAccess", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.message.send", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^message$", +"required": true, +"type": "string" +}, "name": { -"description": "Required. The resource name of the sandbox environment to authorize access to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:authorizeAccess", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", "request": { -"$ref": "GoogleCloudAiplatformV1beta1AuthorizeSandboxEnvironmentAccessRequest" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1AuthorizeSandboxEnvironmentAccessResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"bidiExecute": { -"description": "Executes using a sandbox environment with bidirectional streaming.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:bidiExecute", +"stream": { +"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/message:stream", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.bidiExecute", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.message.stream", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", +"location": "path", +"pattern": "^message$", +"required": true, +"type": "string" +}, "name": { -"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:bidiExecute", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", "request": { -"$ref": "GoogleCloudAiplatformV1beta1BidiExecuteSandboxEnvironmentRequest" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1BidiExecuteSandboxEnvironmentResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"create": { -"description": "Creates a SandboxEnvironment in a given reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.create", +"tasks": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.a2aGetReasoningEngine", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"parent": { -"description": "Required. The resource name of the reasoning engine to create the SandboxEnvironment in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^tasks/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+parent}/sandboxEnvironments", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironment" -}, -"response": { -"$ref": "GoogleLongrunningOperation" }, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" }, -"delete": { -"description": "Deletes the specific SandboxEnvironment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.delete", -"parameterOrder": [ -"name" -], -"parameters": { "name": { -"description": "Required. The resource name of the SandboxEnvironment to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"execute": { -"description": "Executes using a sandbox environment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:execute", +"cancel": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.execute", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.cancel", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^tasks/[^/]+$", +"required": true, +"type": "string" +}, "name": { -"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:execute", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteSandboxEnvironmentRequest" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteSandboxEnvironmentResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets details of the specific SandboxEnvironment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}", +"pushNotificationConfigs": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}/pushNotificationConfigs", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.get", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.pushNotificationConfigs", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks/[^/]+/pushNotificationConfigs$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The resource name of the sandbox environment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironment" -}, +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists SandboxEnvironments in a given reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments", +"subscribe": { +"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}:subscribe", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.list", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.subscribe", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of SandboxEnvironments to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironments will be returned.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironments` call. Provide this to retrieve the subsequent page.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the reasoning engine to list sandbox environments from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^tasks/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+parent}/sandboxEnvironments", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] }, -"pause": { -"description": "Pauses the specific SandboxEnvironment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:pause", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.pause", -"parameterOrder": [ -"name" -], -"parameters": { "name": { -"description": "Required. The resource name of the sandbox environment to pause. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:pause", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PauseSandboxEnvironmentRequest" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"resume": { -"description": "Resumes the specific SandboxEnvironment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:resume", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.resume", +"resources": { +"pushNotificationConfigs": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.tasks.pushNotificationConfigs.a2aGetReasoningEngine", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment to resume. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+name}:resume", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ResumeSandboxEnvironmentRequest" }, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" }, -"snapshot": { -"description": "Snapshots the specific SandboxEnvironment resource and creates a SandboxEnvironmentSnapshot resource.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:snapshot", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.snapshot", -"parameterOrder": [ -"name" -], -"parameters": { "name": { -"description": "Required. The resource name of the sandbox environment to snapshot. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:snapshot", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentSnapshot" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } +} +} +} }, -"resources": { -"operations": { +"v1": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.cancel", +"card": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/card", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.card", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", +"pattern": "^v1/card$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" }, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleProtobufEmpty" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}", +"extendedAgentCard": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/extendedAgentCard", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.extendedAgentCard", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/extendedAgentCard$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations", +"tasks": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^v1/tasks$", "required": true, "type": "string" }, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "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" +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}:wait", +"resources": { +"message": { +"methods": { +"send": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/message:send", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.wait", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.message.send", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", +"pattern": "^v1/message$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"sessions": { -"methods": { -"appendEvent": { -"description": "Appends an event to a given session.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}:appendEvent", +"stream": { +"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/message:stream", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.appendEvent", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.message.stream", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", +"location": "path", +"pattern": "^v1/message$", +"required": true, +"type": "string" +}, "name": { -"description": "Required. The resource name of the session to append event to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:appendEvent", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SessionEvent" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1AppendEventResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} }, -"compact": { -"description": "Compacts the event history of a given Session, which may run an LLM summarization call and rewrite the full event history. Compaction is a storage-side rewrite that can apply a stackable pipeline of rules (event-horizon preservation, tool-response truncation, thought stripping, and LLM summarization etc.)", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}:compact", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.compact", +"tasks": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.a2aGetReasoningEngine", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/tasks/[^/]+$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The resource name of the session to compact. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:compact", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CompactSessionRequest" -}, +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates a new Session.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions", +"cancel": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.create", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.cancel", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"parent": { -"description": "Required. The resource name of the location to create the session in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"pattern": "^v1/tasks/[^/]+$", "required": true, "type": "string" }, -"sessionId": { -"description": "Optional. The user defined ID to use for session, which will become the final component of the session resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first and last characters must be a letter or number.", -"location": "query", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/sessions", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Session" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes details of the specific Session.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.delete", +"pushNotificationConfigs": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.pushNotificationConfigs", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The resource name of the session. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets details of the specific Session.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", +"subscribe": { +"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}:subscribe", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.get", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.subscribe", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", +"location": "path", +"pattern": "^v1/tasks/[^/]+$", +"required": true, +"type": "string" +}, "name": { -"description": "Required. The resource name of the session. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Session" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -}, -"list": { -"description": "Lists Sessions in a given reasoning engine.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"filter": { -"description": "Optional. The standard list filter. Supported fields: * `display_name` * `user_id` * `labels` Example: `display_name=\"abc\"`, `user_id=\"123\"`, `labels.key=\"value\"`.", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of sessions to return. The service may return fewer than this value. If unspecified, the default page size is 100. Values greater than 100 will be capped at 100.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The next_page_token value returned from a previous list SessionService.ListSessions call.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the location to list sessions from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/sessions", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSessionsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"description": "Updates the specific Session.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the session. Format: 'projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}'.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", -"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": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Session" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Session" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} +} }, "resources": { -"events": { +"pushNotificationConfigs": { "methods": { -"list": { -"description": "Lists Events in a given session.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/events", +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.events.list", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.a2a.v1.tasks.pushNotificationConfigs.a2aGetReasoningEngine", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. Supported fields: * `timestamp` range (i.e. `timestamp>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `timestamp` Example: `timestamp desc`.", -"location": "query", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs/[^/]+$", +"required": true, "type": "string" }, -"pageSize": { -"description": "Optional. The maximum number of events to return. The service may return fewer than this value. If unspecified, at most 100 events will be returned. These events are ordered by timestamp in ascending order.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The next_page_token value returned from a previous list SessionService.ListEvents call.", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the session to list events from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/events", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEventsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } } +} +} +} +} +} +} }, "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.cancel", "parameterOrder": [ "name" ], @@ -37416,7 +38026,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -37432,9 +38042,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.delete", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.delete", "parameterOrder": [ "name" ], @@ -37442,7 +38052,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -37457,9 +38067,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.get", "parameterOrder": [ "name" ], @@ -37467,7 +38077,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -37483,9 +38093,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.list", "parameterOrder": [ "name" ], @@ -37498,7 +38108,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" }, @@ -37530,9 +38140,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.wait", +"id": "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.operations.wait", "parameterOrder": [ "name" ], @@ -37540,7 +38150,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -37563,52 +38173,22 @@ } } } -} -} }, -"schedules": { +"sandboxEnvironmentSnapshots": { "methods": { -"create": { -"description": "Creates a Schedule.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.schedules.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the Schedule in. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/schedules", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Schedule" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Schedule" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "delete": { -"description": "Deletes a Schedule.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"description": "Deletes the specific SandboxEnvironmentSnapshot.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.schedules.delete", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Schedule resource to be deleted. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"description": "Required. The resource name of the SandboxEnvironmentSnapshot to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", "required": true, "type": "string" } @@ -37622,161 +38202,66 @@ ] }, "get": { -"description": "Gets a Schedule.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"description": "Gets details of the specific SandboxEnvironmentSnapshot.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.schedules.get", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Schedule resource. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"description": "Required. The resource name of the sandbox environment snapshot. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Schedule" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentSnapshot" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Schedules in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules", +"description": "Lists SandboxEnvironmentSnapshots in a given reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots", "httpMethod": "GET", -"id": "aiplatform.projects.locations.schedules.list", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the Schedules that match the filter expression. The following fields are supported: * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `state`: Supports `=` and `!=` comparisons. * `request`: Supports existence of the check. (e.g. `create_pipeline_job_request:*` --> Schedule has create_pipeline_job_request). * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` existence check. Values must be in RFC 3339 format. * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. Filter expressions can be combined together using logical operators (`NOT`, `AND` & `OR`). The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `state=\"ACTIVE\" AND display_name:\"my_schedule_*\"` * `NOT display_name=\"my_schedule\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `end_time>\"2021-05-18T00:00:00Z\" OR NOT end_time:*` * `create_pipeline_job_request:*`", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided. For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple schedules having the same create time, order them by the end time in ascending order. If order_by is not specified, it will order by default with create_time in descending order. Supported fields: * `create_time` * `start_time` * `end_time` * `next_run_time`", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size. Default to 100 if not specified.", +"description": "Optional. The maximum number of SandboxEnvironmentSnapshots to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironmentSnapshots will be returned. Values above 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained via ListSchedulesResponse.next_page_token of the previous ScheduleService.ListSchedules call.", +"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironmentSnapshots` call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the Schedules from. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/schedules", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSchedulesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"description": "Updates an active or paused Schedule. When the Schedule is updated, new runs will be scheduled starting from the updated next execution time after the update time based on the time_specification in the updated Schedule. All unstarted runs before the update time will be skipped while already created runs will NOT be paused or canceled.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.schedules.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Immutable. The resource name of the Schedule.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Schedule" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Schedule" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"pause": { -"description": "Pauses a Schedule. Will mark Schedule.state to 'PAUSED'. If the schedule is paused, no new runs will be created. Already created runs will NOT be paused or canceled.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.schedules.pause", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the Schedule resource to be paused. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:pause", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PauseScheduleRequest" -}, -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"resume": { -"description": "Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catch_up is set up true, all missed runs will be scheduled for backfill first.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.schedules.resume", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the Schedule resource to be resumed. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"description": "Required. The resource name of the reasoning engine to list sandbox environments from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:resume", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ResumeScheduleRequest" -}, +"path": "v1beta1/{+parent}/sandboxEnvironmentSnapshots", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentSnapshotsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -37788,9 +38273,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.schedules.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel", "parameterOrder": [ "name" ], @@ -37798,7 +38283,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -37814,9 +38299,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.schedules.operations.delete", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete", "parameterOrder": [ "name" ], @@ -37824,7 +38309,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -37839,9 +38324,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.schedules.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.get", "parameterOrder": [ "name" ], @@ -37849,7 +38334,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -37865,9 +38350,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.schedules.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.list", "parameterOrder": [ "name" ], @@ -37880,7 +38365,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", "required": true, "type": "string" }, @@ -37912,9 +38397,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.schedules.operations.wait", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait", "parameterOrder": [ "name" ], @@ -37922,7 +38407,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -37946,33 +38431,28 @@ } } }, -"semanticGovernancePolicies": { +"sandboxEnvironmentTemplates": { "methods": { "create": { -"description": "Creates a SemanticGovernancePolicy.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies", +"description": "Creates a SandboxEnvironmentTemplate in a given reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates", "httpMethod": "POST", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.create", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location into which to create the SemanticGovernancePolicy. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the reasoning engine to create the SandboxEnvironmentTemplate in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" -}, -"semanticGovernancePolicyId": { -"description": "Required. The ID to use for the SemanticGovernancePolicy, which will become the final component of the SemanticGovernancePolicy's resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character cannot be a number or hyphen. The last character must be a letter or a number.", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/semanticGovernancePolicies", +"path": "v1beta1/{+parent}/sandboxEnvironmentTemplates", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -37982,23 +38462,18 @@ ] }, "delete": { -"description": "Deletes a SemanticGovernancePolicy.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", +"description": "Deletes the specific SandboxEnvironmentTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.delete", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.delete", "parameterOrder": [ "name" ], "parameters": { -"etag": { -"description": "Optional. The etag of the SemanticGovernancePolicy. If an etag is provided and does not match the current etag of the SemanticGovernancePolicy, deletion will be blocked and an ABORTED error will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The name of the SemanticGovernancePolicy resource to be deleted. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`", +"description": "Required. The resource name of the SandboxEnvironmentTemplate to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", "required": true, "type": "string" } @@ -38012,84 +38487,89 @@ ] }, "get": { -"description": "Gets a SemanticGovernancePolicy.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", +"description": "Gets details of the specific SandboxEnvironmentTemplate.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.get", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the SemanticGovernancePolicy resource. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`", +"description": "Required. The resource name of the sandbox environment template. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists SemanticGovernancePolicies in a given location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies", +"description": "Lists SandboxEnvironmentTemplates in a given reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates", "httpMethod": "GET", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.list", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.list", "parameterOrder": [ "parent" ], "parameters": { +"filter": { +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, "pageSize": { -"description": "Optional. The list page size. If zero, a default page size of 10 is used.", +"description": "Optional. The maximum number of SandboxEnvironmentTemplates to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironmentTemplates will be returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironmentTemplates` call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location from which to list the SemanticGovernancePolicies. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the reasoning engine to list sandbox environment templates from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/semanticGovernancePolicies", +"path": "v1beta1/{+parent}/sandboxEnvironmentTemplates", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSemanticGovernancePoliciesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentTemplatesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates a SemanticGovernancePolicy.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", +"description": "Updates the specific SandboxEnvironmentTemplate. Only the container image and the warm pool size can be updated.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.patch", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. Resource name of the SemanticGovernancePolicy.", +"description": "Identifier. The resource name of the SandboxEnvironmentTemplate. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Optional. `update_mask` is used to specify the fields to be overwritten in the SemanticGovernancePolicy resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the mask is not present, then all fields that are populated in the request message will be overwritten. Set the `update_mask` to `*` to override all fields.", +"description": "Optional. The fields to update. Only these paths are supported: * `custom_container_environment.custom_container_spec.image_uri` * `warm_pool_config.target_instance_count` * `warm_pool_config.update_strategy`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -38097,7 +38577,7 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -38112,9 +38592,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel", "parameterOrder": [ "name" ], @@ -38122,7 +38602,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38138,9 +38618,9 @@ }, "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}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.delete", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.delete", "parameterOrder": [ "name" ], @@ -38148,7 +38628,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38163,9 +38643,9 @@ }, "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}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.get", "parameterOrder": [ "name" ], @@ -38173,7 +38653,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38189,9 +38669,9 @@ }, "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}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.list", "parameterOrder": [ "name" ], @@ -38204,7 +38684,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", "required": true, "type": "string" }, @@ -38236,9 +38716,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.wait", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.wait", "parameterOrder": [ "name" ], @@ -38246,7 +38726,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -38270,65 +38750,84 @@ } } }, -"semanticGovernancePolicyEngine": { +"sandboxEnvironments": { "methods": { -"deprovision": { -"description": "Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine:deprovision", +"authorizeAccess": { +"description": "Checks whether the caller is authorized to access the sandbox environment. Authorization is performed entirely by the API infrastructure from the `method_policy` below; the handler is a no-op. A successful response means the caller holds `sandboxEnvironments.execute` on the named sandbox. Used by the sandbox data-plane proxy, which forwards the caller's credential and proxies traffic only on success.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:authorizeAccess", "httpMethod": "POST", -"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.deprovision", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.authorizeAccess", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the SemanticGovernancePolicyEngine to deprovision. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", +"description": "Required. The resource name of the sandbox environment to authorize access to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:deprovision", +"path": "v1beta1/{+name}:authorizeAccess", "request": { -"$ref": "GoogleCloudAiplatformV1beta1DeprovisionSemanticGovernancePolicyEngineRequest" +"$ref": "GoogleCloudAiplatformV1beta1AuthorizeSandboxEnvironmentAccessRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1AuthorizeSandboxEnvironmentAccessResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"servingProfiles": { -"methods": { -"create": { -"description": "Creates a ServingProfile.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles", +"bidiExecute": { +"description": "Executes using a sandbox environment with bidirectional streaming.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:bidiExecute", "httpMethod": "POST", -"id": "aiplatform.projects.locations.servingProfiles.create", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.bidiExecute", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the ServingProfile in. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" +} }, -"servingProfileId": { -"description": "Required. The ID to use for the ServingProfile, which will become the final component of the ServingProfile's resource name. This value should be 1-63 characters, and valid characters are `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", -"location": "query", +"path": "v1beta1/{+name}:bidiExecute", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BidiExecuteSandboxEnvironmentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BidiExecuteSandboxEnvironmentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a SandboxEnvironment in a given reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the reasoning engine to create the SandboxEnvironment in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/servingProfiles", +"path": "v1beta1/{+parent}/sandboxEnvironments", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ServingProfile" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironment" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -38338,120 +38837,203 @@ ] }, "delete": { -"description": "Deletes a ServingProfile.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}", +"description": "Deletes the specific SandboxEnvironment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.servingProfiles.delete", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ServingProfile resource to be deleted. Format: `projects/{project}/locations/{location}/servingProfiles/{serving_profile}`", +"description": "Required. The resource name of the SandboxEnvironment to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"execute": { +"description": "Executes using a sandbox environment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:execute", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.execute", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:execute", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExecuteSandboxEnvironmentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ExecuteSandboxEnvironmentResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a ServingProfile.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}", +"description": "Gets details of the specific SandboxEnvironment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.servingProfiles.get", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ServingProfile resource. Format: `projects/{project}/locations/{location}/servingProfiles/{serving_profile}`", +"description": "Required. The resource name of the sandbox environment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ServingProfile" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists ServingProfiles in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles", +"description": "Lists SandboxEnvironments in a given reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments", "httpMethod": "GET", -"id": "aiplatform.projects.locations.servingProfiles.list", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.list", "parameterOrder": [ "parent" ], "parameters": { +"filter": { +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, "pageSize": { -"description": "Optional. The standard list page size. If unspecified, at most 100 ServingProfiles will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"description": "Optional. The maximum number of SandboxEnvironments to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironments will be returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironments` call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the ServingProfiles from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the reasoning engine to list sandbox environments from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/servingProfiles", +"path": "v1beta1/{+parent}/sandboxEnvironments", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListServingProfilesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a ServingProfile.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.servingProfiles.patch", +"pause": { +"description": "Pauses the specific SandboxEnvironment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:pause", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.pause", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name of the ServingProfile.", +"description": "Required. The resource name of the sandbox environment to pause. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" +} }, -"updateMask": { -"description": "Optional. The list of fields to update; see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. If omitted, all populated (non-empty) mutable fields are updated; if set to `[\"*\"]`, all mutable fields are fully replaced (unpopulated values are cleared).", -"format": "google-fieldmask", -"location": "query", +"path": "v1beta1/{+name}:pause", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PauseSandboxEnvironmentRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes the specific SandboxEnvironment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:resume", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the sandbox environment to resume. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:resume", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ServingProfile" +"$ref": "GoogleCloudAiplatformV1beta1ResumeSandboxEnvironmentRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ServingProfile" +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"snapshot": { +"description": "Snapshots the specific SandboxEnvironment resource and creates a SandboxEnvironmentSnapshot resource.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:snapshot", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.snapshot", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the sandbox environment to snapshot. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:snapshot", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentSnapshot" +}, +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -38463,9 +39045,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.servingProfiles.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.cancel", "parameterOrder": [ "name" ], @@ -38473,7 +39055,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38489,9 +39071,9 @@ }, "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}/servingProfiles/{servingProfilesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.servingProfiles.operations.delete", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.delete", "parameterOrder": [ "name" ], @@ -38499,7 +39081,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38514,9 +39096,9 @@ }, "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}/servingProfiles/{servingProfilesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.servingProfiles.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.get", "parameterOrder": [ "name" ], @@ -38524,7 +39106,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38540,9 +39122,9 @@ }, "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}/servingProfiles/{servingProfilesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.servingProfiles.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.list", "parameterOrder": [ "name" ], @@ -38555,7 +39137,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" }, @@ -38587,9 +39169,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.servingProfiles.operations.wait", +"id": "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.wait", "parameterOrder": [ "name" ], @@ -38597,7 +39179,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -38621,33 +39203,89 @@ } } }, -"skills": { +"sessions": { "methods": { +"appendEvent": { +"description": "Appends an event to a given session.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}:appendEvent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.appendEvent", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the session to append event to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:appendEvent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SessionEvent" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1AppendEventResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"compact": { +"description": "Compacts the event history of a given Session, which may run an LLM summarization call and rewrite the full event history. Compaction is a storage-side rewrite that can apply a stackable pipeline of rules (event-horizon preservation, tool-response truncation, thought stripping, and LLM summarization etc.)", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}:compact", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.compact", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the session to compact. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:compact", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CompactSessionRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "create": { -"description": "Create a Skill.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills", +"description": "Creates a new Session.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions", "httpMethod": "POST", -"id": "aiplatform.projects.locations.skills.create", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The location to create the Skill in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the location to create the session in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" }, -"skillId": { -"description": "Required. The ID to use for the Skill, which will become the final component of the Skill's resource name. If not provided, a system-generated ID will be used. This value must be 1-63 characters. Valid characters are lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or a number. Specifically, the ID must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$` See [AIP-122](https://aip.dev/122#resource-id-segments) for more details.", +"sessionId": { +"description": "Optional. The user defined ID to use for session, which will become the final component of the session resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first and last characters must be a letter or number.", "location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/skills", +"path": "v1beta1/{+parent}/sessions", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Skill" +"$ref": "GoogleCloudAiplatformV1beta1Session" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -38657,18 +39295,18 @@ ] }, "delete": { -"description": "Delete a Skill.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}", +"description": "Deletes details of the specific Session.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.skills.delete", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Skill to delete. Format: `projects/{project}/locations/{location}/skills/{skill}`", +"description": "Required. The resource name of the session. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" } @@ -38682,84 +39320,94 @@ ] }, "get": { -"description": "Get a Skill.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}", +"description": "Gets details of the specific Session.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.skills.get", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Skill to retrieve. Format: `projects/{project}/locations/{location}/skills/{skill}`", +"description": "Required. The resource name of the session. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Skill" +"$ref": "GoogleCloudAiplatformV1beta1Session" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "List Skills.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills", +"description": "Lists Sessions in a given reasoning engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions", "httpMethod": "GET", -"id": "aiplatform.projects.locations.skills.list", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.list", "parameterOrder": [ "parent" ], "parameters": { +"filter": { +"description": "Optional. The standard list filter. Supported fields: * `display_name` * `user_id` * `labels` Example: `display_name=\"abc\"`, `user_id=\"123\"`, `labels.key=\"value\"`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", +"location": "query", +"type": "string" +}, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "Optional. The maximum number of sessions to return. The service may return fewer than this value. If unspecified, the default page size is 100. Values greater than 100 will be capped at 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token.", +"description": "Optional. The next_page_token value returned from a previous list SessionService.ListSessions call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The location to list the Skills in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the location to list sessions from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/skills", +"path": "v1beta1/{+parent}/sessions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSkillsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSessionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Update a Skill.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}", +"description": "Updates the specific Session.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.skills.patch", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name of the Skill. Format: `projects/{project}/locations/{location}/skills/{skill}`", +"description": "Identifier. The resource name of the session. Format: 'projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}'.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Optional. Mask specifying which fields to update.", +"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" @@ -38767,60 +39415,74 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Skill" +"$ref": "GoogleCloudAiplatformV1beta1Session" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Session" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"retrieve": { -"description": "Retrieves skills.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills:retrieve", +"resources": { +"events": { +"methods": { +"list": { +"description": "Lists Events in a given session.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/events", "httpMethod": "GET", -"id": "aiplatform.projects.locations.skills.retrieve", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.events.list", "parameterOrder": [ "parent" ], "parameters": { -"parent": { -"description": "Required. The location to retrieve the Skills in. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, +"filter": { +"description": "Optional. The standard list filter. Supported fields: * `timestamp` range (i.e. `timestamp>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", "type": "string" }, -"query": { -"description": "Optional. The query to find matching skills.", +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `timestamp` Example: `timestamp desc`.", "location": "query", "type": "string" }, -"topK": { -"description": "Optional. The maximum number of skills to return. The service may return fewer than this value. If unspecified, at most 10 skills will be returned. The maximum value is 100.", +"pageSize": { +"description": "Optional. The maximum number of events to return. The service may return fewer than this value. If unspecified, at most 100 events will be returned. These events are ordered by timestamp in ascending order.", "format": "int32", "location": "query", "type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous list SessionService.ListEvents call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the session to list events from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+parent}/skills:retrieve", +"path": "v1beta1/{+parent}/events", "response": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveSkillsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListEventsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } +} }, -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.skills.operations.cancel", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.cancel", "parameterOrder": [ "name" ], @@ -38828,7 +39490,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38844,9 +39506,9 @@ }, "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}/skills/{skillsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.skills.operations.delete", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.delete", "parameterOrder": [ "name" ], @@ -38854,7 +39516,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38869,9 +39531,9 @@ }, "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}/skills/{skillsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.skills.operations.get", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.get", "parameterOrder": [ "name" ], @@ -38879,7 +39541,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -38895,9 +39557,9 @@ }, "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}/skills/{skillsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.skills.operations.list", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.list", "parameterOrder": [ "name" ], @@ -38910,7 +39572,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" }, @@ -38942,9 +39604,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.skills.operations.wait", +"id": "aiplatform.projects.locations.reasoningEngines.sessions.operations.wait", "parameterOrder": [ "name" ], @@ -38952,7 +39614,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -38973,88 +39635,262 @@ ] } } +} +} +} +} }, -"revisions": { +"schedules": { "methods": { -"get": { -"description": "Get a Skill Revision.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/revisions/{revisionsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.skills.revisions.get", +"create": { +"description": "Creates a Schedule.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The resource name of the Skill Revision to retrieve. Format: `projects/{project}/locations/{location}/skills/{skill}/revisions/{revision}`", +"parent": { +"description": "Required. The resource name of the Location to create the Schedule in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/revisions/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/schedules", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1SkillRevision" +"$ref": "GoogleCloudAiplatformV1beta1Schedule" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "List Skill Revisions for a Skill.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/revisions", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.skills.revisions.list", +"delete": { +"description": "Deletes a Schedule.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.schedules.delete", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields (equality match only): * `labels`", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Skill to list revisions for. Format: `projects/{project}/locations/{location}/skills/{skill}`", +"name": { +"description": "Required. The name of the Schedule resource to be deleted. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/revisions", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSkillRevisionsResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"solvers": { -"resources": { -"operations": { -"methods": { +"get": { +"description": "Gets a Schedule.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Schedules in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Schedules that match the filter expression. The following fields are supported: * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `state`: Supports `=` and `!=` comparisons. * `request`: Supports existence of the check. (e.g. `create_pipeline_job_request:*` --> Schedule has create_pipeline_job_request). * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` existence check. Values must be in RFC 3339 format. * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. Filter expressions can be combined together using logical operators (`NOT`, `AND` & `OR`). The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `state=\"ACTIVE\" AND display_name:\"my_schedule_*\"` * `NOT display_name=\"my_schedule\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `end_time>\"2021-05-18T00:00:00Z\" OR NOT end_time:*` * `create_pipeline_job_request:*`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided. For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple schedules having the same create time, order them by the end time in ascending order. If order_by is not specified, it will order by default with create_time in descending order. Supported fields: * `create_time` * `start_time` * `end_time` * `next_run_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size. Default to 100 if not specified.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListSchedulesResponse.next_page_token of the previous ScheduleService.ListSchedules call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the Schedules from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/schedules", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListSchedulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an active or paused Schedule. When the Schedule is updated, new runs will be scheduled starting from the updated next execution time after the update time based on the time_specification in the updated Schedule. All unstarted runs before the update time will be skipped while already created runs will NOT be paused or canceled.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.schedules.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the Schedule.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses a Schedule. Will mark Schedule.state to 'PAUSED'. If the schedule is paused, no new runs will be created. Already created runs will NOT be paused or canceled.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource to be paused. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:pause", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PauseScheduleRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catch_up is set up true, all missed runs will be scheduled for backfill first.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource to be resumed. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:resume", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ResumeScheduleRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.solvers.operations.delete", +"id": "aiplatform.projects.locations.schedules.operations.delete", "parameterOrder": [ "name" ], @@ -39062,7 +39898,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -39077,9 +39913,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.solvers.operations.get", +"id": "aiplatform.projects.locations.schedules.operations.get", "parameterOrder": [ "name" ], @@ -39087,7 +39923,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -39103,9 +39939,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.solvers.operations.list", +"id": "aiplatform.projects.locations.schedules.operations.list", "parameterOrder": [ "name" ], @@ -39118,7 +39954,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", "required": true, "type": "string" }, @@ -39147,33 +39983,70 @@ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] } } } } }, -"specialistPools": { +"semanticGovernancePolicies": { "methods": { "create": { -"description": "Creates a SpecialistPool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools", +"description": "Creates a SemanticGovernancePolicy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies", "httpMethod": "POST", -"id": "aiplatform.projects.locations.specialistPools.create", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The parent Project name for the new SpecialistPool. The form is `projects/{project}/locations/{location}`.", +"description": "Required. The resource name of the Location into which to create the SemanticGovernancePolicy. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"semanticGovernancePolicyId": { +"description": "Required. The ID to use for the SemanticGovernancePolicy, which will become the final component of the SemanticGovernancePolicy's resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character cannot be a number or hyphen. The last character must be a letter or a number.", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/specialistPools", +"path": "v1beta1/{+parent}/semanticGovernancePolicies", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -39183,23 +40056,23 @@ ] }, "delete": { -"description": "Deletes a SpecialistPool as well as all Specialists in the pool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"description": "Deletes a SemanticGovernancePolicy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.specialistPools.delete", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.delete", "parameterOrder": [ "name" ], "parameters": { -"force": { -"description": "If set to true, any specialist managers in this SpecialistPool will also be deleted. (Otherwise, the request will only work if the SpecialistPool has no specialist managers.)", +"etag": { +"description": "Optional. The etag of the SemanticGovernancePolicy. If an etag is provided and does not match the current etag of the SemanticGovernancePolicy, deletion will be blocked and an ABORTED error will be returned.", "location": "query", -"type": "boolean" +"type": "string" }, "name": { -"description": "Required. The resource name of the SpecialistPool to delete. Format: `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`", +"description": "Required. The name of the SemanticGovernancePolicy resource to be deleted. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", "required": true, "type": "string" } @@ -39213,90 +40086,84 @@ ] }, "get": { -"description": "Gets a SpecialistPool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"description": "Gets a SemanticGovernancePolicy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.specialistPools.get", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the SpecialistPool resource. The form is `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`.", +"description": "Required. The name of the SemanticGovernancePolicy resource. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists SpecialistPools in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools", +"description": "Lists SemanticGovernancePolicies in a given location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies", "httpMethod": "GET", -"id": "aiplatform.projects.locations.specialistPools.list", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.list", "parameterOrder": [ "parent" ], "parameters": { "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The list page size. If zero, a default page size of 10 is used.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained by ListSpecialistPoolsResponse.next_page_token of the previous SpecialistPoolService.ListSpecialistPools call. Return first page if empty.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the SpecialistPool's parent resource. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location from which to list the SemanticGovernancePolicies. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read. FieldMask represents a set of", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/specialistPools", +"path": "v1beta1/{+parent}/semanticGovernancePolicies", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSpecialistPoolsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSemanticGovernancePoliciesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { -"description": "Updates a SpecialistPool.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"description": "Updates a SemanticGovernancePolicy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", "httpMethod": "PATCH", -"id": "aiplatform.projects.locations.specialistPools.patch", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the SpecialistPool.", +"description": "Identifier. Resource name of the SemanticGovernancePolicy.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Required. The update mask applies to the resource.", +"description": "Optional. `update_mask` is used to specify the fields to be overwritten in the SemanticGovernancePolicy resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the mask is not present, then all fields that are populated in the request message will be overwritten. Set the `update_mask` to `*` to override all fields.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -39304,7 +40171,7 @@ }, "path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -39319,9 +40186,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.specialistPools.operations.cancel", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.cancel", "parameterOrder": [ "name" ], @@ -39329,7 +40196,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -39345,9 +40212,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.specialistPools.operations.delete", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.delete", "parameterOrder": [ "name" ], @@ -39355,7 +40222,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -39370,9 +40237,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.specialistPools.operations.get", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.get", "parameterOrder": [ "name" ], @@ -39380,7 +40247,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -39396,9 +40263,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.specialistPools.operations.list", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.list", "parameterOrder": [ "name" ], @@ -39411,7 +40278,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", "required": true, "type": "string" }, @@ -39443,9 +40310,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.specialistPools.operations.wait", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.wait", "parameterOrder": [ "name" ], @@ -39453,7 +40320,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -39477,49 +40344,86 @@ } } }, -"studies": { +"semanticGovernancePolicyEngine": { +"methods": { +"deprovision": { +"description": "Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine:deprovision", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.deprovision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SemanticGovernancePolicyEngine to deprovision. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:deprovision", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeprovisionSemanticGovernancePolicyEngineRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingProfiles": { "methods": { "create": { -"description": "Creates a Study. A resource name will be generated after creation of the Study.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies", +"description": "Creates a ServingProfile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles", "httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.create", +"id": "aiplatform.projects.locations.servingProfiles.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to create the ServingProfile in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"servingProfileId": { +"description": "Required. The ID to use for the ServingProfile, which will become the final component of the ServingProfile's resource name. This value should be 1-63 characters, and valid characters are `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/studies", +"path": "v1beta1/{+parent}/servingProfiles", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Study" +"$ref": "GoogleCloudAiplatformV1beta1ServingProfile" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Study" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a Study.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", +"description": "Deletes a ServingProfile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.studies.delete", +"id": "aiplatform.projects.locations.servingProfiles.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Study resource to be deleted. Format: `projects/{project}/locations/{location}/studies/{study}`", +"description": "Required. The name of the ServingProfile resource to be deleted. Format: `projects/{project}/locations/{location}/servingProfiles/{serving_profile}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", "required": true, "type": "string" } @@ -39533,89 +40437,95 @@ ] }, "get": { -"description": "Gets a Study by name.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", +"description": "Gets a ServingProfile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.studies.get", +"id": "aiplatform.projects.locations.servingProfiles.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Study resource. Format: `projects/{project}/locations/{location}/studies/{study}`", +"description": "Required. The name of the ServingProfile resource. Format: `projects/{project}/locations/{location}/servingProfiles/{serving_profile}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Study" +"$ref": "GoogleCloudAiplatformV1beta1ServingProfile" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists all the studies in a region for an associated project.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies", +"description": "Lists ServingProfiles in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles", "httpMethod": "GET", -"id": "aiplatform.projects.locations.studies.list", +"id": "aiplatform.projects.locations.servingProfiles.list", "parameterOrder": [ "parent" ], "parameters": { "pageSize": { -"description": "Optional. The maximum number of studies to return per \"page\" of results. If unspecified, service will pick an appropriate default.", +"description": "Optional. The standard list page size. If unspecified, at most 100 ServingProfiles 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 to request the next page of results. If unspecified, there are no subsequent pages.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the Study from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Location to list the ServingProfiles from. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/studies", +"path": "v1beta1/{+parent}/servingProfiles", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListStudiesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListServingProfilesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"lookup": { -"description": "Looks a study up using the user-defined display_name field instead of the fully qualified resource name.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies:lookup", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.lookup", +"patch": { +"description": "Updates a ServingProfile.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.servingProfiles.patch", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to get the Study from. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "Identifier. The resource name of the ServingProfile.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update; see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. If omitted, all populated (non-empty) mutable fields are updated; if set to `[\"*\"]`, all mutable fields are fully replaced (unpopulated values are cleared).", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/studies:lookup", +"path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1LookupStudyRequest" +"$ref": "GoogleCloudAiplatformV1beta1ServingProfile" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Study" +"$ref": "GoogleCloudAiplatformV1beta1ServingProfile" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -39627,9 +40537,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.operations.cancel", +"id": "aiplatform.projects.locations.servingProfiles.operations.cancel", "parameterOrder": [ "name" ], @@ -39637,7 +40547,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -39653,9 +40563,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.studies.operations.delete", +"id": "aiplatform.projects.locations.servingProfiles.operations.delete", "parameterOrder": [ "name" ], @@ -39663,7 +40573,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -39678,9 +40588,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.studies.operations.get", +"id": "aiplatform.projects.locations.servingProfiles.operations.get", "parameterOrder": [ "name" ], @@ -39688,7 +40598,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -39704,9 +40614,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.studies.operations.list", +"id": "aiplatform.projects.locations.servingProfiles.operations.list", "parameterOrder": [ "name" ], @@ -39719,7 +40629,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", "required": true, "type": "string" }, @@ -39751,9 +40661,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.operations.wait", +"id": "aiplatform.projects.locations.servingProfiles.operations.wait", "parameterOrder": [ "name" ], @@ -39761,7 +40671,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -39782,286 +40692,195 @@ ] } } +} +} }, -"trials": { +"skills": { "methods": { -"addTrialMeasurement": { -"description": "Adds a measurement of the objective metrics to a Trial. This measurement is assumed to have been taken before the Trial is complete.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.addTrialMeasurement", -"parameterOrder": [ -"trialName" -], -"parameters": { -"trialName": { -"description": "Required. The name of the trial to add measurement. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+trialName}:addTrialMeasurement", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AddTrialMeasurementRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Trial" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"checkTrialEarlyStoppingState": { -"description": "Checks whether a Trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState", -"parameterOrder": [ -"trialName" -], -"parameters": { -"trialName": { -"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+trialName}:checkTrialEarlyStoppingState", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"complete": { -"description": "Marks a Trial as complete.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.complete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:complete", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CompleteTrialRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1Trial" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "create": { -"description": "Adds a user provided Trial to a Study.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", +"description": "Create a Skill.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills", "httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.create", +"id": "aiplatform.projects.locations.skills.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Study to create the Trial in. Format: `projects/{project}/locations/{location}/studies/{study}`", +"description": "Required. The location to create the Skill in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"skillId": { +"description": "Required. The ID to use for the Skill, which will become the final component of the Skill's resource name. If not provided, a system-generated ID will be used. This value must be 1-63 characters. Valid characters are lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or a number. Specifically, the ID must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$` See [AIP-122](https://aip.dev/122#resource-id-segments) for more details.", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/trials", +"path": "v1beta1/{+parent}/skills", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Trial" +"$ref": "GoogleCloudAiplatformV1beta1Skill" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Trial" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a Trial.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", +"description": "Delete a Skill.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.studies.trials.delete", +"id": "aiplatform.projects.locations.skills.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"description": "Required. The resource name of the Skill to delete. Format: `projects/{project}/locations/{location}/skills/{skill}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a Trial.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", +"description": "Get a Skill.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.studies.trials.get", +"id": "aiplatform.projects.locations.skills.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Trial resource. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"description": "Required. The resource name of the Skill to retrieve. Format: `projects/{project}/locations/{location}/skills/{skill}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Trial" +"$ref": "GoogleCloudAiplatformV1beta1Skill" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists the Trials associated with a Study.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", +"description": "List Skills.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills", "httpMethod": "GET", -"id": "aiplatform.projects.locations.studies.trials.list", +"id": "aiplatform.projects.locations.skills.list", "parameterOrder": [ "parent" ], "parameters": { "pageSize": { -"description": "Optional. The number of Trials to retrieve per \"page\" of results. If unspecified, the service will pick an appropriate default.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Study to list the Trial from. Format: `projects/{project}/locations/{location}/studies/{study}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/trials", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListTrialsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"listOptimalTrials": { -"description": "Lists the pareto-optimal Trials for multi-objective Study or the optimal Trials for single-objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.listOptimalTrials", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the Study that the optimal Trial belongs to.", +"description": "Required. The location to list the Skills in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/trials:listOptimalTrials", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ListOptimalTrialsRequest" -}, +"path": "v1beta1/{+parent}/skills", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListOptimalTrialsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSkillsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"stop": { -"description": "Stops a Trial.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.stop", +"patch": { +"description": "Update a Skill.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.skills.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"description": "Identifier. The resource name of the Skill. Format: `projects/{project}/locations/{location}/skills/{skill}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Optional. Mask specifying which fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}:stop", +"path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1StopTrialRequest" +"$ref": "GoogleCloudAiplatformV1beta1Skill" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Trial" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"suggest": { -"description": "Adds one or more Trials to a Study, with parameter values suggested by Vertex AI Vizier. Returns a long-running operation associated with the generation of Trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.suggest", +"retrieve": { +"description": "Retrieves skills.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills:retrieve", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.skills.retrieve", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The project and location that the Study belongs to. Format: `projects/{project}/locations/{location}/studies/{study}`", +"description": "Required. The location to retrieve the Skills in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+parent}/trials:suggest", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SuggestTrialsRequest" +"query": { +"description": "Optional. The query to find matching skills.", +"location": "query", +"type": "string" +}, +"topK": { +"description": "Optional. The maximum number of skills to return. The service may return fewer than this value. If unspecified, at most 10 skills will be returned. The maximum value is 100.", +"format": "int32", +"location": "query", +"type": "integer" +} }, +"path": "v1beta1/{+parent}/skills:retrieve", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1RetrieveSkillsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -40073,9 +40892,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.operations.cancel", +"id": "aiplatform.projects.locations.skills.operations.cancel", "parameterOrder": [ "name" ], @@ -40083,7 +40902,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -40099,9 +40918,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.studies.trials.operations.delete", +"id": "aiplatform.projects.locations.skills.operations.delete", "parameterOrder": [ "name" ], @@ -40109,7 +40928,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -40124,9 +40943,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.studies.trials.operations.get", +"id": "aiplatform.projects.locations.skills.operations.get", "parameterOrder": [ "name" ], @@ -40134,7 +40953,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -40150,9 +40969,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.studies.trials.operations.list", +"id": "aiplatform.projects.locations.skills.operations.list", "parameterOrder": [ "name" ], @@ -40165,7 +40984,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", "required": true, "type": "string" }, @@ -40197,9 +41016,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.studies.trials.operations.wait", +"id": "aiplatform.projects.locations.skills.operations.wait", "parameterOrder": [ "name" ], @@ -40207,7 +41026,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -40228,234 +41047,178 @@ ] } } -} -} -} -} }, -"taskStores": { -"resources": { -"a2aTaskRecords": { +"revisions": { "methods": { -"appendEvents": { -"description": "Appends A2ATaskRecordEvents to an A2ATaskRecord.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords/{a2aTaskRecordsId}:appendEvents", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.appendEvents", +"get": { +"description": "Get a Skill Revision.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/revisions/{revisionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.skills.revisions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the A2ATaskRecord to append events to. Format: `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTaskRecords/{a2a_task_record}`", +"description": "Required. The resource name of the Skill Revision to retrieve. Format: `projects/{project}/locations/{location}/skills/{skill}/revisions/{revision}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/a2aTaskRecords/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+/revisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:appendEvents", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AppendA2ATaskRecordEventsRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1AppendA2ATaskRecordEventsResponse" +"$ref": "GoogleCloudAiplatformV1beta1SkillRevision" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates an A2ATaskRecord.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.create", +"list": { +"description": "List Skill Revisions for a Skill.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/skills/{skillsId}/revisions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.skills.revisions.list", "parameterOrder": [ "parent" ], "parameters": { -"a2aTaskRecordId": { -"description": "Optional. The user defined ID to use for the A2ATaskRecord, which will become the final component of the A2ATaskRecord resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first and last characters must be a letter or number. This accepts A2A task IDs such as UUIDs, which may start with a digit.", +"filter": { +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields (equality match only): * `labels`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the TaskStore to create the A2ATaskRecord under. Format: `projects/{project}/locations/{location}/taskStores/{task_store}`", +"description": "Required. The resource name of the Skill to list revisions for. Format: `projects/{project}/locations/{location}/skills/{skill}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/a2aTaskRecords", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1A2ATaskRecord" -}, +"path": "v1beta1/{+parent}/revisions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1A2ATaskRecord" +"$ref": "GoogleCloudAiplatformV1beta1ListSkillRevisionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, +"solvers": { +"resources": { +"operations": { +"methods": { "delete": { -"description": "Deletes an A2ATaskRecord.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords/{a2aTaskRecordsId}", +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.delete", +"id": "aiplatform.projects.locations.solvers.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the A2ATaskRecord to delete. Format: `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTaskRecords/{a2a_task_record}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/a2aTaskRecords/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1A2ATaskRecord" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets an A2ATaskRecord.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords/{a2aTaskRecordsId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.get", +"id": "aiplatform.projects.locations.solvers.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the A2ATaskRecord. Format: `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTaskRecords/{a2a_task_record}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/a2aTaskRecords/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+/operations/[^/]+$", "required": true, "type": "string" -}, -"view": { -"description": "Optional. The view of the A2ATaskRecord to return.", -"enum": [ -"A2A_TASK_RECORD_VIEW_UNSPECIFIED", -"A2A_TASK_RECORD_VIEW_BASIC", -"A2A_TASK_RECORD_VIEW_FULL" -], -"enumDescriptions": [ -"Task view unspecified.", -"Task header only (status, metadata, timestamps)", -"Full materialized state (artifacts + history)" -], -"location": "query", -"type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1A2ATaskRecord" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists A2ATaskRecords in a TaskStore.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/solvers/{solversId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.list", +"id": "aiplatform.projects.locations.solvers.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `task_id` * `context_id` * `status.state` * `app_id` * `user_id` * `create_time` range (i.e. `create_time>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) Example: `context_id=\"abc\"`, `status.state=\"WORKING\"`.", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. If this field is omitted, the default ordering is `task_id` descending. More detail in [AIP-132](https://google.aip.dev/132). Supported field: * `task_id` * `create_time` Example: `create_time desc`, `task_id asc`.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of tasks to return. The service may return fewer than this value. If unspecified, at most 10 tasks will be returned. The maximum value is 100; values above 100 will be coerced to 100.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The next_page_token value returned from a previous list A2ATaskRecordService.ListA2ATaskRecords call.", +"description": "The standard list filter.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the TaskStore to list the A2ATaskRecords under. Format: `projects/{project}/locations/{location}/taskStores/{task_store}`", +"name": { +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/solvers/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+parent}/a2aTaskRecords", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListA2ATaskRecordsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"events": { -"methods": { -"list": { -"description": "Lists TaskEvents for an A2ATaskRecord.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords/{a2aTaskRecordsId}/events", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.events.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"filter": { -"description": "Optional. The standard list filter. Supported fields: * `generation` * `create_time` range (i.e. `create_time>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. Specifies the order of the returned events. If omitted, results default to `generation` in ascending order. To specify descending order, append a ` desc` suffix. For example: `generation desc`. Supported fields: * `generation` Note: Ordering directly by event timestamp (e.g., `create_time`) is not supported. Users requiring time-based traversal should use `generation` ordering and scan the results until the desired time threshold is reached (e.g., for chronological order, use default ascending and stop when `create_time` exceeds your target).", -"location": "query", -"type": "string" }, "pageSize": { -"description": "Optional. The maximum number of events to return. The service may return fewer than this value. If unspecified, at most 100 events will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The next_page_token value returned from a previous list A2ATaskRecordService.ListA2ATaskRecordEvents call.", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the A2ATaskRecord to list the TaskEvents under. Format: `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTaskRecords/{a2a_task_record}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/a2aTaskRecords/[^/]+$", -"required": true, -"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/{+parent}/events", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListA2ATaskRecordEventsResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -40463,106 +41226,100 @@ } } }, -"operations": { +"specialistPools": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/operations/{operationsId}:cancel", +"create": { +"description": "Creates a SpecialistPool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools", "httpMethod": "POST", -"id": "aiplatform.projects.locations.taskStores.operations.cancel", +"id": "aiplatform.projects.locations.specialistPools.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"parent": { +"description": "Required. The parent Project name for the new SpecialistPool. The form is `projects/{project}/locations/{location}`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/specialistPools", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/operations/{operationsId}", +"description": "Deletes a SpecialistPool as well as all Specialists in the pool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.taskStores.operations.delete", +"id": "aiplatform.projects.locations.specialistPools.delete", "parameterOrder": [ "name" ], "parameters": { +"force": { +"description": "If set to true, any specialist managers in this SpecialistPool will also be deleted. (Otherwise, the request will only work if the SpecialistPool has no specialist managers.)", +"location": "query", +"type": "boolean" +}, "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name of the SpecialistPool to delete. Format: `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "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}/taskStores/{taskStoresId}/operations/{operationsId}", +"description": "Gets a SpecialistPool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.taskStores.operations.get", +"id": "aiplatform.projects.locations.specialistPools.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the SpecialistPool resource. The form is `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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}/taskStores/{taskStoresId}/operations", +"description": "Lists SpecialistPools in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools", "httpMethod": "GET", -"id": "aiplatform.projects.locations.taskStores.operations.list", +"id": "aiplatform.projects.locations.specialistPools.list", "parameterOrder": [ -"name" +"parent" ], "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/[^/]+/taskStores/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { "description": "The standard list page size.", "format": "int32", @@ -40570,536 +41327,369 @@ "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "The standard list page token. Typically obtained by ListSpecialistPoolsResponse.next_page_token of the previous SpecialistPoolService.ListSpecialistPools call. Return first page if empty.", "location": "query", "type": "string" }, -"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/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.taskStores.operations.wait", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"parent": { +"description": "Required. The name of the SpecialistPool's parent resource. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"readMask": { +"description": "Mask specifying which fields to read. FieldMask represents a set of", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+parent}/specialistPools", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListSpecialistPoolsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"tensorboards": { -"methods": { -"batchRead": { -"description": "Reads multiple TensorboardTimeSeries' data. The data point number limit is 1000 for scalars, 100 for tensors and blob references. If the number of data points stored is less than the limit, all data is returned. Otherwise, the number limit of data points is randomly selected from this time series and returned.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:batchRead", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.batchRead", +"patch": { +"description": "Updates a SpecialistPool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.specialistPools.patch", "parameterOrder": [ -"tensorboard" +"name" ], "parameters": { -"tensorboard": { -"description": "Required. The resource name of the Tensorboard containing TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. The TensorboardTimeSeries referenced by time_series must be sub resources of this Tensorboard.", +"name": { +"description": "Required. The resource name of the SpecialistPool.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", "required": true, "type": "string" }, -"timeSeries": { -"description": "Required. The resource names of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"updateMask": { +"description": "Required. The update mask applies to the resource.", +"format": "google-fieldmask", "location": "query", -"repeated": true, "type": "string" } }, -"path": "v1beta1/{+tensorboard}:batchRead", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SpecialistPool" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1BatchReadTensorboardTimeSeriesDataResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"create": { -"description": "Creates a Tensorboard.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.create", +"id": "aiplatform.projects.locations.specialistPools.operations.cancel", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the Tensorboard in. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/tensorboards", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a Tensorboard.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tensorboards.delete", +"id": "aiplatform.projects.locations.specialistPools.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Tensorboard to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a Tensorboard.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.get", +"id": "aiplatform.projects.locations.specialistPools.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists Tensorboards in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.list", +"id": "aiplatform.projects.locations.specialistPools.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Lists the Tensorboards that match the filter expression.", +"description": "The standard list filter.", "location": "query", "type": "string" }, -"orderBy": { -"description": "Field to use to sort the list.", -"location": "query", +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, "type": "string" }, "pageSize": { -"description": "The maximum number of Tensorboards to return. The service may return fewer than this value. If unspecified, at most 100 Tensorboards are returned. The maximum value is 100; values above 100 are coerced to 100.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous TensorboardService.ListTensorboards call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboards must match the call that provided the page token.", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the Location to list Tensorboards. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", +"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": "string" +"type": "boolean" } }, -"path": "v1beta1/{+parent}/tensorboards", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardsResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a Tensorboard.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.tensorboards.patch", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.specialistPools.operations.wait", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Tensorboard resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", -"format": "google-fieldmask", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" -}, +"path": "v1beta1/{+name}:wait", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -}, -"readSize": { -"description": "Returns the storage size for a given TensorBoard instance.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readSize", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.readSize", -"parameterOrder": [ -"tensorboard" -], -"parameters": { -"tensorboard": { -"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+tensorboard}:readSize", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardSizeResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"readUsage": { -"description": "Returns a list of monthly active users for a given TensorBoard instance.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readUsage", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.readUsage", -"parameterOrder": [ -"tensorboard" -], -"parameters": { -"tensorboard": { -"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+tensorboard}:readUsage", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] } -}, -"resources": { -"experiments": { -"methods": { -"batchCreate": { -"description": "Batch create TensorboardTimeSeries that belong to a TensorboardExperiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:batchCreate", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.batchCreate", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The TensorboardRuns referenced by the parent fields in the CreateTensorboardTimeSeriesRequest messages must be sub resources of this TensorboardExperiment.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+parent}:batchCreate", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, +"studies": { +"methods": { "create": { -"description": "Creates a TensorboardExperiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments", +"description": "Creates a Study. A resource name will be generated after creation of the Study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.create", +"id": "aiplatform.projects.locations.studies.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Tensorboard to create the TensorboardExperiment in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -}, -"tensorboardExperimentId": { -"description": "Required. The ID to use for the Tensorboard experiment, which becomes the final component of the Tensorboard experiment's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/experiments", +"path": "v1beta1/{+parent}/studies", "request": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +"$ref": "GoogleCloudAiplatformV1beta1Study" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +"$ref": "GoogleCloudAiplatformV1beta1Study" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a TensorboardExperiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"description": "Deletes a Study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tensorboards.experiments.delete", +"id": "aiplatform.projects.locations.studies.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the TensorboardExperiment to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"description": "Required. The name of the Study resource to be deleted. Format: `projects/{project}/locations/{location}/studies/{study}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a TensorboardExperiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"description": "Gets a Study by name.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.get", +"id": "aiplatform.projects.locations.studies.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the TensorboardExperiment resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"description": "Required. The name of the Study resource. Format: `projects/{project}/locations/{location}/studies/{study}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +"$ref": "GoogleCloudAiplatformV1beta1Study" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists TensorboardExperiments in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments", +"description": "Lists all the studies in a region for an associated project.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.list", +"id": "aiplatform.projects.locations.studies.list", "parameterOrder": [ "parent" ], "parameters": { -"filter": { -"description": "Lists the TensorboardExperiments that match the filter expression.", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Field to use to sort the list.", -"location": "query", -"type": "string" -}, "pageSize": { -"description": "The maximum number of TensorboardExperiments to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardExperiments are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"description": "Optional. The maximum number of studies to return per \"page\" of results. If unspecified, service will pick an appropriate default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous TensorboardService.ListTensorboardExperiments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardExperiments must match the call that provided the page token.", +"description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Tensorboard to list TensorboardExperiments. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+parent}/experiments", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardExperimentsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"patch": { -"description": "Updates a TensorboardExperiment.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.tensorboards.experiments.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"description": "Required. The resource name of the Location to list the Study from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardExperiment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" -}, +"path": "v1beta1/{+parent}/studies", "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +"$ref": "GoogleCloudAiplatformV1beta1ListStudiesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"write": { -"description": "Write time series data points of multiple TensorboardTimeSeries in multiple TensorboardRun's. If any data fail to be ingested, an error is returned.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:write", +"lookup": { +"description": "Looks a study up using the user-defined display_name field instead of the fully qualified resource name.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies:lookup", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.write", +"id": "aiplatform.projects.locations.studies.lookup", "parameterOrder": [ -"tensorboardExperiment" +"parent" ], "parameters": { -"tensorboardExperiment": { -"description": "Required. The resource name of the TensorboardExperiment to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"parent": { +"description": "Required. The resource name of the Location to get the Study from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+tensorboardExperiment}:write", +"path": "v1beta1/{+parent}/studies:lookup", "request": { -"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataRequest" +"$ref": "GoogleCloudAiplatformV1beta1LookupStudyRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataResponse" +"$ref": "GoogleCloudAiplatformV1beta1Study" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -41111,9 +41701,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.operations.cancel", +"id": "aiplatform.projects.locations.studies.operations.cancel", "parameterOrder": [ "name" ], @@ -41121,7 +41711,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -41137,9 +41727,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tensorboards.experiments.operations.delete", +"id": "aiplatform.projects.locations.studies.operations.delete", "parameterOrder": [ "name" ], @@ -41147,7 +41737,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -41162,9 +41752,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.operations.get", +"id": "aiplatform.projects.locations.studies.operations.get", "parameterOrder": [ "name" ], @@ -41172,7 +41762,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -41188,9 +41778,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.operations.list", +"id": "aiplatform.projects.locations.studies.operations.list", "parameterOrder": [ "name" ], @@ -41203,7 +41793,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", "required": true, "type": "string" }, @@ -41235,9 +41825,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.operations.wait", +"id": "aiplatform.projects.locations.studies.operations.wait", "parameterOrder": [ "name" ], @@ -41245,7 +41835,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -41267,230 +41857,285 @@ } } }, -"runs": { +"trials": { "methods": { -"batchCreate": { -"description": "Batch create TensorboardRuns.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs:batchCreate", +"addTrialMeasurement": { +"description": "Adds a measurement of the objective metrics to a Trial. This measurement is assumed to have been taken before the Trial is complete.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate", +"id": "aiplatform.projects.locations.studies.trials.addTrialMeasurement", "parameterOrder": [ -"parent" +"trialName" ], "parameters": { -"parent": { -"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRuns in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The parent field in the CreateTensorboardRunRequest messages must match this field.", +"trialName": { +"description": "Required. The name of the trial to add measurement. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/runs:batchCreate", +"path": "v1beta1/{+trialName}:addTrialMeasurement", "request": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsRequest" +"$ref": "GoogleCloudAiplatformV1beta1AddTrialMeasurementRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsResponse" +"$ref": "GoogleCloudAiplatformV1beta1Trial" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates a TensorboardRun.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs", +"checkTrialEarlyStoppingState": { +"description": "Checks whether a Trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.create", +"id": "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState", "parameterOrder": [ -"parent" +"trialName" ], "parameters": { -"parent": { -"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRun in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"trialName": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", "required": true, "type": "string" +} }, -"tensorboardRunId": { -"description": "Required. The ID to use for the Tensorboard run, which becomes the final component of the Tensorboard run's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", -"location": "query", +"path": "v1beta1/{+trialName}:checkTrialEarlyStoppingState", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CheckTrialEarlyStoppingStateRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"complete": { +"description": "Marks a Trial as complete.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.complete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/runs", +"path": "v1beta1/{+name}:complete", "request": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +"$ref": "GoogleCloudAiplatformV1beta1CompleteTrialRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Adds a user provided Trial to a Study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Study to create the Trial in. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/trials", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Trial" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a TensorboardRun.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"description": "Deletes a Trial.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.delete", +"id": "aiplatform.projects.locations.studies.trials.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the TensorboardRun to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a TensorboardRun.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"description": "Gets a Trial.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.get", +"id": "aiplatform.projects.locations.studies.trials.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the TensorboardRun resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"description": "Required. The name of the Trial resource. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +"$ref": "GoogleCloudAiplatformV1beta1Trial" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists TensorboardRuns in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs", +"description": "Lists the Trials associated with a Study.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.list", +"id": "aiplatform.projects.locations.studies.trials.list", "parameterOrder": [ "parent" ], "parameters": { -"filter": { -"description": "Lists the TensorboardRuns that match the filter expression.", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Field to use to sort the list.", -"location": "query", -"type": "string" -}, "pageSize": { -"description": "The maximum number of TensorboardRuns to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardRuns are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"description": "Optional. The number of Trials to retrieve per \"page\" of results. If unspecified, the service will pick an appropriate default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous TensorboardService.ListTensorboardRuns call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardRuns must match the call that provided the page token.", +"description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the TensorboardExperiment to list TensorboardRuns. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"description": "Required. The resource name of the Study to list the Trial from. Format: `projects/{project}/locations/{location}/studies/{study}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", "required": true, "type": "string" +} }, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", +"path": "v1beta1/{+parent}/trials", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTrialsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listOptimalTrials": { +"description": "Lists the pareto-optimal Trials for multi-objective Study or the optimal Trials for single-objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.listOptimalTrials", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the Study that the optimal Trial belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/runs", +"path": "v1beta1/{+parent}/trials:listOptimalTrials", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ListOptimalTrialsRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardRunsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListOptimalTrialsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a TensorboardRun.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.patch", +"stop": { +"description": "Stops a Trial.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.stop", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardRun resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:stop", "request": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +"$ref": "GoogleCloudAiplatformV1beta1StopTrialRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" +"$ref": "GoogleCloudAiplatformV1beta1Trial" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"write": { -"description": "Write time series data points into multiple TensorboardTimeSeries under a TensorboardRun. If any data fail to be ingested, an error is returned.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}:write", +"suggest": { +"description": "Adds one or more Trials to a Study, with parameter values suggested by Vertex AI Vizier. Returns a long-running operation associated with the generation of Trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.write", +"id": "aiplatform.projects.locations.studies.trials.suggest", "parameterOrder": [ -"tensorboardRun" +"parent" ], "parameters": { -"tensorboardRun": { -"description": "Required. The resource name of the TensorboardRun to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"parent": { +"description": "Required. The project and location that the Study belongs to. Format: `projects/{project}/locations/{location}/studies/{study}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+tensorboardRun}:write", +"path": "v1beta1/{+parent}/trials:suggest", "request": { -"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataRequest" +"$ref": "GoogleCloudAiplatformV1beta1SuggestTrialsRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -41502,9 +42147,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel", +"id": "aiplatform.projects.locations.studies.trials.operations.cancel", "parameterOrder": [ "name" ], @@ -41512,7 +42157,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -41528,9 +42173,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete", +"id": "aiplatform.projects.locations.studies.trials.operations.delete", "parameterOrder": [ "name" ], @@ -41538,7 +42183,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -41553,9 +42198,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get", +"id": "aiplatform.projects.locations.studies.trials.operations.get", "parameterOrder": [ "name" ], @@ -41563,7 +42208,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -41579,9 +42224,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list", +"id": "aiplatform.projects.locations.studies.trials.operations.list", "parameterOrder": [ "name" ], @@ -41594,7 +42239,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", "required": true, "type": "string" }, @@ -41626,9 +42271,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait", +"id": "aiplatform.projects.locations.studies.trials.operations.wait", "parameterOrder": [ "name" ], @@ -41636,7 +42281,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -41657,286 +42302,248 @@ ] } } +} +} +} +} }, -"timeSeries": { +"taskStores": { +"resources": { +"a2aTaskRecords": { "methods": { -"create": { -"description": "Creates a TensorboardTimeSeries.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries", +"appendEvents": { +"description": "Appends A2ATaskRecordEvents to an A2ATaskRecord.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords/{a2aTaskRecordsId}:appendEvents", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create", +"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.appendEvents", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the TensorboardRun to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"name": { +"description": "Required. The resource name of the A2ATaskRecord to append events to. Format: `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTaskRecords/{a2a_task_record}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/a2aTaskRecords/[^/]+$", "required": true, "type": "string" -}, -"tensorboardTimeSeriesId": { -"description": "Optional. The user specified unique ID to use for the TensorboardTimeSeries, which becomes the final component of the TensorboardTimeSeries's resource name. This value should match \"a-z0-9{0, 127}\"", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/timeSeries", +"path": "v1beta1/{+name}:appendEvents", "request": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +"$ref": "GoogleCloudAiplatformV1beta1AppendA2ATaskRecordEventsRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +"$ref": "GoogleCloudAiplatformV1beta1AppendA2ATaskRecordEventsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a TensorboardTimeSeries.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete", +"create": { +"description": "Creates an A2ATaskRecord.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the TensorboardTimeSeries to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"a2aTaskRecordId": { +"description": "Optional. The user defined ID to use for the A2ATaskRecord, which will become the final component of the A2ATaskRecord resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first and last characters must be a letter or number. This accepts A2A task IDs such as UUIDs, which may start with a digit.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the TaskStore to create the A2ATaskRecord under. Format: `projects/{project}/locations/{location}/taskStores/{task_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/a2aTaskRecords", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1A2ATaskRecord" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1A2ATaskRecord" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"exportTensorboardTimeSeries": { -"description": "Exports a TensorboardTimeSeries' data. Data is returned in paginated responses.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:exportTensorboardTimeSeries", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries", +"delete": { +"description": "Deletes an A2ATaskRecord.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords/{a2aTaskRecordsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.delete", "parameterOrder": [ -"tensorboardTimeSeries" +"name" ], "parameters": { -"tensorboardTimeSeries": { -"description": "Required. The resource name of the TensorboardTimeSeries to export data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"name": { +"description": "Required. The resource name of the A2ATaskRecord to delete. Format: `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTaskRecords/{a2a_task_record}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/a2aTaskRecords/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+tensorboardTimeSeries}:exportTensorboardTimeSeries", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataResponse" +"$ref": "GoogleCloudAiplatformV1beta1A2ATaskRecord" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a TensorboardTimeSeries.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", +"description": "Gets an A2ATaskRecord.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords/{a2aTaskRecordsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get", +"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the TensorboardTimeSeries resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"description": "Required. The resource name of the A2ATaskRecord. Format: `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTaskRecords/{a2a_task_record}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/a2aTaskRecords/[^/]+$", "required": true, "type": "string" +}, +"view": { +"description": "Optional. The view of the A2ATaskRecord to return.", +"enum": [ +"A2A_TASK_RECORD_VIEW_UNSPECIFIED", +"A2A_TASK_RECORD_VIEW_BASIC", +"A2A_TASK_RECORD_VIEW_FULL" +], +"enumDescriptions": [ +"Task view unspecified.", +"Task header only (status, metadata, timestamps)", +"Full materialized state (artifacts + history)" +], +"location": "query", +"type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +"$ref": "GoogleCloudAiplatformV1beta1A2ATaskRecord" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists TensorboardTimeSeries in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries", +"description": "Lists A2ATaskRecords in a TaskStore.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list", +"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Lists the TensorboardTimeSeries that match the filter expression.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `task_id` * `context_id` * `status.state` * `app_id` * `user_id` * `create_time` range (i.e. `create_time>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) Example: `context_id=\"abc\"`, `status.state=\"WORKING\"`.", "location": "query", "type": "string" }, "orderBy": { -"description": "Field to use to sort the list.", +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. If this field is omitted, the default ordering is `task_id` descending. More detail in [AIP-132](https://google.aip.dev/132). Supported field: * `task_id` * `create_time` Example: `create_time desc`, `task_id asc`.", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of TensorboardTimeSeries to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardTimeSeries are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"description": "Optional. The maximum number of tasks to return. The service may return fewer than this value. If unspecified, at most 10 tasks 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 TensorboardService.ListTensorboardTimeSeries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardTimeSeries must match the call that provided the page token.", +"description": "Optional. The next_page_token value returned from a previous list A2ATaskRecordService.ListA2ATaskRecords call.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the TensorboardRun to list TensorboardTimeSeries. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "Mask specifying which fields to read.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+parent}/timeSeries", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardTimeSeriesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"patch": { -"description": "Updates a TensorboardTimeSeries.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", -"httpMethod": "PATCH", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Output only. Name of the TensorboardTimeSeries.", +"description": "Required. The resource name of the TaskStore to list the A2ATaskRecords under. Format: `projects/{project}/locations/{location}/taskStores/{task_store}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardTimeSeries resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" -}, +"path": "v1beta1/{+parent}/a2aTaskRecords", "response": { -"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +"$ref": "GoogleCloudAiplatformV1beta1ListA2ATaskRecordsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"read": { -"description": "Reads a TensorboardTimeSeries' data. By default, if the number of data points stored is less than 1000, all data is returned. Otherwise, 1000 data points is randomly selected from this time series and returned. This value can be changed by changing max_data_points, which can't be greater than 10k.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:read", +"resources": { +"events": { +"methods": { +"list": { +"description": "Lists TaskEvents for an A2ATaskRecord.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/a2aTaskRecords/{a2aTaskRecordsId}/events", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read", +"id": "aiplatform.projects.locations.taskStores.a2aTaskRecords.events.list", "parameterOrder": [ -"tensorboardTimeSeries" +"parent" ], "parameters": { "filter": { -"description": "Reads the TensorboardTimeSeries' data that match the filter expression.", +"description": "Optional. The standard list filter. Supported fields: * `generation` * `create_time` range (i.e. `create_time>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, -"maxDataPoints": { -"description": "The maximum number of TensorboardTimeSeries' data to return. This value should be a positive integer. This value can be set to -1 to return all data.", -"format": "int32", +"orderBy": { +"description": "Optional. Specifies the order of the returned events. If omitted, results default to `generation` in ascending order. To specify descending order, append a ` desc` suffix. For example: `generation desc`. Supported fields: * `generation` Note: Ordering directly by event timestamp (e.g., `create_time`) is not supported. Users requiring time-based traversal should use `generation` ordering and scan the results until the desired time threshold is reached (e.g., for chronological order, use default ascending and stop when `create_time` exceeds your target).", "location": "query", -"type": "integer" -}, -"tensorboardTimeSeries": { -"description": "Required. The resource name of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", -"required": true, "type": "string" -} -}, -"path": "v1beta1/{+tensorboardTimeSeries}:read", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardTimeSeriesDataResponse" }, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] +"pageSize": { +"description": "Optional. The maximum number of events to return. The service may return fewer than this value. If unspecified, at most 100 events will be returned. The maximum value is 100; values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" }, -"readBlobData": { -"description": "Gets bytes of TensorboardBlobs. This is to allow reading blob data stored in consumer project's Cloud Storage bucket without users having to obtain Cloud Storage access permission.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:readBlobData", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData", -"parameterOrder": [ -"timeSeries" -], -"parameters": { -"blobIds": { -"description": "IDs of the blobs to read.", +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous list A2ATaskRecordService.ListA2ATaskRecordEvents call.", "location": "query", -"repeated": true, "type": "string" }, -"timeSeries": { -"description": "Required. The resource name of the TensorboardTimeSeries to list Blobs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"parent": { +"description": "Required. The resource name of the A2ATaskRecord to list the TaskEvents under. Format: `projects/{project}/locations/{location}/taskStores/{task_store}/a2aTaskRecords/{a2a_task_record}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/a2aTaskRecords/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+timeSeries}:readBlobData", +"path": "v1beta1/{+parent}/events", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardBlobDataResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListA2ATaskRecordEventsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] } +} +} +} }, -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel", +"id": "aiplatform.projects.locations.taskStores.operations.cancel", "parameterOrder": [ "name" ], @@ -41944,7 +42551,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -41960,9 +42567,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete", +"id": "aiplatform.projects.locations.taskStores.operations.delete", "parameterOrder": [ "name" ], @@ -41970,7 +42577,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -41985,9 +42592,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get", +"id": "aiplatform.projects.locations.taskStores.operations.get", "parameterOrder": [ "name" ], @@ -41995,7 +42602,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -42011,9 +42618,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list", +"id": "aiplatform.projects.locations.taskStores.operations.list", "parameterOrder": [ "name" ], @@ -42026,7 +42633,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+$", "required": true, "type": "string" }, @@ -42058,9 +42665,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taskStores/{taskStoresId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait", +"id": "aiplatform.projects.locations.taskStores.operations.wait", "parameterOrder": [ "name" ], @@ -42068,7 +42675,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/taskStores/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -42091,244 +42698,415 @@ } } } +}, +"tasks": { +"methods": { +"get": { +"description": "Gets a task.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tasks/{tasksId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tasks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the task to retrieve. Both name forms are accepted: * projects/{project}/locations/{location}/agents/{agent}/tasks/{task} * projects/{project}/locations/{location}/tasks/{task}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tasks/[^/]+$", +"required": true, +"type": "string" } +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1Task" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +] +}, +"list": { +"description": "Lists tasks under a parent. Supports filtering (e.g. by status or assigned_agent) so a surface can show \"my tasks\".", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tasks", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tasks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter expression, e.g. \"status=WORKING\". Lineage filters pick how much of a task tree to fetch: * \"parent_task_id=\" -- direct children only (progressive disclosure, one level per call). * \"root_task_id=\" -- the whole tree in one flat collection. Label filters support filtering by task labels: * \"labels.=\" -- match tasks with the given label key and value. Multiple label filters can be combined with AND. Multiple values for the same key can be combined with OR, e.g., \"labels.foo=bar OR labels.foo=baz\". Status filters restrict the listing to tasks in the given statuses: * \"status=\" -- e.g. \"status=WORKING\". Multiple statuses can be combined with OR, e.g., \"status=WORKING OR status=IDLE\". Both page normally via `page_size`/`page_token`, and both are ordered by `order_by` (default \"create_time desc\"), not by tree shape. A whole-tree page is therefore not a subtree: a child can arrive before its parent, so the client buffers by `parent_task_id` and renders as parents resolve.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort order, e.g. \"create_time desc\". The sortable fields are `create_time` and `update_time`. Defaults to \"create_time desc\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of tasks to return. The service may return fewer. If unspecified (or <= 0), at most 50 are returned. The maximum is 100; larger values are capped to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token from a previous ListTasks call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent to list tasks under. Both forms are accepted and scope the listing differently: * projects/{project}/locations/{location}/agents/{agent} -- tasks assigned to that agent. * projects/{project}/locations/{location} -- all tasks in the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" } +}, +"path": "v1beta1/{+parent}/tasks", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTasksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.assist.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +] } } }, -"operations": { +"tensorboards": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", +"batchRead": { +"description": "Reads multiple TensorboardTimeSeries' data. The data point number limit is 1000 for scalars, 100 for tensors and blob references. If the number of data points stored is less than the limit, all data is returned. Otherwise, the number limit of data points is randomly selected from this time series and returned.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:batchRead", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.batchRead", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The resource name of the Tensorboard containing TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. The TensorboardTimeSeries referenced by time_series must be sub resources of this Tensorboard.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"timeSeries": { +"description": "Required. The resource names of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboard}:batchRead", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BatchReadTensorboardTimeSeriesDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Tensorboard.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.operations.cancel", +"id": "aiplatform.projects.locations.tensorboards.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"parent": { +"description": "Required. The resource name of the Location to create the Tensorboard in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/tensorboards", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}", +"description": "Deletes a Tensorboard.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tensorboards.operations.delete", +"id": "aiplatform.projects.locations.tensorboards.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the Tensorboard to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}", +"description": "Gets a Tensorboard.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.operations.get", +"id": "aiplatform.projects.locations.tensorboards.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations", +"description": "Lists Tensorboards in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tensorboards.operations.list", +"id": "aiplatform.projects.locations.tensorboards.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Lists the Tensorboards that match the filter expression.", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", -"required": true, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "The maximum number of Tensorboards to return. The service may return fewer than this value. If unspecified, at most 100 Tensorboards are returned. The maximum value is 100; values above 100 are coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "A page token, received from a previous TensorboardService.ListTensorboards call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboards must match the call that provided the page token.", "location": "query", "type": "string" }, -"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.", +"parent": { +"description": "Required. The resource name of the Location to list Tensorboards. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", "location": "query", -"type": "boolean" +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/tensorboards", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.tensorboards.operations.wait", +"patch": { +"description": "Updates a Tensorboard.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the Tensorboard resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Tensorboard" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +}, +"readSize": { +"description": "Returns the storage size for a given TensorBoard instance.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readSize", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.readSize", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" } +}, +"path": "v1beta1/{+tensorboard}:readSize", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardSizeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readUsage": { +"description": "Returns a list of monthly active users for a given TensorBoard instance.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readUsage", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.readUsage", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" } -} +}, +"path": "v1beta1/{+tensorboard}:readUsage", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardUsageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } }, -"trainingPipelines": { +"resources": { +"experiments": { "methods": { -"cancel": { -"description": "Cancels a TrainingPipeline. Starts asynchronous cancellation on the TrainingPipeline. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetTrainingPipeline or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the TrainingPipeline is not deleted; instead it becomes a pipeline with a TrainingPipeline.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and TrainingPipeline.state is set to `CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}:cancel", +"batchCreate": { +"description": "Batch create TensorboardTimeSeries that belong to a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:batchCreate", "httpMethod": "POST", -"id": "aiplatform.projects.locations.trainingPipelines.cancel", +"id": "aiplatform.projects.locations.tensorboards.experiments.batchCreate", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the TrainingPipeline to cancel. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The TensorboardRuns referenced by the parent fields in the CreateTensorboardTimeSeriesRequest messages must be sub resources of this TensorboardExperiment.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}:batchCreate", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelTrainingPipelineRequest" +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesRequest" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardTimeSeriesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "create": { -"description": "Creates a TrainingPipeline. A created TrainingPipeline right away will be attempted to be run.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines", +"description": "Creates a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments", "httpMethod": "POST", -"id": "aiplatform.projects.locations.trainingPipelines.create", +"id": "aiplatform.projects.locations.tensorboards.experiments.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the Location to create the TrainingPipeline in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Tensorboard to create the TensorboardExperiment in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", "required": true, "type": "string" +}, +"tensorboardExperimentId": { +"description": "Required. The ID to use for the Tensorboard experiment, which becomes the final component of the Tensorboard experiment's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/trainingPipelines", +"path": "v1beta1/{+parent}/experiments", "request": { -"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a TrainingPipeline.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}", +"description": "Deletes a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.trainingPipelines.delete", +"id": "aiplatform.projects.locations.tensorboards.experiments.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the TrainingPipeline resource to be deleted. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"description": "Required. The name of the TensorboardExperiment to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", "required": true, "type": "string" } @@ -42342,59 +43120,65 @@ ] }, "get": { -"description": "Gets a TrainingPipeline.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}", +"description": "Gets a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.trainingPipelines.get", +"id": "aiplatform.projects.locations.tensorboards.experiments.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the TrainingPipeline resource. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"description": "Required. The name of the TensorboardExperiment resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { -"description": "Lists TrainingPipelines in a Location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines", +"description": "Lists TensorboardExperiments in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments", "httpMethod": "GET", -"id": "aiplatform.projects.locations.trainingPipelines.list", +"id": "aiplatform.projects.locations.tensorboards.experiments.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"PIPELINE_STATE_SUCCEEDED\" AND display_name:\"my_pipeline_*\"` * `state!=\"PIPELINE_STATE_FAILED\" OR display_name=\"my_pipeline\"` * `NOT display_name=\"my_pipeline\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `training_task_definition:\"*automl_text_classification*\"`", +"description": "Lists the TensorboardExperiments that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", "location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "The maximum number of TensorboardExperiments to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardExperiments are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token. Typically obtained via ListTrainingPipelinesResponse.next_page_token of the previous PipelineService.ListTrainingPipelines call.", +"description": "A page token, received from a previous TensorboardService.ListTensorboardExperiments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardExperiments must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the Location to list the TrainingPipelines from. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the Tensorboard to list TensorboardExperiments. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", "required": true, "type": "string" }, @@ -42405,9 +43189,72 @@ "type": "string" } }, -"path": "v1beta1/{+parent}/trainingPipelines", +"path": "v1beta1/{+parent}/experiments", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListTrainingPipelinesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardExperimentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates a TensorboardExperiment.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardExperiment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardExperiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Write time series data points of multiple TensorboardTimeSeries in multiple TensorboardRun's. If any data fail to be ingested, an error is returned.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:write", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.write", +"parameterOrder": [ +"tensorboardExperiment" +], +"parameters": { +"tensorboardExperiment": { +"description": "Required. The resource name of the TensorboardExperiment to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboardExperiment}:write", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardExperimentDataResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -42419,9 +43266,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.trainingPipelines.operations.cancel", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.cancel", "parameterOrder": [ "name" ], @@ -42429,7 +43276,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -42445,9 +43292,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.trainingPipelines.operations.delete", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.delete", "parameterOrder": [ "name" ], @@ -42455,7 +43302,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -42470,9 +43317,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.trainingPipelines.operations.get", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.get", "parameterOrder": [ "name" ], @@ -42480,7 +43327,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -42496,9 +43343,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.trainingPipelines.operations.list", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.list", "parameterOrder": [ "name" ], @@ -42511,7 +43358,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", "required": true, "type": "string" }, @@ -42543,9 +43390,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.trainingPipelines.operations.wait", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.wait", "parameterOrder": [ "name" ], @@ -42553,7 +43400,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -42574,250 +43421,233 @@ ] } } -} -} }, -"tuningJobs": { +"runs": { "methods": { -"cancel": { -"description": "Cancels a tuning job. Starts an asynchronous cancellation request. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use GenAiTuningService.GetTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the tuning job is not deleted. Instead, its state is set to `CANCELLED`, and `error` is set to a status with a `google.rpc.Status.code` of 1, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}:cancel", +"batchCreate": { +"description": "Batch create TensorboardRuns.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs:batchCreate", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tuningJobs.cancel", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the tuning job to cancel. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRuns in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The parent field in the CreateTensorboardRunRequest messages must match this field.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/runs:batchCreate", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelTuningJobRequest" +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsRequest" }, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1BatchCreateTensorboardRunsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "create": { -"description": "Creates a tuning job. A created tuning job will be subsequently executed to start the model tuning process.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs", +"description": "Creates a TensorboardRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tuningJobs.create", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The resource name of the location to create the tuning job in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRun in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", "required": true, "type": "string" +}, +"tensorboardRunId": { +"description": "Required. The ID to use for the Tensorboard run, which becomes the final component of the Tensorboard run's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/tuningJobs", +"path": "v1beta1/{+parent}/runs", "request": { -"$ref": "GoogleCloudAiplatformV1beta1TuningJob" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1TuningJob" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a tuning job.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.tuningJobs.get", +"delete": { +"description": "Deletes a TensorboardRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the tuning job to retrieve. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"description": "Required. The name of the TensorboardRun to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1TuningJob" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists tuning jobs in a location.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs", +"get": { +"description": "Gets a TensorboardRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tuningJobs.list", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token. Typically obtained from ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.ListTuningJobs call.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the location to list the tuning jobs from. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "Required. The name of the TensorboardRun resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/tuningJobs", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListTuningJobsResponse" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"optimizePrompt": { -"description": "Optimizes a prompt. Given a prompt, this method returns a stream of optimized prompts expanded from the original prompt.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:optimizePrompt", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.tuningJobs.optimizePrompt", +"list": { +"description": "Lists TensorboardRuns in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.list", "parameterOrder": [ "parent" ], "parameters": { -"parent": { -"description": "Required. The resource name of the location to optimize the prompt in. Format: `projects/{project}/locations/{location}`", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, +"filter": { +"description": "Lists the TensorboardRuns that match the filter expression.", +"location": "query", "type": "string" -} }, -"path": "v1beta1/{+parent}/tuningJobs:optimizePrompt", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1OptimizePromptRequest" +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" }, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1OptimizePromptResponse" +"pageSize": { +"description": "The maximum number of TensorboardRuns to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardRuns are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" }, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboardRuns call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardRuns must match the call that provided the page token.", +"location": "query", +"type": "string" }, -"processData": { -"description": "Processes data from a user's Cloud Storage bucket and saves the result to a destination Cloud Storage bucket. This method returns a long-running operation, and the `ProcessDataResponse` will be returned upon completion.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:processData", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.tuningJobs.processData", -"parameterOrder": [ -"parent" -], -"parameters": { "parent": { -"description": "Required. The resource name of the Location to process the data in. Format: `projects/{project}/locations/{location}`", +"description": "Required. The resource name of the TensorboardExperiment to list TensorboardRuns. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+parent}/tuningJobs:processData", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ProcessDataRequest" +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} }, +"path": "v1beta1/{+parent}/runs", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardRunsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"rebaseTunedModel": { -"description": "Rebase a tuned model. A rebase operation takes a model that was previously tuned on a base model version, and retunes it on a new base model version. The rebase operation creates a new tuning job and a new tuned model.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:rebaseTunedModel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.tuningJobs.rebaseTunedModel", +"patch": { +"description": "Updates a TensorboardRun.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.patch", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the location in which to rebase the Model. Format: `projects/{project}/locations/{location}`", +"name": { +"description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", "required": true, "type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardRun resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/tuningJobs:rebaseTunedModel", +"path": "v1beta1/{+name}", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RebaseTunedModelRequest" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardRun" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"validateReinforcementTuningReward": { -"description": "Validates a reward on a given example.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:validateReinforcementTuningReward", +"write": { +"description": "Write time series data points into multiple TensorboardTimeSeries under a TensorboardRun. If any data fail to be ingested, an error is returned.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}:write", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tuningJobs.validateReinforcementTuningReward", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.write", "parameterOrder": [ -"parent" +"tensorboardRun" ], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to validate the reward in Format: `projects/{project}/locations/{location}`", +"tensorboardRun": { +"description": "Required. The resource name of the TensorboardRun to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/tuningJobs:validateReinforcementTuningReward", +"path": "v1beta1/{+tensorboardRun}:write", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardRequest" +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardResponse" +"$ref": "GoogleCloudAiplatformV1beta1WriteTensorboardRunDataResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -42827,9 +43657,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tuningJobs.operations.cancel", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel", "parameterOrder": [ "name" ], @@ -42837,7 +43667,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -42853,9 +43683,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.tuningJobs.operations.delete", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete", "parameterOrder": [ "name" ], @@ -42863,7 +43693,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -42878,9 +43708,9 @@ }, "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}/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.tuningJobs.operations.get", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get", "parameterOrder": [ "name" ], @@ -42888,7 +43718,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -42902,11 +43732,58 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.projects.locations.tuningJobs.operations.wait", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait", "parameterOrder": [ "name" ], @@ -42914,7 +43791,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -42935,470 +43812,352 @@ ] } } -} -} }, -"voices": { +"timeSeries": { "methods": { "create": { -"description": "Creates a custom voice from a natural-language prompt (`VOICE_TYPE_PROMPTED`) or from reference and consent audio recordings (`VOICE_TYPE_REPLICATED`).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/voices:create", +"description": "Creates a TensorboardTimeSeries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries", "httpMethod": "POST", -"id": "aiplatform.projects.locations.voices.create", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { -"description": "Required. The parent resource where this voice will be created. Format: `projects/{project}/locations/{location}` Supported only by the Vertex API.", +"description": "Required. The resource name of the TensorboardRun to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", "required": true, "type": "string" +}, +"tensorboardTimeSeriesId": { +"description": "Optional. The user specified unique ID to use for the TensorboardTimeSeries, which becomes the final component of the TensorboardTimeSeries's resource name. This value should match \"a-z0-9{0, 127}\"", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/voices:create", +"path": "v1beta1/{+parent}/timeSeries", "request": { -"$ref": "GoogleLearningVertexApiInteractionsV1beta1CreateVoiceRequest" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" }, "response": { -"$ref": "GenaiVertexV1beta1Voice" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a custom stored voice (`store = true`) by resource name. Prebuilt catalog voices (`\"prebuilt\"`) cannot be deleted.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/voices/{voicesId}:delete", +"description": "Deletes a TensorboardTimeSeries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.voices.delete", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the custom stored voice to delete (for example, `voices/voice_abc123def456`).", +"description": "Required. The name of the TensorboardTimeSeries to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/voices/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:delete", +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLearningVertexApiInteractionsV1beta1DeleteVoiceResponse" +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportTensorboardTimeSeries": { +"description": "Exports a TensorboardTimeSeries' data. Data is returned in paginated responses.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:exportTensorboardTimeSeries", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries", +"parameterOrder": [ +"tensorboardTimeSeries" +], +"parameters": { +"tensorboardTimeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to export data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+tensorboardTimeSeries}:exportTensorboardTimeSeries", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ExportTensorboardTimeSeriesDataResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets a custom stored voice (`store = true`) by resource name. Prebuilt catalog voices (`VOICE_TYPE_PREBUILT`) cannot be retrieved via `GetVoice`; use `ListVoices` instead.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/voices/{voicesId}:get", +"description": "Gets a TensorboardTimeSeries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.voices.get", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the custom stored voice to retrieve (for example, `voices/voice_abc123def456`).", +"description": "Required. The name of the TensorboardTimeSeries resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/voices/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:get", +"path": "v1beta1/{+name}", "response": { -"$ref": "GenaiVertexV1beta1Voice" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { -"description": "Lists custom stored voices owned by the caller as well as prebuilt system voices from Google's voice catalog.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/voices:list", +"description": "Lists TensorboardTimeSeries in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries", "httpMethod": "GET", -"id": "aiplatform.projects.locations.voices.list", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list", "parameterOrder": [ "parent" ], "parameters": { -"accent": { -"description": "Optional. Filter by accent description (e.g. \"American\", \"British\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified accents (OR).", -"location": "query", -"repeated": true, -"type": "string" -}, -"context": { -"description": "Optional. Filter by intended context or domain (e.g. \"News, Commercial\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified contexts (OR).", -"location": "query", -"repeated": true, -"type": "string" -}, -"gender": { -"description": "Optional. Filter by gender presentation (e.g. \"female\", \"male\", \"neutral\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified genders (OR).", +"filter": { +"description": "Lists the TensorboardTimeSeries that match the filter expression.", "location": "query", -"repeated": true, "type": "string" }, -"languageCode": { -"description": "Optional. Filter by BCP-47 language code (e.g. \"en-US\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified language codes (OR).", +"orderBy": { +"description": "Field to use to sort the list.", "location": "query", -"repeated": true, "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of voices to return per page. The service may return fewer than this value. If unspecified, at most 50 voices are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"description": "The maximum number of TensorboardTimeSeries to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardTimeSeries are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListVoices` call. Provide this to retrieve the subsequent page. When paginating, all filter query parameters (`language_code`, `region_code`, `accent`, `persona`, `context`, `gender`, `pitch`, `type`, and `search`) must match the call that returned this token; otherwise the request fails with `INVALID_ARGUMENT`. `page_size` may change between pages.", +"description": "A page token, received from a previous TensorboardService.ListTensorboardTimeSeries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardTimeSeries must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent that owns this collection of voices. Format: `projects/{project}/locations/{location}` Supported only by the Vertex API.", +"description": "Required. The resource name of the TensorboardRun to list TensorboardTimeSeries. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", "required": true, "type": "string" }, -"persona": { -"description": "Optional. Filter by vocal persona (e.g. \"Warm, Friendly\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified personas (OR).", +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", "location": "query", -"repeated": true, "type": "string" +} }, -"pitch": { -"description": "Optional. Filter by vocal pitch. Accepts `\"low\"`, `\"medium\"`, `\"high\"` (case-insensitive). If multiple values are specified, matches voices with any of the specified pitches (OR).", -"location": "query", -"repeated": true, -"type": "string" +"path": "v1beta1/{+parent}/timeSeries", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListTensorboardTimeSeriesResponse" }, -"regionCode": { -"description": "Optional. Filter by ISO 3166-1 alpha-2 or UN M.49 region code (e.g. \"US\", \"001\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified region codes (OR).", -"location": "query", -"repeated": true, -"type": "string" +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] }, -"search": { -"description": "Optional. Free-text substring search query matched case-insensitively against both `display_name` and `description`. Maximum 2048 bytes.", -"location": "query", +"patch": { +"description": "Updates a TensorboardTimeSeries.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the TensorboardTimeSeries.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, "type": "string" }, -"type": { -"description": "Optional. Filter by voice type. Accepts `\"prebuilt\"`, `\"replicated\"`, `\"prompted\"` (case-insensitive). If multiple values are specified, matches voices with any of the specified types (OR).", +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardTimeSeries resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", "location": "query", -"repeated": true, "type": "string" } }, -"path": "v1beta1/{+parent}/voices:list", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" +}, "response": { -"$ref": "GoogleLearningVertexApiInteractionsV1beta1ListVoicesResponse" +"$ref": "GoogleCloudAiplatformV1beta1TensorboardTimeSeries" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"modelGardenEula": { -"methods": { -"accept": { -"description": "Accepts the EULA acceptance status of a publisher model.", -"flatPath": "v1beta1/projects/{projectsId}/modelGardenEula:accept", -"httpMethod": "POST", -"id": "aiplatform.projects.modelGardenEula.accept", +"read": { +"description": "Reads a TensorboardTimeSeries' data. By default, if the number of data points stored is less than 1000, all data is returned. Otherwise, 1000 data points is randomly selected from this time series and returned. This value can be changed by changing max_data_points, which can't be greater than 10k.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:read", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read", "parameterOrder": [ -"parent" +"tensorboardTimeSeries" ], "parameters": { -"parent": { -"description": "Required. The project requesting access for named model. The format is `projects/{project}`.", +"filter": { +"description": "Reads the TensorboardTimeSeries' data that match the filter expression.", +"location": "query", +"type": "string" +}, +"maxDataPoints": { +"description": "The maximum number of TensorboardTimeSeries' data to return. This value should be a positive integer. This value can be set to -1 to return all data.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"tensorboardTimeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", "location": "path", -"pattern": "^projects/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/modelGardenEula:accept", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AcceptPublisherModelEulaRequest" -}, +"path": "v1beta1/{+tensorboardTimeSeries}:read", "response": { -"$ref": "GoogleCloudAiplatformV1beta1PublisherModelEulaAcceptance" +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardTimeSeriesDataResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"check": { -"description": "Checks the EULA acceptance status of a publisher model.", -"flatPath": "v1beta1/projects/{projectsId}/modelGardenEula:check", -"httpMethod": "POST", -"id": "aiplatform.projects.modelGardenEula.check", +"readBlobData": { +"description": "Gets bytes of TensorboardBlobs. This is to allow reading blob data stored in consumer project's Cloud Storage bucket without users having to obtain Cloud Storage access permission.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:readBlobData", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData", "parameterOrder": [ -"parent" +"timeSeries" ], "parameters": { -"parent": { -"description": "Required. The project requesting access for named model. The format is `projects/{project}`.", +"blobIds": { +"description": "IDs of the blobs to read.", +"location": "query", +"repeated": true, +"type": "string" +}, +"timeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to list Blobs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", "location": "path", -"pattern": "^projects/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/modelGardenEula:check", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CheckPublisherModelEulaAcceptanceRequest" -}, +"path": "v1beta1/{+timeSeries}:readBlobData", "response": { -"$ref": "GoogleCloudAiplatformV1beta1PublisherModelEulaAcceptance" +"$ref": "GoogleCloudAiplatformV1beta1ReadTensorboardBlobDataResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] } -} }, -"publishers": { "resources": { -"models": { +"operations": { "methods": { -"enableModel": { -"description": "Enables model for the project if prerequisites are met (e.g. completed questionnaire and consents, or an active Private Offer).", -"flatPath": "v1beta1/projects/{projectsId}/publishers/{publishersId}/models/{modelsId}:enableModel", -"httpMethod": "POST", -"id": "aiplatform.projects.publishers.models.enableModel", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel", "parameterOrder": [ -"parent", "name" ], "parameters": { "name": { -"description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`", -"location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -}, -"parent": { -"description": "Required. The project requesting access for named model. Format: `projects/{project}`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/{+name}:enableModel", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1EnableModelRequest" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EnableModelResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} -} -} }, -"publishers": { -"resources": { -"models": { -"methods": { -"computeTokens": { -"description": "Return a list of tokens based on the input text.", -"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:computeTokens", -"httpMethod": "POST", -"id": "aiplatform.publishers.models.computeTokens", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"name": { +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+endpoint}:computeTokens", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"countTokens": { -"description": "Perform a token counting.", -"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:countTokens", -"httpMethod": "POST", -"id": "aiplatform.publishers.models.countTokens", -"parameterOrder": [ -"endpoint" -], -"parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", -"location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+endpoint}:countTokens", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"fetchPredictOperation": { -"description": "Fetch an asynchronous online prediction operation.", -"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", -"httpMethod": "POST", -"id": "aiplatform.publishers.models.fetchPredictOperation", -"parameterOrder": [ -"endpoint" -], -"parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", -"location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+endpoint}:fetchPredictOperation", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, -"generateContent": { -"description": "Generate content with multimodal inputs.", -"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:generateContent", -"httpMethod": "POST", -"id": "aiplatform.publishers.models.generateContent", -"parameterOrder": [ -"model" -], -"parameters": { -"model": { -"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", -"location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+model}:generateContent", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] -}, "get": { -"description": "Gets a Model Garden publisher model.", -"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}", +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.publishers.models.get", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get", "parameterOrder": [ "name" ], "parameters": { -"huggingFaceToken": { -"description": "Optional. Token used to access Hugging Face gated models.", -"location": "query", -"type": "string" -}, -"includeEquivalentModelGardenModelDeploymentConfigs": { -"description": "Optional. Whether to cnclude the deployment configs from the equivalent Model Garden model if the requested model is a Hugging Face model.", -"location": "query", -"type": "boolean" -}, -"isHuggingFaceModel": { -"description": "Optional. Boolean indicates whether the requested model is a Hugging Face model.", -"location": "query", -"type": "boolean" -}, -"languageCode": { -"description": "Optional. The IETF BCP-47 language code representing the language in which the publisher model's text information should be written in.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", "required": true, "type": "string" -}, -"view": { -"description": "Optional. PublisherModel view specifying which fields to read.", -"enum": [ -"PUBLISHER_MODEL_VIEW_UNSPECIFIED", -"PUBLISHER_MODEL_VIEW_BASIC", -"PUBLISHER_MODEL_VIEW_FULL", -"PUBLISHER_MODEL_VERSION_VIEW_BASIC" -], -"enumDescriptions": [ -"The default / unset value. The API will default to the BASIC view.", -"Include basic metadata about the publisher model, but not the full contents.", -"Include everything.", -"Include: VersionId, ModelVersionExternalName, and SupportedActions." -], -"location": "query", -"type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1PublisherModel" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -43406,182 +44165,99 @@ ] }, "list": { -"description": "Lists publisher models in Model Garden.", -"flatPath": "v1beta1/publishers/{publishersId}/models", +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", "httpMethod": "GET", -"id": "aiplatform.publishers.models.list", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list", "parameterOrder": [ -"parent" +"name" ], "parameters": { "filter": { -"description": "Optional. The standard list filter.", -"location": "query", -"type": "string" -}, -"languageCode": { -"description": "Optional. The IETF BCP-47 language code representing the language in which the publisher models' text information should be written in. If not set, by default English (en).", +"description": "The standard list filter.", "location": "query", "type": "string" }, -"listAllVersions": { -"description": "Optional. List all publisher model versions if the flag is set to true.", -"location": "query", -"type": "boolean" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", -"location": "query", +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, "type": "string" }, "pageSize": { -"description": "Optional. The standard list page size.", +"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token. Typically obtained via ListPublisherModelsResponse.next_page_token of the previous ModelGardenService.ListPublisherModels call.", +"description": "The standard list page token.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The name of the Publisher from which to list the PublisherModels. Format: `publishers/{publisher}`", -"location": "path", -"pattern": "^publishers/[^/]+$", -"required": true, -"type": "string" -}, -"view": { -"description": "Optional. PublisherModel view specifying which fields to read.", -"enum": [ -"PUBLISHER_MODEL_VIEW_UNSPECIFIED", -"PUBLISHER_MODEL_VIEW_BASIC", -"PUBLISHER_MODEL_VIEW_FULL", -"PUBLISHER_MODEL_VERSION_VIEW_BASIC" -], -"enumDescriptions": [ -"The default / unset value. The API will default to the BASIC view.", -"Include basic metadata about the publisher model, but not the full contents.", -"Include everything.", -"Include: VersionId, ModelVersionExternalName, and SupportedActions." -], +"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": "string" +"type": "boolean" } }, -"path": "v1beta1/{+parent}/models", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListPublisherModelsResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"predict": { -"description": "", -"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:predict", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.publishers.models.predict", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait", "parameterOrder": [ -"endpoint" +"name" ], "parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+endpoint}:predict", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PredictRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1PredictResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] }, -"predictLongRunning": { -"description": "", -"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:predictLongRunning", -"httpMethod": "POST", -"id": "aiplatform.publishers.models.predictLongRunning", -"parameterOrder": [ -"endpoint" -], -"parameters": { -"endpoint": { -"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", -"location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", -"required": true, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+endpoint}:predictLongRunning", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" -}, +"path": "v1beta1/{+name}:wait", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" +"https://www.googleapis.com/auth/cloud-platform" ] -}, -"streamGenerateContent": { -"description": "Generate content with multimodal inputs with streaming support.", -"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", -"httpMethod": "POST", -"id": "aiplatform.publishers.models.streamGenerateContent", -"parameterOrder": [ -"model" -], -"parameters": { -"model": { -"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", -"location": "path", -"pattern": "^publishers/[^/]+/models/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+model}:streamGenerateContent", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/cloud-platform.read-only" -] +} +} +} } } } } }, -"ragCorpora": { -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.ragCorpora.operations.cancel", +"id": "aiplatform.projects.locations.tensorboards.operations.cancel", "parameterOrder": [ "name" ], @@ -43589,7 +44265,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^ragCorpora/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -43605,9 +44281,9 @@ }, "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/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.ragCorpora.operations.delete", +"id": "aiplatform.projects.locations.tensorboards.operations.delete", "parameterOrder": [ "name" ], @@ -43615,7 +44291,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^ragCorpora/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -43630,9 +44306,9 @@ }, "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/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.ragCorpora.operations.get", +"id": "aiplatform.projects.locations.tensorboards.operations.get", "parameterOrder": [ "name" ], @@ -43640,7 +44316,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^ragCorpora/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -43656,9 +44332,9 @@ }, "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/ragCorpora/{ragCorporaId}/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations", "httpMethod": "GET", -"id": "aiplatform.ragCorpora.operations.list", +"id": "aiplatform.projects.locations.tensorboards.operations.list", "parameterOrder": [ "name" ], @@ -43671,7 +44347,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^ragCorpora/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", "required": true, "type": "string" }, @@ -43703,9 +44379,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.ragCorpora.operations.wait", +"id": "aiplatform.projects.locations.tensorboards.operations.wait", "parameterOrder": [ "name" ], @@ -43713,7 +44389,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^ragCorpora/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -43734,109 +44410,131 @@ ] } } +} +} }, -"ragFiles": { -"resources": { -"operations": { +"trainingPipelines": { "methods": { "cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", +"description": "Cancels a TrainingPipeline. Starts asynchronous cancellation on the TrainingPipeline. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetTrainingPipeline or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the TrainingPipeline is not deleted; instead it becomes a pipeline with a TrainingPipeline.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and TrainingPipeline.state is set to `CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}:cancel", "httpMethod": "POST", -"id": "aiplatform.ragCorpora.ragFiles.operations.cancel", +"id": "aiplatform.projects.locations.trainingPipelines.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The name of the TrainingPipeline to cancel. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", "location": "path", -"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CancelTrainingPipelineRequest" +}, "response": { "$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TrainingPipeline. A created TrainingPipeline right away will be attempted to be run.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the TrainingPipeline in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/trainingPipelines", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" +}, +"scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a 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/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", +"description": "Deletes a TrainingPipeline.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}", "httpMethod": "DELETE", -"id": "aiplatform.ragCorpora.ragFiles.operations.delete", +"id": "aiplatform.projects.locations.trainingPipelines.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The name of the TrainingPipeline resource to be deleted. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", "location": "path", -"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "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/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", +"description": "Gets a TrainingPipeline.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}", "httpMethod": "GET", -"id": "aiplatform.ragCorpora.ragFiles.operations.get", +"id": "aiplatform.projects.locations.trainingPipelines.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the TrainingPipeline resource. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", "location": "path", -"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1TrainingPipeline" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", +"description": "Lists TrainingPipelines in a Location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines", "httpMethod": "GET", -"id": "aiplatform.ragCorpora.ragFiles.operations.list", +"id": "aiplatform.projects.locations.trainingPipelines.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"PIPELINE_STATE_SUCCEEDED\" AND display_name:\"my_pipeline_*\"` * `state!=\"PIPELINE_STATE_FAILED\" OR display_name=\"my_pipeline\"` * `NOT display_name=\"my_pipeline\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `training_task_definition:\"*automl_text_classification*\"`", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { "description": "The standard list page size.", "format": "int32", @@ -43844,80 +44542,49 @@ "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "The standard list page token. Typically obtained via ListTrainingPipelinesResponse.next_page_token of the previous PipelineService.ListTrainingPipelines call.", "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.", +"parent": { +"description": "Required. The resource name of the Location to list the TrainingPipelines from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", "location": "query", -"type": "boolean" +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/trainingPipelines", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListTrainingPipelinesResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.ragCorpora.ragFiles.operations.wait", +"id": "aiplatform.projects.locations.trainingPipelines.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}:wait", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -} -} -}, -"ragEngineConfig": { -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/ragEngineConfig/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.ragEngineConfig.operations.cancel", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^ragEngineConfig/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -43933,9 +44600,9 @@ }, "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/ragEngineConfig/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.ragEngineConfig.operations.delete", +"id": "aiplatform.projects.locations.trainingPipelines.operations.delete", "parameterOrder": [ "name" ], @@ -43943,7 +44610,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^ragEngineConfig/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -43958,9 +44625,9 @@ }, "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/ragEngineConfig/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.ragEngineConfig.operations.get", +"id": "aiplatform.projects.locations.trainingPipelines.operations.get", "parameterOrder": [ "name" ], @@ -43968,7 +44635,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^ragEngineConfig/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -43984,9 +44651,9 @@ }, "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/ragEngineConfig/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations", "httpMethod": "GET", -"id": "aiplatform.ragEngineConfig.operations.list", +"id": "aiplatform.projects.locations.trainingPipelines.operations.list", "parameterOrder": [ "name" ], @@ -43999,7 +44666,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^ragEngineConfig$", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", "required": true, "type": "string" }, @@ -44031,9 +44698,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/ragEngineConfig/operations/{operationsId}:wait", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.ragEngineConfig.operations.wait", +"id": "aiplatform.projects.locations.trainingPipelines.operations.wait", "parameterOrder": [ "name" ], @@ -44041,7 +44708,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^ragEngineConfig/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -44065,238 +44732,212 @@ } } }, -"reasoningEngines": { +"tuningJobs": { "methods": { -"asyncQuery": { -"description": "Async query using a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:asyncQuery", +"cancel": { +"description": "Cancels a tuning job. Starts an asynchronous cancellation request. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use GenAiTuningService.GetTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the tuning job is not deleted. Instead, its state is set to `CANCELLED`, and `error` is set to a status with a `google.rpc.Status.code` of 1, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.asyncQuery", +"id": "aiplatform.projects.locations.tuningJobs.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The name of the tuning job to cancel. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:asyncQuery", +"path": "v1beta1/{+name}:cancel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1AsyncQueryReasoningEngineRequest" +"$ref": "GoogleCloudAiplatformV1beta1CancelTuningJobRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"cancelAsyncQuery": { -"description": "Cancels an AsyncQueryReasoningEngine operation.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:cancelAsyncQuery", +"create": { +"description": "Creates a tuning job. A created tuning job will be subsequently executed to start the model tuning process.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.cancelAsyncQuery", +"id": "aiplatform.projects.locations.tuningJobs.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the location to create the tuning job in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancelAsyncQuery", +"path": "v1beta1/{+parent}/tuningJobs", "request": { -"$ref": "GoogleCloudAiplatformV1beta1CancelAsyncQueryReasoningEngineRequest" +"$ref": "GoogleCloudAiplatformV1beta1TuningJob" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1CancelAsyncQueryReasoningEngineResponse" +"$ref": "GoogleCloudAiplatformV1beta1TuningJob" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.create", -"parameterOrder": [], +"get": { +"description": "Gets a tuning job.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tuningJobs.get", +"parameterOrder": [ +"name" +], "parameters": { -"parent": { -"description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", -"location": "query", +"name": { +"description": "Required. The name of the tuning job to retrieve. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/reasoningEngines", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" -}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1TuningJob" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}", -"httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.delete", +"list": { +"description": "Lists tuning jobs in a location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tuningJobs.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"force": { -"description": "Optional. If set to true, child resources of this reasoning engine will also be deleted. Otherwise, the request will fail with FAILED_PRECONDITION error when the reasoning engine has undeleted child resources.", +"filter": { +"description": "Optional. The standard list filter.", "location": "query", -"type": "boolean" +"type": "string" }, -"name": { -"description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained from ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.ListTuningJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the location to list the tuning jobs from. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/tuningJobs", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ListTuningJobsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"executeCode": { -"description": "Executes code statelessly.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:executeCode", +"optimizePrompt": { +"description": "Optimizes a prompt. Given a prompt, this method returns a stream of optimized prompts expanded from the original prompt.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:optimizePrompt", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.executeCode", +"id": "aiplatform.projects.locations.tuningJobs.optimizePrompt", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the location to optimize the prompt in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:executeCode", +"path": "v1beta1/{+parent}/tuningJobs:optimizePrompt", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteCodeRequest" +"$ref": "GoogleCloudAiplatformV1beta1OptimizePromptRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteCodeResponse" +"$ref": "GoogleCloudAiplatformV1beta1OptimizePromptResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.get", +"processData": { +"description": "Processes data from a user's Cloud Storage bucket and saves the result to a destination Cloud Storage bucket. This method returns a long-running operation, and the `ProcessDataResponse` will be returned upon completion.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:processData", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.processData", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the Location to process the data in. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists reasoning engines in a location.", -"flatPath": "v1beta1/reasoningEngines", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.list", -"parameterOrder": [], -"parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", -"location": "query", -"type": "string" -} +"path": "v1beta1/{+parent}/tuningJobs:processData", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ProcessDataRequest" }, -"path": "v1beta1/reasoningEngines", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"patch": { -"description": "Updates a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}", -"httpMethod": "PATCH", -"id": "aiplatform.reasoningEngines.patch", +"rebaseTunedModel": { +"description": "Rebase a tuned model. A rebase operation takes a model that was previously tuned on a base model version, and retunes it on a new base model version. The rebase operation creates a new tuning job and a new tuned model.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:rebaseTunedModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.rebaseTunedModel", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the location in which to rebase the Model. Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Optional. Mask specifying which fields to update.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+parent}/tuningJobs:rebaseTunedModel", "request": { -"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +"$ref": "GoogleCloudAiplatformV1beta1RebaseTunedModelRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -44306,939 +44947,796 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"query": { -"description": "Queries using a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:query", +"validateReinforcementTuningReward": { +"description": "Validates a reward on a given example.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:validateReinforcementTuningReward", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.query", +"id": "aiplatform.projects.locations.tuningJobs.validateReinforcementTuningReward", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The resource name of the Location to validate the reward in Format: `projects/{project}/locations/{location}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:query", +"path": "v1beta1/{+parent}/tuningJobs:validateReinforcementTuningReward", "request": { -"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" +"$ref": "GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" +"$ref": "GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"streamQuery": { -"description": "Streams queries using a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:streamQuery", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.streamQuery", +"id": "aiplatform.projects.locations.tuningJobs.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:streamQuery", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"a2a": { -"methods": { -"card": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/card", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.card", +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tuningJobs.operations.delete", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^card$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"extendedAgentCard": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/extendedAgentCard", +"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}/tuningJobs/{tuningJobsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.extendedAgentCard", +"id": "aiplatform.projects.locations.tuningJobs.operations.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^extendedAgentCard$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"tasks": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.tasks", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.operations.wait", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^tasks$", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", "location": "query", "type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}:wait", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } +} +} +} }, -"resources": { -"message": { +"voices": { "methods": { -"send": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/message:send", +"create": { +"description": "Creates a custom voice from a natural-language prompt (`VOICE_TYPE_PROMPTED`) or from reference and consent audio recordings (`VOICE_TYPE_REPLICATED`).", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/voices:create", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.a2a.message.send", +"id": "aiplatform.projects.locations.voices.create", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^message$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"parent": { +"description": "Required. The parent resource where this voice will be created. Format: `projects/{project}/locations/{location}` Supported only by the Vertex API.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"path": "v1beta1/{+parent}/voices:create", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLearningVertexApiInteractionsV1beta1CreateVoiceRequest" }, "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GenaiVertexV1beta1Voice" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"stream": { -"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/message:stream", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.a2a.message.stream", +"delete": { +"description": "Deletes a custom stored voice (`store = true`) by resource name. Prebuilt catalog voices (`\"prebuilt\"`) cannot be deleted.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/voices/{voicesId}:delete", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.voices.delete", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", +"name": { +"description": "Required. The resource name of the custom stored voice to delete (for example, `voices/voice_abc123def456`).", "location": "path", -"pattern": "^message$", +"pattern": "^projects/[^/]+/locations/[^/]+/voices/[^/]+$", "required": true, "type": "string" +} }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", -"request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, +"path": "v1beta1/{+name}:delete", "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleLearningVertexApiInteractionsV1beta1DeleteVoiceResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"tasks": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}", +"get": { +"description": "Gets a custom stored voice (`store = true`) by resource name. Prebuilt catalog voices (`VOICE_TYPE_PREBUILT`) cannot be retrieved via `GetVoice`; use `ListVoices` instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/voices/{voicesId}:get", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.tasks.a2aGetReasoningEngine", +"id": "aiplatform.projects.locations.voices.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the custom stored voice to retrieve (for example, `voices/voice_abc123def456`).", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/voices/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}:get", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GenaiVertexV1beta1Voice" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"cancel": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.a2a.tasks.cancel", +"list": { +"description": "Lists custom stored voices owned by the caller as well as prebuilt system voices from Google's voice catalog.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/voices:list", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.voices.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, +"accent": { +"description": "Optional. Filter by accent description (e.g. \"American\", \"British\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified accents (OR).", +"location": "query", +"repeated": true, "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, +"context": { +"description": "Optional. Filter by intended context or domain (e.g. \"News, Commercial\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified contexts (OR).", +"location": "query", +"repeated": true, "type": "string" -} -}, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", -"request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" }, -"type": "object" +"gender": { +"description": "Optional. Filter by gender presentation (e.g. \"female\", \"male\", \"neutral\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified genders (OR).", +"location": "query", +"repeated": true, +"type": "string" }, -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"languageCode": { +"description": "Optional. Filter by BCP-47 language code (e.g. \"en-US\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified language codes (OR).", +"location": "query", +"repeated": true, +"type": "string" }, -"type": "object" +"pageSize": { +"description": "Optional. The maximum number of voices to return per page. The service may return fewer than this value. If unspecified, at most 50 voices are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" }, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +"pageToken": { +"description": "A page token, received from a previous `ListVoices` call. Provide this to retrieve the subsequent page. When paginating, all filter query parameters (`language_code`, `region_code`, `accent`, `persona`, `context`, `gender`, `pitch`, `type`, and `search`) must match the call that returned this token; otherwise the request fails with `INVALID_ARGUMENT`. `page_size` may change between pages.", +"location": "query", +"type": "string" }, -"pushNotificationConfigs": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}/pushNotificationConfigs", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.tasks.pushNotificationConfigs", -"parameterOrder": [ -"name", -"a2aEndpoint" -], -"parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"parent": { +"description": "Required. The parent that owns this collection of voices. Format: `projects/{project}/locations/{location}` Supported only by the Vertex API.", "location": "path", -"pattern": "^tasks/[^/]+/pushNotificationConfigs$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"persona": { +"description": "Optional. Filter by vocal persona (e.g. \"Warm, Friendly\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified personas (OR).", "location": "query", +"repeated": true, "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, +"pitch": { +"description": "Optional. Filter by vocal pitch. Accepts `\"low\"`, `\"medium\"`, `\"high\"` (case-insensitive). If multiple values are specified, matches voices with any of the specified pitches (OR).", +"location": "query", +"repeated": true, +"type": "string" +}, +"regionCode": { +"description": "Optional. Filter by ISO 3166-1 alpha-2 or UN M.49 region code (e.g. \"US\", \"001\"). Case-insensitive exact match. If multiple values are specified, matches voices with any of the specified region codes (OR).", +"location": "query", +"repeated": true, +"type": "string" +}, +"search": { +"description": "Optional. Free-text substring search query matched case-insensitively against both `display_name` and `description`. Maximum 2048 bytes.", +"location": "query", +"type": "string" +}, +"type": { +"description": "Optional. Filter by voice type. Accepts `\"prebuilt\"`, `\"replicated\"`, `\"prompted\"` (case-insensitive). If multiple values are specified, matches voices with any of the specified types (OR).", +"location": "query", +"repeated": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+parent}/voices:list", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLearningVertexApiInteractionsV1beta1ListVoicesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"subscribe": { -"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}:subscribe", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.tasks.subscribe", +"modelGardenEula": { +"methods": { +"accept": { +"description": "Accepts the EULA acceptance status of a publisher model.", +"flatPath": "v1beta1/projects/{projectsId}/modelGardenEula:accept", +"httpMethod": "POST", +"id": "aiplatform.projects.modelGardenEula.accept", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", -"location": "path", -"pattern": "^tasks/[^/]+$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"parent": { +"description": "Required. The project requesting access for named model. The format is `projects/{project}`.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", +"path": "v1beta1/{+parent}/modelGardenEula:accept", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AcceptPublisherModelEulaRequest" +}, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelEulaAcceptance" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"pushNotificationConfigs": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.tasks.pushNotificationConfigs.a2aGetReasoningEngine", +"check": { +"description": "Checks the EULA acceptance status of a publisher model.", +"flatPath": "v1beta1/projects/{projectsId}/modelGardenEula:check", +"httpMethod": "POST", +"id": "aiplatform.projects.modelGardenEula.check", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The project requesting access for named model. The format is `projects/{project}`.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/modelGardenEula:check", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CheckPublisherModelEulaAcceptanceRequest" }, -"type": "object" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1PublisherModelEulaAcceptance" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } } -} -} }, -"v1": { +"publishers": { +"resources": { +"models": { "methods": { -"card": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/card", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.v1.card", +"enableModel": { +"description": "Enables model for the project if prerequisites are met (e.g. completed questionnaire and consents, or an active Private Offer).", +"flatPath": "v1beta1/projects/{projectsId}/publishers/{publishersId}/models/{modelsId}:enableModel", +"httpMethod": "POST", +"id": "aiplatform.projects.publishers.models.enableModel", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent", +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"name": { +"description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`", "location": "path", -"pattern": "^v1/card$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"parent": { +"description": "Required. The project requesting access for named model. Format: `projects/{project}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^projects/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+parent}/{+name}:enableModel", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EnableModelRequest" }, -"type": "object" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1EnableModelResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} +} +} }, -"extendedAgentCard": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/extendedAgentCard", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.v1.extendedAgentCard", +"publishers": { +"resources": { +"models": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.computeTokens", "parameterOrder": [ -"name", -"a2aEndpoint" +"endpoint" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/extendedAgentCard$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensRequest" }, -"type": "object" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ComputeTokensResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"tasks": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.v1.tasks", +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.countTokens", "parameterOrder": [ -"name", -"a2aEndpoint" +"endpoint" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/tasks$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensRequest" }, -"type": "object" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CountTokensResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -} }, -"resources": { -"message": { -"methods": { -"send": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/message:send", +"fetchPredictOperation": { +"description": "Fetch an asynchronous online prediction operation.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.a2a.v1.message.send", +"id": "aiplatform.publishers.models.fetchPredictOperation", "parameterOrder": [ -"name", -"a2aEndpoint" +"endpoint" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^v1/message$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"path": "v1beta1/{+endpoint}:fetchPredictOperation", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" }, "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] }, -"stream": { -"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/message:stream", +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:generateContent", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.a2a.v1.message.stream", +"id": "aiplatform.publishers.models.generateContent", "parameterOrder": [ -"name", -"a2aEndpoint" +"model" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", -"location": "path", -"pattern": "^v1/message$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", +"path": "v1beta1/{+model}:generateContent", "request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" }, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -} -} }, -"tasks": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}", +"get": { +"description": "Gets a Model Garden publisher model.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.v1.tasks.a2aGetReasoningEngine", +"id": "aiplatform.publishers.models.get", "parameterOrder": [ -"name", -"a2aEndpoint" +"name" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^v1/tasks/[^/]+$", -"required": true, +"huggingFaceToken": { +"description": "Optional. Token used to access Hugging Face gated models.", +"location": "query", "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"includeEquivalentModelGardenModelDeploymentConfigs": { +"description": "Optional. Whether to cnclude the deployment configs from the equivalent Model Garden model if the requested model is a Hugging Face model.", +"location": "query", +"type": "boolean" +}, +"isHuggingFaceModel": { +"description": "Optional. Boolean indicates whether the requested model is a Hugging Face model.", +"location": "query", +"type": "boolean" +}, +"languageCode": { +"description": "Optional. The IETF BCP-47 language code representing the language in which the publisher model's text information should be written in.", "location": "query", "type": "string" }, "name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" +}, +"view": { +"description": "Optional. PublisherModel view specifying which fields to read.", +"enum": [ +"PUBLISHER_MODEL_VIEW_UNSPECIFIED", +"PUBLISHER_MODEL_VIEW_BASIC", +"PUBLISHER_MODEL_VIEW_FULL", +"PUBLISHER_MODEL_VERSION_VIEW_BASIC" +], +"enumDescriptions": [ +"The default / unset value. The API will default to the BASIC view.", +"Include basic metadata about the publisher model, but not the full contents.", +"Include everything.", +"Include: VersionId, ModelVersionExternalName, and SupportedActions." +], +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+name}", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1PublisherModel" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"cancel": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.a2a.v1.tasks.cancel", +"list": { +"description": "Lists publisher models in Model Garden.", +"flatPath": "v1beta1/publishers/{publishersId}/models", +"httpMethod": "GET", +"id": "aiplatform.publishers.models.list", "parameterOrder": [ -"name", -"a2aEndpoint" +"parent" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", -"location": "path", -"pattern": "^v1/tasks/[^/]+$", -"required": true, +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", "type": "string" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, +"languageCode": { +"description": "Optional. The IETF BCP-47 language code representing the language in which the publisher models' text information should be written in. If not set, by default English (en).", +"location": "query", "type": "string" -} -}, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", -"request": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" }, -"type": "object" +"listAllVersions": { +"description": "Optional. List all publisher model versions if the flag is set to true.", +"location": "query", +"type": "boolean" }, -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" }, -"type": "object" +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" }, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListPublisherModelsResponse.next_page_token of the previous ModelGardenService.ListPublisherModels call.", +"location": "query", +"type": "string" }, -"pushNotificationConfigs": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.v1.tasks.pushNotificationConfigs", -"parameterOrder": [ -"name", -"a2aEndpoint" -], -"parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"parent": { +"description": "Required. The name of the Publisher from which to list the PublisherModels. Format: `publishers/{publisher}`", "location": "path", -"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs$", +"pattern": "^publishers/[^/]+$", "required": true, "type": "string" }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"view": { +"description": "Optional. PublisherModel view specifying which fields to read.", +"enum": [ +"PUBLISHER_MODEL_VIEW_UNSPECIFIED", +"PUBLISHER_MODEL_VIEW_BASIC", +"PUBLISHER_MODEL_VIEW_FULL", +"PUBLISHER_MODEL_VERSION_VIEW_BASIC" +], +"enumDescriptions": [ +"The default / unset value. The API will default to the BASIC view.", +"Include basic metadata about the publisher model, but not the full contents.", +"Include everything.", +"Include: VersionId, ModelVersionExternalName, and SupportedActions." +], "location": "query", "type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, -"type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"path": "v1beta1/{+parent}/models", "response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" +"$ref": "GoogleCloudAiplatformV1beta1ListPublisherModelsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"subscribe": { -"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}:subscribe", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.v1.tasks.subscribe", +"predict": { +"description": "", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:predict", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.predict", "parameterOrder": [ -"name", -"a2aEndpoint" +"endpoint" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", -"location": "path", -"pattern": "^v1/tasks/[^/]+$", -"required": true, -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", +"path": "v1beta1/{+endpoint}:predict", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PredictRequest" +}, "response": { -"$ref": "GoogleApiHttpBody" +"$ref": "GoogleCloudAiplatformV1beta1PredictResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] -} }, -"resources": { -"pushNotificationConfigs": { -"methods": { -"a2aGetReasoningEngine": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.a2a.v1.tasks.pushNotificationConfigs.a2aGetReasoningEngine", +"predictLongRunning": { +"description": "", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:predictLongRunning", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.predictLongRunning", "parameterOrder": [ -"name", -"a2aEndpoint" +"endpoint" ], "parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", "location": "path", -"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" +} }, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" +"path": "v1beta1/{+endpoint}:predictLongRunning", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" }, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1beta1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.streamGenerateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^publishers/[^/]+/models/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"path": "v1beta1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentRequest" }, -"type": "object" +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateContentResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" ] } } } } -} -} -} -} }, -"examples": { +"ragCorpora": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.examples.operations.cancel", +"id": "aiplatform.ragCorpora.operations.cancel", "parameterOrder": [ "name" ], @@ -45246,7 +45744,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", +"pattern": "^ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45262,9 +45760,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.examples.operations.delete", +"id": "aiplatform.ragCorpora.operations.delete", "parameterOrder": [ "name" ], @@ -45272,7 +45770,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", +"pattern": "^ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45287,9 +45785,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.examples.operations.get", +"id": "aiplatform.ragCorpora.operations.get", "parameterOrder": [ "name" ], @@ -45297,7 +45795,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", +"pattern": "^ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45311,11 +45809,58 @@ "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/ragCorpora/{ragCorporaId}/operations", +"httpMethod": "GET", +"id": "aiplatform.ragCorpora.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^ragCorpora/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.examples.operations.wait", +"id": "aiplatform.ragCorpora.operations.wait", "parameterOrder": [ "name" ], @@ -45323,7 +45868,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", +"pattern": "^ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -45344,18 +45889,16 @@ ] } } -} -} }, -"feedbackEntries": { +"ragFiles": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.feedbackEntries.operations.cancel", +"id": "aiplatform.ragCorpora.ragFiles.operations.cancel", "parameterOrder": [ "name" ], @@ -45363,7 +45906,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", +"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45379,9 +45922,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.feedbackEntries.operations.delete", +"id": "aiplatform.ragCorpora.ragFiles.operations.delete", "parameterOrder": [ "name" ], @@ -45389,7 +45932,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", +"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45404,9 +45947,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.feedbackEntries.operations.get", +"id": "aiplatform.ragCorpora.ragFiles.operations.get", "parameterOrder": [ "name" ], @@ -45414,7 +45957,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", +"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45430,9 +45973,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.feedbackEntries.operations.list", +"id": "aiplatform.ragCorpora.ragFiles.operations.list", "parameterOrder": [ "name" ], @@ -45445,7 +45988,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+$", +"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+$", "required": true, "type": "string" }, @@ -45477,9 +46020,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.feedbackEntries.operations.wait", +"id": "aiplatform.ragCorpora.ragFiles.operations.wait", "parameterOrder": [ "name" ], @@ -45487,7 +46030,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", +"pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -45510,248 +46053,195 @@ } } } +} +} }, -"memories": { +"ragEngineConfig": { +"resources": { +"operations": { "methods": { -"create": { -"description": "Create a Memory.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories", +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/ragEngineConfig/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.create", +"id": "aiplatform.ragEngineConfig.operations.cancel", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"memoryId": { -"description": "Optional. The user defined ID to use for memory, which will become the final component of the memory resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, and the last character must be a letter or number.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the ReasoningEngine to create the Memory under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^ragEngineConfig/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" -}, +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Delete a Memory.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", +"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/ragEngineConfig/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.memories.delete", +"id": "aiplatform.ragEngineConfig.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Memory to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^ragEngineConfig/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"generate": { -"description": "Generate memories.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:generate", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.generate", +"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/ragEngineConfig/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.ragEngineConfig.operations.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to generate memories for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "The name of the operation resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^ragEngineConfig/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:generate", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequest" -}, +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Get a Memory.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", +"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/ragEngineConfig/operations", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.memories.get", +"id": "aiplatform.ragEngineConfig.operations.list", "parameterOrder": [ "name" ], "parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^ragEngineConfig$", "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}", +"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"ingestEvents": { -"description": "Ingests events for a Memory Bank.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:ingestEvents", +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/ragEngineConfig/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.ingestEvents", +"id": "aiplatform.ragEngineConfig.operations.wait", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to ingest events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^ragEngineConfig/operations/[^/]+$", "required": true, "type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" } }, -"path": "v1beta1/{+parent}/memories:ingestEvents", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1IngestEventsRequest" -}, +"path": "v1beta1/{+name}:wait", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -}, -"list": { -"description": "List Memories.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.memories.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `scope` (as a JSON string with equality match only) * `topics` (i.e. `topics.custom_memory_topic_label: \"example topic\" OR topics.managed_memory_topic: USER_PREFERENCES`)", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. The standard list order by string. If not specified, the default order is `create_time desc`. If specified, the default sorting order of provided fields is ascending. More detail in [AIP-132](https://google.aip.dev/132). Supported fields: * `create_time` * `update_time`", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the ReasoningEngine to list the Memories under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+parent}/memories", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMemoriesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"description": "Update a Memory.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", -"httpMethod": "PATCH", -"id": "aiplatform.reasoningEngines.memories.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. Represents the resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", -"format": "google-fieldmask", -"location": "query", -"type": "string" +} +} } }, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1Memory" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"purge": { -"description": "Purge memories.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:purge", +"reasoningEngines": { +"methods": { +"asyncQuery": { +"description": "Async query using a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:asyncQuery", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.purge", +"id": "aiplatform.reasoningEngines.asyncQuery", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to purge memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:purge", +"path": "v1beta1/{+name}:asyncQuery", "request": { -"$ref": "GoogleCloudAiplatformV1beta1PurgeMemoriesRequest" +"$ref": "GoogleCloudAiplatformV1beta1AsyncQueryReasoningEngineRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -45760,165 +46250,138 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"retrieve": { -"description": "Retrieve memories.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:retrieve", +"cancelAsyncQuery": { +"description": "Cancels an AsyncQueryReasoningEngine operation.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:cancelAsyncQuery", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.retrieve", +"id": "aiplatform.reasoningEngines.cancelAsyncQuery", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the ReasoningEngine to retrieve memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/memories:retrieve", +"path": "v1beta1/{+name}:cancelAsyncQuery", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesRequest" +"$ref": "GoogleCloudAiplatformV1beta1CancelAsyncQueryReasoningEngineRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesResponse" +"$ref": "GoogleCloudAiplatformV1beta1CancelAsyncQueryReasoningEngineResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"retrieveProfiles": { -"description": "Retrieves profiles.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:retrieveProfiles", +"create": { +"description": "Creates a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.retrieveProfiles", -"parameterOrder": [ -"parent" -], +"id": "aiplatform.reasoningEngines.create", +"parameterOrder": [], "parameters": { "parent": { -"description": "Required. The resource name of the ReasoningEngine to retrieve profiles from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, +"description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", +"location": "query", "type": "string" } }, -"path": "v1beta1/{+parent}/memories:retrieveProfiles", +"path": "v1beta1/reasoningEngines", "request": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesRequest" +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"rollback": { -"description": "Rollback Memory to a specific revision.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}:rollback", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.rollback", +"delete": { +"description": "Deletes a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "DELETE", +"id": "aiplatform.reasoningEngines.delete", "parameterOrder": [ "name" ], "parameters": { +"force": { +"description": "Optional. If set to true, child resources of this reasoning engine will also be deleted. Otherwise, the request will fail with FAILED_PRECONDITION error when the reasoning engine has undeleted child resources.", +"location": "query", +"type": "boolean" +}, "name": { -"description": "Required. The resource name of the Memory to rollback. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:rollback", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1RollbackMemoryRequest" -}, +"path": "v1beta1/{+name}", "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}:cancel", +"executeCode": { +"description": "Executes code statelessly.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:executeCode", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.operations.cancel", +"id": "aiplatform.reasoningEngines.executeCode", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.memories.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} +"path": "v1beta1/{+name}:executeCode", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExecuteCodeRequest" }, -"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1ExecuteCodeResponse" }, "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/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}", +"description": "Gets a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.memories.operations.get", +"id": "aiplatform.reasoningEngines.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -45926,76 +46389,70 @@ ] }, "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/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations", +"description": "Lists reasoning engines in a location.", +"flatPath": "v1beta1/reasoningEngines", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.memories.operations.list", -"parameterOrder": [ -"name" -], +"id": "aiplatform.reasoningEngines.list", +"parameterOrder": [], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. 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.", +"parent": { +"description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", "location": "query", -"type": "boolean" +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/reasoningEngines", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.memories.operations.wait", +"patch": { +"description": "Updates a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "PATCH", +"id": "aiplatform.reasoningEngines.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"updateMask": { +"description": "Optional. Mask specifying which fields to update.", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngine" +}, "response": { "$ref": "GoogleLongrunningOperation" }, @@ -46003,438 +46460,202 @@ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"revisions": { -"methods": { -"get": { -"description": "Get a Memory Revision.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/revisions/{revisionsId}", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.memories.revisions.get", +"query": { +"description": "Queries using a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:query", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.query", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the Memory Revision to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}/revisions/{revision}`", +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/revisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}:query", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1MemoryRevision" +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "List Memory Revisions for a Memory.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/revisions", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.memories.revisions.list", +"streamQuery": { +"description": "Streams queries using a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}:streamQuery", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.streamQuery", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields (equality match only): * `labels`", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the Memory to list revisions for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"name": { +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/revisions", +"path": "v1beta1/{+name}:streamQuery", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListMemoryRevisionsResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } -} -} -} }, -"operations": { +"resources": { +"a2a": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.operations.cancel", +"card": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/card", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.a2a.card", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", +"pattern": "^card$", "required": true, "type": "string" -} }, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" }, -"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/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleProtobufEmpty" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "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/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", +"extendedAgentCard": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/extendedAgentCard", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.operations.get", +"id": "aiplatform.reasoningEngines.a2a.extendedAgentCard", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^extendedAgentCard$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/reasoningEngines/{reasoningEnginesId}/operations", +"tasks": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.operations.list", +"id": "aiplatform.reasoningEngines.a2a.tasks", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" }, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"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", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:wait", +"resources": { +"message": { +"methods": { +"send": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/message:send", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.operations.wait", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to wait on.", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}:wait", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -}, -"runtimeRevisions": { -"methods": { -"query": { -"description": "Queries using a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}:query", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.query", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:query", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"streamQuery": { -"description": "Streams queries using a reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}:streamQuery", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.streamQuery", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:streamQuery", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" -}, -"response": { -"$ref": "GoogleApiHttpBody" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"a2a": { -"methods": { -"card": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/card", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.card", -"parameterOrder": [ -"name", -"a2aEndpoint" -], -"parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^card$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"extendedAgentCard": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/extendedAgentCard", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.extendedAgentCard", -"parameterOrder": [ -"name", -"a2aEndpoint" -], -"parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^extendedAgentCard$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"tasks": { -"description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks", -"parameterOrder": [ -"name", -"a2aEndpoint" -], -"parameters": { -"a2aEndpoint": { -"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", -"location": "path", -"pattern": "^tasks$", -"required": true, -"type": "string" -}, -"historyLength": { -"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", -"location": "query", -"type": "string" -}, -"name": { -"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", -"response": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"message": { -"methods": { -"send": { -"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/message:send", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.message.send", +"id": "aiplatform.reasoningEngines.a2a.message.send", "parameterOrder": [ "name", "a2aEndpoint" @@ -46450,7 +46671,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46476,9 +46697,9 @@ }, "stream": { "description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/message:stream", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/message:stream", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.message.stream", +"id": "aiplatform.reasoningEngines.a2a.message.stream", "parameterOrder": [ "name", "a2aEndpoint" @@ -46494,7 +46715,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46520,9 +46741,9 @@ "methods": { "a2aGetReasoningEngine": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.a2aGetReasoningEngine", +"id": "aiplatform.reasoningEngines.a2a.tasks.a2aGetReasoningEngine", "parameterOrder": [ "name", "a2aEndpoint" @@ -46543,7 +46764,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46562,9 +46783,9 @@ }, "cancel": { "description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.cancel", +"id": "aiplatform.reasoningEngines.a2a.tasks.cancel", "parameterOrder": [ "name", "a2aEndpoint" @@ -46580,7 +46801,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46606,9 +46827,9 @@ }, "pushNotificationConfigs": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}/pushNotificationConfigs", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}/pushNotificationConfigs", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.pushNotificationConfigs", +"id": "aiplatform.reasoningEngines.a2a.tasks.pushNotificationConfigs", "parameterOrder": [ "name", "a2aEndpoint" @@ -46629,7 +46850,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46648,9 +46869,9 @@ }, "subscribe": { "description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}:subscribe", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}:subscribe", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.subscribe", +"id": "aiplatform.reasoningEngines.a2a.tasks.subscribe", "parameterOrder": [ "name", "a2aEndpoint" @@ -46666,7 +46887,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46685,9 +46906,9 @@ "methods": { "a2aGetReasoningEngine": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.pushNotificationConfigs.a2aGetReasoningEngine", +"id": "aiplatform.reasoningEngines.a2a.tasks.pushNotificationConfigs.a2aGetReasoningEngine", "parameterOrder": [ "name", "a2aEndpoint" @@ -46708,7 +46929,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46733,9 +46954,9 @@ "methods": { "card": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/card", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/card", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.card", +"id": "aiplatform.reasoningEngines.a2a.v1.card", "parameterOrder": [ "name", "a2aEndpoint" @@ -46756,7 +46977,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46775,9 +46996,9 @@ }, "extendedAgentCard": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/extendedAgentCard", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/extendedAgentCard", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.extendedAgentCard", +"id": "aiplatform.reasoningEngines.a2a.v1.extendedAgentCard", "parameterOrder": [ "name", "a2aEndpoint" @@ -46798,7 +47019,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46817,9 +47038,9 @@ }, "tasks": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks", +"id": "aiplatform.reasoningEngines.a2a.v1.tasks", "parameterOrder": [ "name", "a2aEndpoint" @@ -46840,7 +47061,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46863,9 +47084,9 @@ "methods": { "send": { "description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/message:send", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/message:send", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.message.send", +"id": "aiplatform.reasoningEngines.a2a.v1.message.send", "parameterOrder": [ "name", "a2aEndpoint" @@ -46881,7 +47102,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46907,9 +47128,9 @@ }, "stream": { "description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/message:stream", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/message:stream", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.message.stream", +"id": "aiplatform.reasoningEngines.a2a.v1.message.stream", "parameterOrder": [ "name", "a2aEndpoint" @@ -46925,7 +47146,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46951,9 +47172,9 @@ "methods": { "a2aGetReasoningEngine": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.a2aGetReasoningEngine", +"id": "aiplatform.reasoningEngines.a2a.v1.tasks.a2aGetReasoningEngine", "parameterOrder": [ "name", "a2aEndpoint" @@ -46974,7 +47195,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -46993,9 +47214,9 @@ }, "cancel": { "description": "Send post request for reasoning engine instance via the A2A post protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.cancel", +"id": "aiplatform.reasoningEngines.a2a.v1.tasks.cancel", "parameterOrder": [ "name", "a2aEndpoint" @@ -47011,7 +47232,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -47037,9 +47258,9 @@ }, "pushNotificationConfigs": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.pushNotificationConfigs", +"id": "aiplatform.reasoningEngines.a2a.v1.tasks.pushNotificationConfigs", "parameterOrder": [ "name", "a2aEndpoint" @@ -47060,7 +47281,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -47079,9 +47300,9 @@ }, "subscribe": { "description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}:subscribe", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}:subscribe", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.subscribe", +"id": "aiplatform.reasoningEngines.a2a.v1.tasks.subscribe", "parameterOrder": [ "name", "a2aEndpoint" @@ -47097,7 +47318,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -47116,9 +47337,9 @@ "methods": { "a2aGetReasoningEngine": { "description": "Get request for reasoning engine instance via the A2A get protocol apis.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.pushNotificationConfigs.a2aGetReasoningEngine", +"id": "aiplatform.reasoningEngines.a2a.v1.tasks.pushNotificationConfigs.a2aGetReasoningEngine", "parameterOrder": [ "name", "a2aEndpoint" @@ -47139,7 +47360,7 @@ "name": { "description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } @@ -47164,13 +47385,15 @@ } } }, +"examples": { +"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.cancel", +"id": "aiplatform.reasoningEngines.examples.operations.cancel", "parameterOrder": [ "name" ], @@ -47178,7 +47401,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47194,9 +47417,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.delete", +"id": "aiplatform.reasoningEngines.examples.operations.delete", "parameterOrder": [ "name" ], @@ -47204,7 +47427,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47219,9 +47442,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.get", +"id": "aiplatform.reasoningEngines.examples.operations.get", "parameterOrder": [ "name" ], @@ -47229,7 +47452,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47243,58 +47466,11 @@ "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/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.runtimeRevisions.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": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", -"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/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/examples/{examplesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.wait", +"id": "aiplatform.reasoningEngines.examples.operations.wait", "parameterOrder": [ "name" ], @@ -47302,7 +47478,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/examples/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -47326,108 +47502,15 @@ } } }, -"sandboxEnvironmentSnapshots": { -"methods": { -"delete": { -"description": "Deletes the specific SandboxEnvironmentSnapshot.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}", -"httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the SandboxEnvironmentSnapshot to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets details of the specific SandboxEnvironmentSnapshot.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment snapshot. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentSnapshot" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists SandboxEnvironmentSnapshots in a given reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of SandboxEnvironmentSnapshots to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironmentSnapshots will be returned. Values above 100 will be coerced to 100.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironmentSnapshots` call. Provide this to retrieve the subsequent page.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The resource name of the reasoning engine to list sandbox environments from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/sandboxEnvironmentSnapshots", -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentSnapshotsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, +"feedbackEntries": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel", +"id": "aiplatform.reasoningEngines.feedbackEntries.operations.cancel", "parameterOrder": [ "name" ], @@ -47435,7 +47518,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47451,9 +47534,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete", +"id": "aiplatform.reasoningEngines.feedbackEntries.operations.delete", "parameterOrder": [ "name" ], @@ -47461,7 +47544,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47476,9 +47559,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.get", +"id": "aiplatform.reasoningEngines.feedbackEntries.operations.get", "parameterOrder": [ "name" ], @@ -47486,7 +47569,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47502,9 +47585,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.list", +"id": "aiplatform.reasoningEngines.feedbackEntries.operations.list", "parameterOrder": [ "name" ], @@ -47517,7 +47600,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+$", "required": true, "type": "string" }, @@ -47549,9 +47632,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/feedbackEntries/{feedbackEntriesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait", +"id": "aiplatform.reasoningEngines.feedbackEntries.operations.wait", "parameterOrder": [ "name" ], @@ -47559,7 +47642,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/feedbackEntries/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -47583,28 +47666,33 @@ } } }, -"sandboxEnvironmentTemplates": { +"memories": { "methods": { "create": { -"description": "Creates a SandboxEnvironmentTemplate in a given reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates", +"description": "Create a Memory.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.create", +"id": "aiplatform.reasoningEngines.memories.create", "parameterOrder": [ "parent" ], "parameters": { +"memoryId": { +"description": "Optional. The user defined ID to use for memory, which will become the final component of the memory resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, and the last character must be a letter or number.", +"location": "query", +"type": "string" +}, "parent": { -"description": "Required. The resource name of the reasoning engine to create the SandboxEnvironmentTemplate in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`.", +"description": "Required. The resource name of the ReasoningEngine to create the Memory under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/sandboxEnvironmentTemplates", +"path": "v1beta1/{+parent}/memories", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" +"$ref": "GoogleCloudAiplatformV1beta1Memory" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -47614,18 +47702,18 @@ ] }, "delete": { -"description": "Deletes the specific SandboxEnvironmentTemplate.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", +"description": "Delete a Memory.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", "httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.delete", +"id": "aiplatform.reasoningEngines.memories.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the SandboxEnvironmentTemplate to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", +"description": "Required. The resource name of the Memory to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" } @@ -47638,67 +47726,274 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"generate": { +"description": "Generate memories.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:generate", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.memories.generate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the ReasoningEngine to generate memories for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/memories:generate", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "get": { -"description": "Gets details of the specific SandboxEnvironmentTemplate.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", +"description": "Get a Memory.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.get", +"id": "aiplatform.reasoningEngines.memories.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the sandbox environment template. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", +"description": "Required. The resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" +"$ref": "GoogleCloudAiplatformV1beta1Memory" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"ingestEvents": { +"description": "Ingests events for a Memory Bank.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:ingestEvents", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.memories.ingestEvents", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the ReasoningEngine to ingest events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/memories:ingestEvents", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1IngestEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists SandboxEnvironmentTemplates in a given reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates", +"description": "List Memories.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.list", +"id": "aiplatform.reasoningEngines.memories.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields: * `scope` (as a JSON string with equality match only) * `topics` (i.e. `topics.custom_memory_topic_label: \"example topic\" OR topics.managed_memory_topic: USER_PREFERENCES`)", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The standard list order by string. If not specified, the default order is `create_time desc`. If specified, the default sorting order of provided fields is ascending. More detail in [AIP-132](https://google.aip.dev/132). Supported fields: * `create_time` * `update_time`", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of SandboxEnvironmentTemplates to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironmentTemplates will be returned.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironmentTemplates` call. Provide this to retrieve the subsequent page.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the reasoning engine to list sandbox environment templates from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the ReasoningEngine to list the Memories under. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", "pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/sandboxEnvironmentTemplates", +"path": "v1beta1/{+parent}/memories", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentTemplatesResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListMemoriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a Memory.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}", +"httpMethod": "PATCH", +"id": "aiplatform.reasoningEngines.memories.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Represents the resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Memory" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Purge memories.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:purge", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.memories.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the ReasoningEngine to purge memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/memories:purge", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PurgeMemoriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieve": { +"description": "Retrieve memories.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:retrieve", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.memories.retrieve", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the ReasoningEngine to retrieve memories from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/memories:retrieve", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveMemoriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveProfiles": { +"description": "Retrieves profiles.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories:retrieveProfiles", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.memories.retrieveProfiles", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the ReasoningEngine to retrieve profiles from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/memories:retrieveProfiles", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveProfilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Rollback Memory to a specific revision.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}:rollback", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.memories.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Memory to rollback. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:rollback", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1RollbackMemoryRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -47710,9 +48005,9 @@ "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel", +"id": "aiplatform.reasoningEngines.memories.operations.cancel", "parameterOrder": [ "name" ], @@ -47720,7 +48015,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47736,9 +48031,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.delete", +"id": "aiplatform.reasoningEngines.memories.operations.delete", "parameterOrder": [ "name" ], @@ -47746,7 +48041,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47761,9 +48056,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.get", +"id": "aiplatform.reasoningEngines.memories.operations.get", "parameterOrder": [ "name" ], @@ -47771,7 +48066,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -47787,9 +48082,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.list", +"id": "aiplatform.reasoningEngines.memories.operations.list", "parameterOrder": [ "name" ], @@ -47802,7 +48097,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" }, @@ -47834,9 +48129,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.wait", +"id": "aiplatform.reasoningEngines.memories.operations.wait", "parameterOrder": [ "name" ], @@ -47844,7 +48139,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -47865,307 +48160,86 @@ ] } } -} -} }, -"sandboxEnvironments": { +"revisions": { "methods": { -"authorizeAccess": { -"description": "Checks whether the caller is authorized to access the sandbox environment. Authorization is performed entirely by the API infrastructure from the `method_policy` below; the handler is a no-op. A successful response means the caller holds `sandboxEnvironments.execute` on the named sandbox. Used by the sandbox data-plane proxy, which forwards the caller's credential and proxies traffic only on success.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:authorizeAccess", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.authorizeAccess", +"get": { +"description": "Get a Memory Revision.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/revisions/{revisionsId}", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.memories.revisions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the sandbox environment to authorize access to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"description": "Required. The resource name of the Memory Revision to retrieve. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}/revisions/{revision}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:authorizeAccess", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1AuthorizeSandboxEnvironmentAccessRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1AuthorizeSandboxEnvironmentAccessResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"bidiExecute": { -"description": "Executes using a sandbox environment with bidirectional streaming.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:bidiExecute", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.bidiExecute", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:bidiExecute", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1BidiExecuteSandboxEnvironmentRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1BidiExecuteSandboxEnvironmentResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"create": { -"description": "Creates a SandboxEnvironment in a given reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The resource name of the reasoning engine to create the SandboxEnvironment in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`.", -"location": "path", -"pattern": "^reasoningEngines/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/sandboxEnvironments", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironment" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes the specific SandboxEnvironment.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}", -"httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the SandboxEnvironment to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"execute": { -"description": "Executes using a sandbox environment.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:execute", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.execute", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:execute", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteSandboxEnvironmentRequest" -}, -"response": { -"$ref": "GoogleCloudAiplatformV1beta1ExecuteSandboxEnvironmentResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets details of the specific SandboxEnvironment.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+/revisions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironment" +"$ref": "GoogleCloudAiplatformV1beta1MemoryRevision" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists SandboxEnvironments in a given reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments", +"description": "List Memory Revisions for a Memory.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/memories/{memoriesId}/revisions", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.list", +"id": "aiplatform.reasoningEngines.memories.revisions.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { -"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). Supported fields (equality match only): * `labels`", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of SandboxEnvironments to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironments will be returned.", +"description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironments` call. Provide this to retrieve the subsequent page.", +"description": "Optional. The standard list page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the reasoning engine to list sandbox environments from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"description": "Required. The resource name of the Memory to list revisions for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/memories/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/sandboxEnvironments", +"path": "v1beta1/{+parent}/revisions", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListMemoryRevisionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -}, -"pause": { -"description": "Pauses the specific SandboxEnvironment.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:pause", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.pause", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment to pause. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+name}:pause", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1PauseSandboxEnvironmentRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"resume": { -"description": "Resumes the specific SandboxEnvironment.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:resume", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.resume", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment to resume. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+name}:resume", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1ResumeSandboxEnvironmentRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"snapshot": { -"description": "Snapshots the specific SandboxEnvironment resource and creates a SandboxEnvironmentSnapshot resource.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:snapshot", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.snapshot", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The resource name of the sandbox environment to snapshot. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`.", -"location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", -"required": true, -"type": "string" } -}, -"path": "v1beta1/{+name}:snapshot", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentSnapshot" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] } }, -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.cancel", +"id": "aiplatform.reasoningEngines.operations.cancel", "parameterOrder": [ "name" ], @@ -48173,7 +48247,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -48189,9 +48263,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.delete", +"id": "aiplatform.reasoningEngines.operations.delete", "parameterOrder": [ "name" ], @@ -48199,7 +48273,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -48214,9 +48288,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.get", +"id": "aiplatform.reasoningEngines.operations.get", "parameterOrder": [ "name" ], @@ -48224,7 +48298,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -48240,9 +48314,9 @@ }, "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/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/operations", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.list", +"id": "aiplatform.reasoningEngines.operations.list", "parameterOrder": [ "name" ], @@ -48255,7 +48329,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" }, @@ -48287,9 +48361,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.wait", +"id": "aiplatform.reasoningEngines.operations.wait", "parameterOrder": [ "name" ], @@ -48297,7 +48371,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -48318,247 +48392,278 @@ ] } } -} -} }, -"sessions": { +"runtimeRevisions": { "methods": { -"appendEvent": { -"description": "Appends an event to a given session.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}:appendEvent", +"query": { +"description": "Queries using a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}:query", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sessions.appendEvent", +"id": "aiplatform.reasoningEngines.runtimeRevisions.query", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The resource name of the session to append event to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:appendEvent", +"path": "v1beta1/{+name}:query", "request": { -"$ref": "GoogleCloudAiplatformV1beta1SessionEvent" +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1AppendEventResponse" +"$ref": "GoogleCloudAiplatformV1beta1QueryReasoningEngineResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"create": { -"description": "Creates a new Session.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions", +"streamQuery": { +"description": "Streams queries using a reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}:streamQuery", "httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sessions.create", +"id": "aiplatform.reasoningEngines.runtimeRevisions.streamQuery", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The resource name of the location to create the session in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" -}, -"sessionId": { -"description": "Optional. The user defined ID to use for session, which will become the final component of the session resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first and last characters must be a letter or number.", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+parent}/sessions", +"path": "v1beta1/{+name}:streamQuery", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Session" +"$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" }, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"delete": { -"description": "Deletes details of the specific Session.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", -"httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.sessions.delete", +"resources": { +"a2a": { +"methods": { +"card": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/card", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.card", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^card$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The resource name of the session. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"description": "Gets details of the specific Session.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", +"extendedAgentCard": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/extendedAgentCard", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sessions.get", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.extendedAgentCard", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^extendedAgentCard$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The resource name of the session. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1Session" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"list": { -"description": "Lists Sessions in a given reasoning engine.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions", +"tasks": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sessions.list", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. Supported fields: * `display_name` * `user_id` * `labels` Example: `display_name=\"abc\"`, `user_id=\"123\"`, `labels.key=\"value\"`.", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", -"location": "query", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks$", +"required": true, "type": "string" }, -"pageSize": { -"description": "Optional. The maximum number of sessions to return. The service may return fewer than this value. If unspecified, the default page size is 100. Values greater than 100 will be capped at 100.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The next_page_token value returned from a previous list SessionService.ListSessions call.", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" }, -"parent": { -"description": "Required. The resource name of the location to list sessions from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/sessions", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListSessionsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"patch": { -"description": "Updates the specific Session.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", -"httpMethod": "PATCH", -"id": "aiplatform.reasoningEngines.sessions.patch", +"resources": { +"message": { +"methods": { +"send": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/message:send", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.message.send", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "Identifier. The resource name of the session. Format: 'projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}'.", +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^message$", "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", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", "request": { -"$ref": "GoogleCloudAiplatformV1beta1Session" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "response": { -"$ref": "GoogleCloudAiplatformV1beta1Session" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"events": { -"methods": { -"list": { -"description": "Lists Events in a given session.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/events", -"httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sessions.events.list", +"stream": { +"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/message:stream", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.message.stream", "parameterOrder": [ -"parent" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "Optional. The standard list filter. Supported fields: * `timestamp` range (i.e. `timestamp>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160).", -"location": "query", -"type": "string" -}, -"orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `timestamp` Example: `timestamp desc`.", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of events to return. The service may return fewer than this value. If unspecified, at most 100 events will be returned. These events are ordered by timestamp in ascending order.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. The next_page_token value returned from a previous list SessionService.ListEvents call.", -"location": "query", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", +"location": "path", +"pattern": "^message$", +"required": true, "type": "string" }, -"parent": { -"description": "Required. The resource name of the session to list events from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+parent}/events", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "response": { -"$ref": "GoogleCloudAiplatformV1beta1ListEventsResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -48566,507 +48671,661 @@ } } }, -"operations": { +"tasks": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sessions.operations.cancel", +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.a2aGetReasoningEngine", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks/[^/]+$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleProtobufEmpty" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.reasoningEngines.sessions.operations.delete", +"cancel": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.cancel", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^tasks/[^/]+$", +"required": true, +"type": "string" +}, "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "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/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}", +"pushNotificationConfigs": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}/pushNotificationConfigs", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sessions.operations.get", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.pushNotificationConfigs", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^tasks/[^/]+/pushNotificationConfigs$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations", +"subscribe": { +"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}:subscribe", "httpMethod": "GET", -"id": "aiplatform.reasoningEngines.sessions.operations.list", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.subscribe", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", +"location": "path", +"pattern": "^tasks/[^/]+$", +"required": true, "type": "string" }, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "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", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.reasoningEngines.sessions.operations.wait", +"resources": { +"pushNotificationConfigs": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.tasks.pushNotificationConfigs.a2aGetReasoningEngine", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", +"pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } } } } -} -} }, -"schedules": { -"resources": { -"operations": { +"v1": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/schedules/{schedulesId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.schedules.operations.cancel", +"card": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/card", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.card", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/card$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^schedules/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleProtobufEmpty" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/schedules/{schedulesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.schedules.operations.delete", +"extendedAgentCard": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/extendedAgentCard", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.extendedAgentCard", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/extendedAgentCard$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^schedules/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleProtobufEmpty" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "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/schedules/{schedulesId}/operations/{operationsId}", +"tasks": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks", "httpMethod": "GET", -"id": "aiplatform.schedules.operations.get", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/tasks$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" +}, "name": { -"description": "The name of the operation resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^schedules/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/schedules/{schedulesId}/operations", -"httpMethod": "GET", -"id": "aiplatform.schedules.operations.list", +"resources": { +"message": { +"methods": { +"send": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/message:send", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.message.send", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^v1/message$", +"required": true, "type": "string" }, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^schedules/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" +} }, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:send", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" }, -"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" -} +"type": "object" }, -"path": "v1beta1/{+name}/operations", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/schedules/{schedulesId}/operations/{operationsId}:wait", +"stream": { +"description": "Streams queries using a reasoning engine instance via the A2A streaming protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/message:stream", "httpMethod": "POST", -"id": "aiplatform.schedules.operations.wait", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.message.stream", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. e.g., v1/message:stream.", "location": "path", -"pattern": "^schedules/[^/]+/operations/[^/]+$", +"pattern": "^v1/message$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:stream", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } } -} -} }, -"semanticGovernancePolicies": { -"resources": { -"operations": { +"tasks": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.semanticGovernancePolicies.operations.cancel", +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.a2aGetReasoningEngine", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$", +"pattern": "^v1/tasks/[^/]+$", "required": true, "type": "string" -} -}, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" }, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", +"location": "query", +"type": "string" }, -"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/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.semanticGovernancePolicies.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleProtobufEmpty" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "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/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.semanticGovernancePolicies.operations.get", +"cancel": { +"description": "Send post request for reasoning engine instance via the A2A post protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.cancel", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { +"a2aEndpoint": { +"description": "Required. The a2a endpoint path, captured from the URL. e.g., v1/message:send", +"location": "path", +"pattern": "^v1/tasks/[^/]+$", +"required": true, +"type": "string" +}, "name": { -"description": "The name of the operation resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", "location": "path", -"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:cancel", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations", +"pushNotificationConfigs": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs", "httpMethod": "GET", -"id": "aiplatform.semanticGovernancePolicies.operations.list", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.pushNotificationConfigs", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"filter": { -"description": "The standard list filter.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", +"location": "path", +"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs$", +"required": true, +"type": "string" +}, +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" }, "name": { -"description": "The name of the operation's parent resource.", +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", "location": "path", -"pattern": "^semanticGovernancePolicies/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" +} }, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", +"response": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" }, -"pageToken": { -"description": "The standard list page token.", -"location": "query", +"type": "object" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"subscribe": { +"description": "Stream get request for reasoning engine instance via the A2A stream get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}:subscribe", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.subscribe", +"parameterOrder": [ +"name", +"a2aEndpoint" +], +"parameters": { +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123:subscribe`.", +"location": "path", +"pattern": "^v1/tasks/[^/]+$", +"required": true, "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" +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL.", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}:subscribe", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleApiHttpBody" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.semanticGovernancePolicies.operations.wait", +"resources": { +"pushNotificationConfigs": { +"methods": { +"a2aGetReasoningEngine": { +"description": "Get request for reasoning engine instance via the A2A get protocol apis.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/a2a/v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.runtimeRevisions.a2a.v1.tasks.pushNotificationConfigs.a2aGetReasoningEngine", "parameterOrder": [ -"name" +"name", +"a2aEndpoint" ], "parameters": { -"name": { -"description": "The name of the operation resource to wait on.", +"a2aEndpoint": { +"description": "Required. The http endpoint extracted from the URL path. i.e. `v1/tasks/123`", "location": "path", -"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$", +"pattern": "^v1/tasks/[^/]+/pushNotificationConfigs/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"historyLength": { +"description": "Optional. The optional query parameter for the getTask endpoint. Mapped from \"?history_length=\". This indicates how many turns of history to return. If not set, the default value is 0, which means all the history will be returned.", "location": "query", "type": "string" +}, +"name": { +"description": "Required. The full resource path of the reasoning engine, captured from the URL. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}/a2a/{+a2aEndpoint}", "response": { -"$ref": "GoogleLongrunningOperation" +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } } } } +} +} +} +} }, -"servingProfiles": { -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.servingProfiles.operations.cancel", +"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.cancel", "parameterOrder": [ "name" ], @@ -49074,7 +49333,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -49090,9 +49349,9 @@ }, "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/servingProfiles/{servingProfilesId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.servingProfiles.operations.delete", +"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.delete", "parameterOrder": [ "name" ], @@ -49100,7 +49359,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -49115,9 +49374,9 @@ }, "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/servingProfiles/{servingProfilesId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.servingProfiles.operations.get", +"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.get", "parameterOrder": [ "name" ], @@ -49125,7 +49384,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -49141,9 +49400,9 @@ }, "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/servingProfiles/{servingProfilesId}/operations", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations", "httpMethod": "GET", -"id": "aiplatform.servingProfiles.operations.list", +"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.list", "parameterOrder": [ "name" ], @@ -49156,7 +49415,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^servingProfiles/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+$", "required": true, "type": "string" }, @@ -49188,9 +49447,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/runtimeRevisions/{runtimeRevisionsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.servingProfiles.operations.wait", +"id": "aiplatform.reasoningEngines.runtimeRevisions.operations.wait", "parameterOrder": [ "name" ], @@ -49198,7 +49457,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/runtimeRevisions/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -49222,179 +49481,134 @@ } } }, -"skills": { -"resources": { -"operations": { +"sandboxEnvironmentSnapshots": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.skills.operations.cancel", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^skills/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/aiplatform", -"https://www.googleapis.com/auth/cloud-platform" -] -}, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}", +"description": "Deletes the specific SandboxEnvironmentSnapshot.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}", "httpMethod": "DELETE", -"id": "aiplatform.skills.operations.delete", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name of the SandboxEnvironmentSnapshot to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`", "location": "path", -"pattern": "^skills/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "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/skills/{skillsId}/operations/{operationsId}", +"description": "Gets details of the specific SandboxEnvironmentSnapshot.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}", "httpMethod": "GET", -"id": "aiplatform.skills.operations.get", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The resource name of the sandbox environment snapshot. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`", "location": "path", -"pattern": "^skills/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentSnapshot" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/skills/{skillsId}/operations", +"description": "Lists SandboxEnvironmentSnapshots in a given reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots", "httpMethod": "GET", -"id": "aiplatform.skills.operations.list", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^skills/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of SandboxEnvironmentSnapshots to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironmentSnapshots will be returned. Values above 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironmentSnapshots` call. Provide this to retrieve the subsequent page.", "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" +"parent": { +"description": "Required. The resource name of the reasoning engine to list sandbox environments from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/sandboxEnvironmentSnapshots", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentSnapshotsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}:wait", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.skills.operations.wait", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^skills/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"solvers": { -"resources": { -"operations": { -"methods": { "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/solvers/{solversId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.solvers.operations.delete", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete", "parameterOrder": [ "name" ], @@ -49402,7 +49616,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^solvers/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -49417,9 +49631,9 @@ }, "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/solvers/{solversId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.solvers.operations.get", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.get", "parameterOrder": [ "name" ], @@ -49427,7 +49641,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^solvers/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -49443,9 +49657,9 @@ }, "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/solvers/{solversId}/operations", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations", "httpMethod": "GET", -"id": "aiplatform.solvers.operations.list", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.list", "parameterOrder": [ "name" ], @@ -49458,7 +49672,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^solvers/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+$", "required": true, "type": "string" }, @@ -49487,184 +49701,207 @@ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentSnapshots/{sandboxEnvironmentSnapshotsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentSnapshots/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] } } } } }, -"specialistPools": { -"resources": { -"operations": { +"sandboxEnvironmentTemplates": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", +"create": { +"description": "Creates a SandboxEnvironmentTemplate in a given reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates", "httpMethod": "POST", -"id": "aiplatform.specialistPools.operations.cancel", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"parent": { +"description": "Required. The resource name of the reasoning engine to create the SandboxEnvironmentTemplate in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`.", "location": "path", -"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+parent}/sandboxEnvironmentTemplates", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"description": "Deletes the specific SandboxEnvironmentTemplate.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", "httpMethod": "DELETE", -"id": "aiplatform.specialistPools.operations.delete", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name of the SandboxEnvironmentTemplate to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", "location": "path", -"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "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/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"description": "Gets details of the specific SandboxEnvironmentTemplate.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", "httpMethod": "GET", -"id": "aiplatform.specialistPools.operations.get", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The resource name of the sandbox environment template. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", "location": "path", -"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/specialistPools/{specialistPoolsId}/operations", +"description": "Lists SandboxEnvironmentTemplates in a given reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates", "httpMethod": "GET", -"id": "aiplatform.specialistPools.operations.list", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^specialistPools/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of SandboxEnvironmentTemplates to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironmentTemplates will be returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironmentTemplates` call. Provide this to retrieve the subsequent page.", "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" +"parent": { +"description": "Required. The resource name of the reasoning engine to list sandbox environment templates from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/sandboxEnvironmentTemplates", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentTemplatesResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.specialistPools.operations.wait", +"patch": { +"description": "Updates the specific SandboxEnvironmentTemplate. Only the container image and the warm pool size can be updated.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}", +"httpMethod": "PATCH", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Identifier. The resource name of the SandboxEnvironmentTemplate. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}`", "location": "path", -"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"updateMask": { +"description": "Optional. The fields to update. Only these paths are supported: * `custom_container_environment.custom_container_spec.image_uri` * `warm_pool_config.target_instance_count` * `warm_pool_config.update_strategy`", +"format": "google-fieldmask", "location": "query", "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplate" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } -} -} -} }, -"studies": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.studies.operations.cancel", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel", "parameterOrder": [ "name" ], @@ -49672,7 +49909,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^studies/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -49688,9 +49925,9 @@ }, "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/studies/{studiesId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.studies.operations.delete", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.delete", "parameterOrder": [ "name" ], @@ -49698,7 +49935,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^studies/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -49713,9 +49950,9 @@ }, "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/studies/{studiesId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.studies.operations.get", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.get", "parameterOrder": [ "name" ], @@ -49723,7 +49960,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^studies/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -49739,9 +49976,9 @@ }, "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/studies/{studiesId}/operations", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations", "httpMethod": "GET", -"id": "aiplatform.studies.operations.list", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.list", "parameterOrder": [ "name" ], @@ -49754,7 +49991,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^studies/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+$", "required": true, "type": "string" }, @@ -49786,9 +50023,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironmentTemplates/{sandboxEnvironmentTemplatesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.studies.operations.wait", +"id": "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.wait", "parameterOrder": [ "name" ], @@ -49796,7 +50033,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^studies/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironmentTemplates/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -49817,182 +50054,307 @@ ] } } +} +} }, -"trials": { -"resources": { -"operations": { +"sandboxEnvironments": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", +"authorizeAccess": { +"description": "Checks whether the caller is authorized to access the sandbox environment. Authorization is performed entirely by the API infrastructure from the `method_policy` below; the handler is a no-op. A successful response means the caller holds `sandboxEnvironments.execute` on the named sandbox. Used by the sandbox data-plane proxy, which forwards the caller's credential and proxies traffic only on success.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:authorizeAccess", "httpMethod": "POST", -"id": "aiplatform.studies.trials.operations.cancel", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.authorizeAccess", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The resource name of the sandbox environment to authorize access to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}:authorizeAccess", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1AuthorizeSandboxEnvironmentAccessRequest" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1AuthorizeSandboxEnvironmentAccessResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"bidiExecute": { +"description": "Executes using a sandbox environment with bidirectional streaming.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:bidiExecute", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.bidiExecute", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:bidiExecute", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1BidiExecuteSandboxEnvironmentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1BidiExecuteSandboxEnvironmentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a SandboxEnvironment in a given reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the reasoning engine to create the SandboxEnvironment in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`.", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/sandboxEnvironments", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironment" +}, +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"description": "Deletes the specific SandboxEnvironment.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}", "httpMethod": "DELETE", -"id": "aiplatform.studies.trials.operations.delete", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name of the SandboxEnvironment to delete. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"execute": { +"description": "Executes using a sandbox environment.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:execute", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.execute", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the sandbox environment to execute. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:execute", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ExecuteSandboxEnvironmentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ExecuteSandboxEnvironmentResponse" }, "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/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"description": "Gets details of the specific SandboxEnvironment.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}", "httpMethod": "GET", -"id": "aiplatform.studies.trials.operations.get", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The resource name of the sandbox environment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironment" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/studies/{studiesId}/trials/{trialsId}/operations", +"description": "Lists SandboxEnvironments in a given reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments", "httpMethod": "GET", -"id": "aiplatform.studies.trials.operations.list", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+$", -"required": true, -"type": "string" -}, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of SandboxEnvironments to return. The service may return fewer than this value. If unspecified, at most 100 SandboxEnvironments will be returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. The standard list page token, received from a previous `ListSandboxEnvironments` call. Provide this to retrieve the subsequent page.", "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" +"parent": { +"description": "Required. The resource name of the reasoning engine to list sandbox environments from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/sandboxEnvironments", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSandboxEnvironmentsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", +"pause": { +"description": "Pauses the specific SandboxEnvironment.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:pause", "httpMethod": "POST", -"id": "aiplatform.studies.trials.operations.wait", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.pause", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Required. The resource name of the sandbox environment to pause. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" +} }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", +"path": "v1beta1/{+name}:pause", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1PauseSandboxEnvironmentRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes the specific SandboxEnvironment.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:resume", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the sandbox environment to resume. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"required": true, "type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}:resume", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ResumeSandboxEnvironmentRequest" +}, "response": { "$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] +}, +"snapshot": { +"description": "Snapshots the specific SandboxEnvironment resource and creates a SandboxEnvironmentSnapshot resource.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}:snapshot", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.snapshot", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the sandbox environment to snapshot. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironments/{sandbox_environment}`.", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", +"required": true, +"type": "string" } -} -} -} -} +}, +"path": "v1beta1/{+name}:snapshot", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentSnapshot" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } }, -"taskStores": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/taskStores/{taskStoresId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.taskStores.operations.cancel", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.cancel", "parameterOrder": [ "name" ], @@ -50000,7 +50362,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^taskStores/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50016,9 +50378,9 @@ }, "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/taskStores/{taskStoresId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.taskStores.operations.delete", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.delete", "parameterOrder": [ "name" ], @@ -50026,7 +50388,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^taskStores/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50041,9 +50403,9 @@ }, "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/taskStores/{taskStoresId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.taskStores.operations.get", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.get", "parameterOrder": [ "name" ], @@ -50051,7 +50413,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^taskStores/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50067,9 +50429,9 @@ }, "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/taskStores/{taskStoresId}/operations", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations", "httpMethod": "GET", -"id": "aiplatform.taskStores.operations.list", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.list", "parameterOrder": [ "name" ], @@ -50082,7 +50444,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^taskStores/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+$", "required": true, "type": "string" }, @@ -50114,9 +50476,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/taskStores/{taskStoresId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments/{sandboxEnvironmentsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.taskStores.operations.wait", +"id": "aiplatform.reasoningEngines.sandboxEnvironments.operations.wait", "parameterOrder": [ "name" ], @@ -50124,7 +50486,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^taskStores/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sandboxEnvironments/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -50148,179 +50510,258 @@ } } }, -"tensorboards": { -"resources": { -"experiments": { -"resources": { -"operations": { +"sessions": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", +"appendEvent": { +"description": "Appends an event to a given session.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}:appendEvent", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.operations.cancel", +"id": "aiplatform.reasoningEngines.sessions.appendEvent", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", +"description": "Required. The resource name of the session to append event to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta1/{+name}:cancel", +"path": "v1beta1/{+name}:appendEvent", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SessionEvent" +}, "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleCloudAiplatformV1beta1AppendEventResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Session.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions", +"httpMethod": "POST", +"id": "aiplatform.reasoningEngines.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the location to create the session in. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" +}, +"sessionId": { +"description": "Optional. The user defined ID to use for session, which will become the final component of the session resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first and last characters must be a letter or number.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Session" +}, +"response": { +"$ref": "GoogleLongrunningOperation" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"description": "Deletes details of the specific Session.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", "httpMethod": "DELETE", -"id": "aiplatform.tensorboards.experiments.operations.delete", +"id": "aiplatform.reasoningEngines.sessions.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name of the session. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleProtobufEmpty" +"$ref": "GoogleLongrunningOperation" }, "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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"description": "Gets details of the specific Session.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.operations.get", +"id": "aiplatform.reasoningEngines.sessions.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The resource name of the session. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Session" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", +"description": "Lists Sessions in a given reasoning engine.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.operations.list", +"id": "aiplatform.reasoningEngines.sessions.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. The standard list filter. Supported fields: * `display_name` * `user_id` * `labels` Example: `display_name=\"abc\"`, `user_id=\"123\"`, `labels.key=\"value\"`.", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+$", -"required": true, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", +"location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of sessions to return. The service may return fewer than this value. If unspecified, the default page size is 100. Values greater than 100 will be capped at 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. The next_page_token value returned from a previous list SessionService.ListSessions call.", "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" +"parent": { +"description": "Required. The resource name of the location to list sessions from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/{+name}/operations", +"path": "v1beta1/{+parent}/sessions", "response": { -"$ref": "GoogleLongrunningListOperationsResponse" +"$ref": "GoogleCloudAiplatformV1beta1ListSessionsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.operations.wait", +"patch": { +"description": "Updates the specific Session.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "aiplatform.reasoningEngines.sessions.patch", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "Identifier. The resource name of the session. Format: 'projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}'.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" }, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", +"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": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1Session" +}, "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleCloudAiplatformV1beta1Session" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] } -} }, -"runs": { "resources": { +"events": { +"methods": { +"list": { +"description": "Lists Events in a given session.", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/events", +"httpMethod": "GET", +"id": "aiplatform.reasoningEngines.sessions.events.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter. Supported fields: * `timestamp` range (i.e. `timestamp>=\"2025-01-31T11:30:00-04:00\"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `timestamp` Example: `timestamp desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of events to return. The service may return fewer than this value. If unspecified, at most 100 events will be returned. These events are ordered by timestamp in ascending order.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous list SessionService.ListEvents call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the session to list events from. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`", +"location": "path", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/events", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.runs.operations.cancel", +"id": "aiplatform.reasoningEngines.sessions.operations.cancel", "parameterOrder": [ "name" ], @@ -50328,7 +50769,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50344,9 +50785,9 @@ }, "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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.tensorboards.experiments.runs.operations.delete", +"id": "aiplatform.reasoningEngines.sessions.operations.delete", "parameterOrder": [ "name" ], @@ -50354,7 +50795,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50369,9 +50810,9 @@ }, "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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.runs.operations.get", +"id": "aiplatform.reasoningEngines.sessions.operations.get", "parameterOrder": [ "name" ], @@ -50379,7 +50820,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50395,9 +50836,9 @@ }, "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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.runs.operations.list", +"id": "aiplatform.reasoningEngines.sessions.operations.list", "parameterOrder": [ "name" ], @@ -50410,7 +50851,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+$", "required": true, "type": "string" }, @@ -50442,9 +50883,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/reasoningEngines/{reasoningEnginesId}/sessions/{sessionsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.runs.operations.wait", +"id": "aiplatform.reasoningEngines.sessions.operations.wait", "parameterOrder": [ "name" ], @@ -50452,7 +50893,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^reasoningEngines/[^/]+/sessions/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -50473,16 +50914,20 @@ ] } } +} +} +} +} }, -"timeSeries": { +"schedules": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/schedules/{schedulesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.cancel", +"id": "aiplatform.schedules.operations.cancel", "parameterOrder": [ "name" ], @@ -50490,7 +50935,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^schedules/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50506,9 +50951,9 @@ }, "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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"flatPath": "v1beta1/schedules/{schedulesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.delete", +"id": "aiplatform.schedules.operations.delete", "parameterOrder": [ "name" ], @@ -50516,7 +50961,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^schedules/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50531,9 +50976,9 @@ }, "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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"flatPath": "v1beta1/schedules/{schedulesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.get", +"id": "aiplatform.schedules.operations.get", "parameterOrder": [ "name" ], @@ -50541,7 +50986,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^schedules/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50557,9 +51002,9 @@ }, "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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", +"flatPath": "v1beta1/schedules/{schedulesId}/operations", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.list", +"id": "aiplatform.schedules.operations.list", "parameterOrder": [ "name" ], @@ -50572,7 +51017,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"pattern": "^schedules/[^/]+$", "required": true, "type": "string" }, @@ -50604,9 +51049,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/schedules/{schedulesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.wait", +"id": "aiplatform.schedules.operations.wait", "parameterOrder": [ "name" ], @@ -50614,7 +51059,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^schedules/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -50637,18 +51082,16 @@ } } } -} -} -} -} }, +"semanticGovernancePolicies": { +"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.tensorboards.operations.cancel", +"id": "aiplatform.semanticGovernancePolicies.operations.cancel", "parameterOrder": [ "name" ], @@ -50656,7 +51099,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^tensorboards/[^/]+/operations/[^/]+$", +"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50672,9 +51115,9 @@ }, "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/tensorboards/{tensorboardsId}/operations/{operationsId}", +"flatPath": "v1beta1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.tensorboards.operations.delete", +"id": "aiplatform.semanticGovernancePolicies.operations.delete", "parameterOrder": [ "name" ], @@ -50682,7 +51125,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^tensorboards/[^/]+/operations/[^/]+$", +"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50697,9 +51140,9 @@ }, "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/tensorboards/{tensorboardsId}/operations/{operationsId}", +"flatPath": "v1beta1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.tensorboards.operations.get", +"id": "aiplatform.semanticGovernancePolicies.operations.get", "parameterOrder": [ "name" ], @@ -50707,7 +51150,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/operations/[^/]+$", +"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50723,9 +51166,9 @@ }, "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/tensorboards/{tensorboardsId}/operations", +"flatPath": "v1beta1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations", "httpMethod": "GET", -"id": "aiplatform.tensorboards.operations.list", +"id": "aiplatform.semanticGovernancePolicies.operations.list", "parameterOrder": [ "name" ], @@ -50738,7 +51181,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^tensorboards/[^/]+$", +"pattern": "^semanticGovernancePolicies/[^/]+$", "required": true, "type": "string" }, @@ -50770,9 +51213,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.tensorboards.operations.wait", +"id": "aiplatform.semanticGovernancePolicies.operations.wait", "parameterOrder": [ "name" ], @@ -50780,7 +51223,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^tensorboards/[^/]+/operations/[^/]+$", +"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -50804,15 +51247,15 @@ } } }, -"trainingPipelines": { +"servingProfiles": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.trainingPipelines.operations.cancel", +"id": "aiplatform.servingProfiles.operations.cancel", "parameterOrder": [ "name" ], @@ -50820,7 +51263,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", +"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50836,9 +51279,9 @@ }, "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/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.trainingPipelines.operations.delete", +"id": "aiplatform.servingProfiles.operations.delete", "parameterOrder": [ "name" ], @@ -50846,7 +51289,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", +"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50861,9 +51304,9 @@ }, "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/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.trainingPipelines.operations.get", +"id": "aiplatform.servingProfiles.operations.get", "parameterOrder": [ "name" ], @@ -50871,7 +51314,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", +"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -50887,9 +51330,9 @@ }, "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/trainingPipelines/{trainingPipelinesId}/operations", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations", "httpMethod": "GET", -"id": "aiplatform.trainingPipelines.operations.list", +"id": "aiplatform.servingProfiles.operations.list", "parameterOrder": [ "name" ], @@ -50902,7 +51345,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^trainingPipelines/[^/]+$", +"pattern": "^servingProfiles/[^/]+$", "required": true, "type": "string" }, @@ -50934,9 +51377,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.trainingPipelines.operations.wait", +"id": "aiplatform.servingProfiles.operations.wait", "parameterOrder": [ "name" ], @@ -50944,7 +51387,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", +"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -50968,15 +51411,15 @@ } } }, -"tuningJobs": { +"skills": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.tuningJobs.operations.cancel", +"id": "aiplatform.skills.operations.cancel", "parameterOrder": [ "name" ], @@ -50984,7 +51427,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^tuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -51000,9 +51443,9 @@ }, "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/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.tuningJobs.operations.delete", +"id": "aiplatform.skills.operations.delete", "parameterOrder": [ "name" ], @@ -51010,7 +51453,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^tuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -51025,9 +51468,9 @@ }, "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/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.tuningJobs.operations.get", +"id": "aiplatform.skills.operations.get", "parameterOrder": [ "name" ], @@ -51035,7 +51478,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^tuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -51049,11 +51492,58 @@ "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/skills/{skillsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.skills.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": "^skills/[^/]+$", +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/tuningJobs/{tuningJobsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.tuningJobs.operations.wait", +"id": "aiplatform.skills.operations.wait", "parameterOrder": [ "name" ], @@ -51061,7 +51551,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^tuningJobs/[^/]+/operations/[^/]+$", +"pattern": "^skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -51085,59 +51575,102 @@ } } }, -"v1beta1": { +"solvers": { +"resources": { +"operations": { "methods": { -"evaluateDataset": { -"description": "Evaluates a dataset based on a set of given metrics.", -"flatPath": "v1beta1:evaluateDataset", -"httpMethod": "POST", -"id": "aiplatform.evaluateDataset", -"parameterOrder": [], -"parameters": {}, -"path": "v1beta1:evaluateDataset", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluateDatasetRequest" +"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/solvers/{solversId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.solvers.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^solvers/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} }, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ -"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"evaluateInstances": { -"description": "Evaluates instances based on a given metric.", -"flatPath": "v1beta1:evaluateInstances", -"httpMethod": "POST", -"id": "aiplatform.evaluateInstances", -"parameterOrder": [], -"parameters": {}, -"path": "v1beta1:evaluateInstances", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluateInstancesRequest" +"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/solvers/{solversId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.solvers.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^solvers/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} }, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1EvaluateInstancesResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"generateInstanceRubrics": { -"description": "Generates rubrics for a given prompt. A rubric represents a single testable criterion for evaluation. One input prompt could have multiple rubrics This RPC allows users to get suggested rubrics based on provided prompt, which can then be reviewed and used for subsequent evaluations.", -"flatPath": "v1beta1:generateInstanceRubrics", -"httpMethod": "POST", -"id": "aiplatform.generateInstanceRubrics", -"parameterOrder": [], -"parameters": {}, -"path": "v1beta1:generateInstanceRubrics", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1GenerateInstanceRubricsRequest" +"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/solvers/{solversId}/operations", +"httpMethod": "GET", +"id": "aiplatform.solvers.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^solvers/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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": "GoogleCloudAiplatformV1beta1GenerateInstanceRubricsResponse" +"$ref": "GoogleLongrunningListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/aiplatform", @@ -51145,1106 +51678,5598 @@ ] } } +} +} }, -"vertexExpress": { +"specialistPools": { +"resources": { +"operations": { "methods": { -"retrieveExpressProject": { -"description": "Retrieves the project for Vertex AI Express Mode.", -"flatPath": "v1beta1/vertexExpress:retrieveExpressProject", -"httpMethod": "GET", -"id": "aiplatform.vertexExpress.retrieveExpressProject", -"parameterOrder": [], +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.specialistPools.operations.cancel", +"parameterOrder": [ +"name" +], "parameters": { -"getDefaultApiKey": { -"description": "Optional. Whether to return the default API key string in the response.", -"location": "query", -"type": "boolean" +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" } }, -"path": "v1beta1/vertexExpress:retrieveExpressProject", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleCloudAiplatformV1beta1RetrieveExpressProjectResponse" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] }, -"signUp": { -"description": "Signs up the user for Vertex AI Express Mode. If the user is already signed up, the existing ExpressProject will be returned.", -"flatPath": "v1beta1/vertexExpress:signUp", -"httpMethod": "POST", -"id": "aiplatform.vertexExpress.signUp", -"parameterOrder": [], -"parameters": {}, -"path": "v1beta1/vertexExpress:signUp", -"request": { -"$ref": "GoogleCloudAiplatformV1beta1SignUpRequest" +"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/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.specialistPools.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} }, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1ExpressProject" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"Eligibility": { -"methods": { -"check": { -"description": "Checks whether the user is eligible to sign up for Vertex AI Express Mode.", -"flatPath": "v1beta1/vertexExpress/Eligibility:check", +"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/specialistPools/{specialistPoolsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.vertexExpress.Eligibility.check", -"parameterOrder": [], -"parameters": {}, -"path": "v1beta1/vertexExpress/Eligibility:check", +"id": "aiplatform.specialistPools.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", "response": { -"$ref": "GoogleCloudAiplatformV1beta1CheckSignUpEligibilityResponse" +"$ref": "GoogleLongrunningOperation" }, "scopes": [ +"https://www.googleapis.com/auth/aiplatform", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} -} -}, -"revision": "20261028", -"rootUrl": "https://aiplatform.googleapis.com/", -"schemas": { -"CloudAiLargeModelsVisionExperimentsResponse": { -"description": "Experimental response metadata for video generation.", -"id": "CloudAiLargeModelsVisionExperimentsResponse", -"properties": { -"proEditResult": { -"$ref": "CloudAiLargeModelsVisionExperimentsResponseProEditResult", -"description": "Result metadata from a Pro Edit operation, populated for edit requests." -} }, -"type": "object" +"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/specialistPools/{specialistPoolsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.specialistPools.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" }, -"CloudAiLargeModelsVisionExperimentsResponseProEditResult": { -"description": "Result metadata from a Pro Edit operation.", -"id": "CloudAiLargeModelsVisionExperimentsResponseProEditResult", -"properties": { -"structuredPrompt": { -"description": "The output structured prompt (JSON string) produced by this edit.", +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^specialistPools/[^/]+$", +"required": true, "type": "string" -} }, -"type": "object" +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" }, -"CloudAiLargeModelsVisionGenerateVideoExperiments": { -"description": "Experimental parameters for video generation.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperiments", -"properties": { -"allowMeteredBilling": { -"description": "If false, when a non-subscription customer tries to call an experimental feature, the request will be rejected. This field has no effect for subscription customers.", -"type": "boolean" +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" }, -"anchorLastFrame": { -"description": "Optional. If true, anchors the last frame in video generation by generating a custom border mask.", +"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" +} }, -"audioControl": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsAudioControlConfig", -"description": "Optional. Audio control configuration." +"path": "v1beta1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" }, -"cfgScale": { -"description": "CFG scale for video-transform, perf-generation, a2v, video-textures models.", -"format": "float", -"type": "number" +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] }, -"codec": { -"description": "Optional. Video codec to use for output.", -"enum": [ -"VIDEO_CODEC_UNSPECIFIED", -"VIDEO_CODEC_H264", -"VIDEO_CODEC_PRORES", -"VIDEO_CODEC_DNXHR" -], -"enumDescriptions": [ -"", -"", -"", -"" +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.specialistPools.operations.wait", +"parameterOrder": [ +"name" ], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"required": true, "type": "string" }, -"colorAlignment": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsColorAlignmentConfig", -"description": "Optional. Color alignment configuration." +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} }, -"conditioningFrames": { -"description": "Conditioning frames for veo experimental models ONLY, not to be confused with keyframes (ID:31) in GenerateVideoRequest.", -"items": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame" +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" }, -"type": "array" +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"studies": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.studies.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.studies.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.studies.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/studies/{studiesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.studies.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^studies/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.studies.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"trials": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.studies.trials.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.studies.trials.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.studies.trials.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/studies/{studiesId}/trials/{trialsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.studies.trials.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.studies.trials.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"taskStores": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/taskStores/{taskStoresId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.taskStores.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^taskStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/taskStores/{taskStoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.taskStores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^taskStores/[^/]+/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/taskStores/{taskStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.taskStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^taskStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/taskStores/{taskStoresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.taskStores.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": "^taskStores/[^/]+$", +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/taskStores/{taskStoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.taskStores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^taskStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"tensorboards": { +"resources": { +"experiments": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.tensorboards.experiments.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.tensorboards.experiments.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.tensorboards.experiments.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.tensorboards.experiments.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.tensorboards.experiments.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runs": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.tensorboards.experiments.runs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.tensorboards.experiments.runs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.tensorboards.experiments.runs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.tensorboards.experiments.runs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.tensorboards.experiments.runs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"timeSeries": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.tensorboards.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.tensorboards.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.tensorboards.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/tensorboards/{tensorboardsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.tensorboards.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.tensorboards.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"trainingPipelines": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.trainingPipelines.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.trainingPipelines.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.trainingPipelines.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"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/trainingPipelines/{trainingPipelinesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.trainingPipelines.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^trainingPipelines/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"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/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.trainingPipelines.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"tuningJobs": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.tuningJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^tuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1beta1/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.tuningJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^tuningJobs/[^/]+/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/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.tuningJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^tuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/tuningJobs/{tuningJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.tuningJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^tuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"v1beta1": { +"methods": { +"evaluateDataset": { +"description": "Evaluates a dataset based on a set of given metrics.", +"flatPath": "v1beta1:evaluateDataset", +"httpMethod": "POST", +"id": "aiplatform.evaluateDataset", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1:evaluateDataset", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluateDatasetRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"evaluateInstances": { +"description": "Evaluates instances based on a given metric.", +"flatPath": "v1beta1:evaluateInstances", +"httpMethod": "POST", +"id": "aiplatform.evaluateInstances", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1:evaluateInstances", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluateInstancesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluateInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateInstanceRubrics": { +"description": "Generates rubrics for a given prompt. A rubric represents a single testable criterion for evaluation. One input prompt could have multiple rubrics This RPC allows users to get suggested rubrics based on provided prompt, which can then be reviewed and used for subsequent evaluations.", +"flatPath": "v1beta1:generateInstanceRubrics", +"httpMethod": "POST", +"id": "aiplatform.generateInstanceRubrics", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1:generateInstanceRubrics", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateInstanceRubricsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1GenerateInstanceRubricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/aiplatform", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"vertexExpress": { +"methods": { +"retrieveExpressProject": { +"description": "Retrieves the project for Vertex AI Express Mode.", +"flatPath": "v1beta1/vertexExpress:retrieveExpressProject", +"httpMethod": "GET", +"id": "aiplatform.vertexExpress.retrieveExpressProject", +"parameterOrder": [], +"parameters": { +"getDefaultApiKey": { +"description": "Optional. Whether to return the default API key string in the response.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/vertexExpress:retrieveExpressProject", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1RetrieveExpressProjectResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"signUp": { +"description": "Signs up the user for Vertex AI Express Mode. If the user is already signed up, the existing ExpressProject will be returned.", +"flatPath": "v1beta1/vertexExpress:signUp", +"httpMethod": "POST", +"id": "aiplatform.vertexExpress.signUp", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1/vertexExpress:signUp", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SignUpRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ExpressProject" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"Eligibility": { +"methods": { +"check": { +"description": "Checks whether the user is eligible to sign up for Vertex AI Express Mode.", +"flatPath": "v1beta1/vertexExpress/Eligibility:check", +"httpMethod": "GET", +"id": "aiplatform.vertexExpress.Eligibility.check", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta1/vertexExpress/Eligibility:check", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1CheckSignUpEligibilityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20261106", +"rootUrl": "https://aiplatform.googleapis.com/", +"schemas": { +"CloudAiLargeModelsVisionExperimentsResponse": { +"description": "Experimental response metadata for video generation.", +"id": "CloudAiLargeModelsVisionExperimentsResponse", +"properties": { +"proEditResult": { +"$ref": "CloudAiLargeModelsVisionExperimentsResponseProEditResult", +"description": "Result metadata from a Pro Edit operation, populated for edit requests." +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionExperimentsResponseProEditResult": { +"description": "Result metadata from a Pro Edit operation.", +"id": "CloudAiLargeModelsVisionExperimentsResponseProEditResult", +"properties": { +"structuredPrompt": { +"description": "The output structured prompt (JSON string) produced by this edit.", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperiments": { +"description": "Experimental parameters for video generation.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperiments", +"properties": { +"allowMeteredBilling": { +"description": "If false, when a non-subscription customer tries to call an experimental feature, the request will be rejected. This field has no effect for subscription customers.", +"type": "boolean" +}, +"anchorLastFrame": { +"description": "Optional. If true, anchors the last frame in video generation by generating a custom border mask.", +"type": "boolean" +}, +"audioControl": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsAudioControlConfig", +"description": "Optional. Audio control configuration." +}, +"cfgScale": { +"description": "CFG scale for video-transform, perf-generation, a2v, video-textures models.", +"format": "float", +"type": "number" +}, +"codec": { +"description": "Optional. Video codec to use for output.", +"enum": [ +"VIDEO_CODEC_UNSPECIFIED", +"VIDEO_CODEC_H264", +"VIDEO_CODEC_PRORES", +"VIDEO_CODEC_DNXHR" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"colorAlignment": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsColorAlignmentConfig", +"description": "Optional. Color alignment configuration." +}, +"conditioningFrames": { +"description": "Conditioning frames for veo experimental models ONLY, not to be confused with keyframes (ID:31) in GenerateVideoRequest.", +"items": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame" +}, +"type": "array" +}, +"customParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Generic key-value pairs for experimental parameters. This allows adding new parameters without changing the dataplane binary.", +"type": "object" +}, +"exrColorSpaceOverride": { +"description": "Optional. Colorspace to be used for all EXR inputs.", +"type": "string" +}, +"humanPose": { +"$ref": "CloudAiLargeModelsVisionHumanPose", +"description": "Human pose parameters for Pose Control" +}, +"loraConfig": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfig", +"description": "Optional. LoRA configuration for Omni editing/stylization models." +}, +"modelEndpointOverride": { +"description": "Optional. BNS override for model backend. Enabled only for local and autopush environments by the flag `lvm_allow_model_zoo_bns_override`.", +"type": "string" +}, +"modelName": { +"description": "Model names, as defined in: xyz ", +"type": "string" +}, +"numDiffusionSteps": { +"description": "Number of diffusion steps", +"format": "int32", +"type": "integer" +}, +"omniRewriter": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsOmniRewriterConfig", +"description": "Optional. Omni Rewriter configuration." +}, +"originalRequestJson": { +"description": "The original REST API request JSON sent by the user, in the instances/parameters format. Preserved for saving alongside output artifacts so users can reproduce their requests. This field is populated by the API handler and is not user-settable.", +"type": "string" +}, +"outpaintConfig": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfig", +"description": "Config for Outpainting task." +}, +"perfEstimationConfig": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfig", +"description": "Optional. Omni Perf 3D estimation configuration." +}, +"proEdit": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsProEditConfig", +"description": "Configuration for Pro Edit." +}, +"promptInputs": { +"$ref": "CloudAiLargeModelsVisionPromptInputs", +"description": "Prompt chunks for \"ProModel\" prompting. If set, the prompt will not be rewritten, and top-level prompt ignored." +}, +"requestOriginTag": { +"description": "Optional tag for tracking the source of this request. Allowed values: \"colab\", \"comfyui\", \"curl\", \"flowresearch\", \"vertexstudio\". Unrecognized tags are recorded as \"unknown\" in metrics. Tags do not affect video generation behavior. Up to 16 characters, ASCII alphanumeric, hyphens, and underscores only.", +"type": "string" +}, +"schedulingConfig": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig", +"description": "Optional. Scheduling configuration." +}, +"seamless": { +"$ref": "CloudAiLargeModelsVisionSeamless", +"description": "Parameters for seamless (edge-continuous) video generation, enabling temporal looping and/or spatial tessellation." +}, +"spatialAlignment": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsSpatialAlignmentConfig", +"description": "Optional. Spatial alignment configuration." +}, +"superResConfig": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsSuperResConfig", +"description": "Config for the Pro Super Res upsampling task." +}, +"truncateInputVideo": { +"description": "If true (default), truncate input videos that exceed the model's maximum frame count by applying a frame_selection_config to __video_file__ inputs. Set to false to preserve the existing fail-fast behavior.", +"type": "boolean" +}, +"videoTransform": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsVideoTransform", +"description": "Video transform configuration for omni editing models." +}, +"videoTransformMaskGcsUri": { +"deprecated": true, +"description": "GCS URI of the grayscale video mask for Differential Diffusion. Maps to sdedit_video_tmax_scale_map ", +"type": "string" +}, +"videoTransformStrength": { +"deprecated": true, +"description": "SDEdit: Scalar noise level (0.0 to 1.0) Maps to sdedit_tmax ", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsAudioControlConfig": { +"description": "Configuration for audio control.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsAudioControlConfig", +"properties": { +"targetAudio": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestAudio", +"description": "Optional. Audio file to use as the target audio input to Omni. Only used when `use_target_audio_from_video` is false. Cannot be set simultaneously with `use_target_audio_from_video = true`." +}, +"useTargetAudioFromVideo": { +"description": "Optional. When true, uses the audio track from the input video as the target audio instead of regenerating it. Mutually exclusive with `target_audio` below. Requires the input to be a video file, not an image sequence.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsBoundingBox": { +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsBoundingBox", +"properties": { +"bottom": { +"description": "The bottom coordinate (exclusive) of the bounding box.", +"format": "int32", +"type": "integer" +}, +"frameIndex": { +"description": "The frame index of the bounding box.", +"format": "int32", +"type": "integer" +}, +"left": { +"description": "The left coordinate of the bounding box.", +"format": "int32", +"type": "integer" +}, +"right": { +"description": "The right coordinate (exclusive) of the bounding box.", +"format": "int32", +"type": "integer" +}, +"top": { +"description": "The top coordinate of the bounding box.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsColorAlignmentConfig": { +"description": "Configuration for color alignment.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsColorAlignmentConfig", +"properties": { +"enable": { +"description": "Optional. If true, enable alignment.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame": { +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame", +"properties": { +"frameNum": { +"description": "The index of the frame, starts with zero and must be a multiple of 8.", +"format": "int32", +"type": "integer" +}, +"image": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestImage", +"description": "The image data for this conditioning frame." +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfig": { +"description": "Configuration for Multi-LoRA adaptation.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfig", +"properties": { +"adapters": { +"description": "List of LoRA adapters to apply.", +"items": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfigAdapter" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfigAdapter": { +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfigAdapter", +"properties": { +"id": { +"description": "The registered ID of the LoRA adapter (e.g. \"lora_xxx\").", +"type": "string" +}, +"resolvedPath": { +"description": "Internal field populated after validation: resolved TFHub path.", +"type": "string" +}, +"weight": { +"description": "The blending scale/weight of the LoRA adapter. Must be in the range (0.0, 2.0]. Default is 1.0.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsOmniRewriterConfig": { +"description": "Configuration for Omni Rewriter.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsOmniRewriterConfig", +"properties": { +"maxChunkDuration": { +"description": "Optional. Maximum duration of a chunk in seconds.", +"format": "float", +"type": "number" +}, +"rewriterInputFps": { +"description": "Optional. FPS used to generate gemini chunks for video inputs.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfig": { +"description": "Config for Outpainting task.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfig", +"properties": { +"inputFrames": { +"description": "The input frames for outpainting. Required.", +"items": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfigFrameSource" +}, +"type": "array" +}, +"outputSpec": { +"description": "The output specification (defines target resolution and frame count). Required.", +"enum": [ +"OUTPUT_SPEC_UNSPECIFIED", +"OUTPUT_SPEC_1920X1072x72", +"OUTPUT_SPEC_1280X720x192", +"OUTPUT_SPEC_960X544x432", +"OUTPUT_SPEC_1280X720x144" +], +"enumDescriptions": [ +"", +"High spec: 1920x1072 resolution, 72 total frames.", +"Medium spec: 1280x720 resolution, 192 total frames.", +"Low spec: 960x544 resolution, 432 total frames.", +"Medium spec at 1280x720, 144 total frames. Shorter than OUTPUT_SPEC_1280X720x192 and higher quality at the same resolution." +], +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfigFrameSource": { +"description": "The input frame(s). It can be a full path or a glob pattern to images. The proto can be extended in the future for alternative ways to specify source of frames.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfigFrameSource", +"properties": { +"globPattern": { +"type": "string" +}, +"horizontalOffset": { +"description": "Horizontal offset in pixels of the frame's left edge from the canvas's left edge. Values outside the canvas crop the frame. Optional. Default is 0 (frame flush with the canvas's left edge).", +"format": "int32", +"type": "integer" +}, +"verticalOffset": { +"description": "Vertical offset in pixels of the frame's top edge from the canvas's top edge. Values outside the canvas crop the frame. Optional. Default is 0 (frame flush with the canvas's top edge).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfig": { +"description": "Configuration for Omni Perf 3D estimation.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfig", +"properties": { +"exportUsd": { +"description": "Optional. Whether to export the USD file.", +"type": "boolean" +}, +"sourceBoundingBox": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsBoundingBox", +"description": "Required. The bounding box of the object in the source video." +}, +"sourceVideo": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestVideo", +"description": "Required. The source video for the 3D estimation." +}, +"targetCharacterReferences": { +"description": "Optional. The character reference images/videos.", +"items": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfigCharacterReference" +}, +"type": "array" +}, +"temporalSmoothness": { +"description": "Optional.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfigCharacterReference": { +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfigCharacterReference", +"properties": { +"boundingBox": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsBoundingBox", +"description": "Required. The bounding box of the character in the reference image/video." +}, +"referenceImage": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestImage" +}, +"referenceVideo": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestVideo" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsProEditConfig": { +"description": "Configuration for Pro Edit.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsProEditConfig", +"properties": { +"editInstructionPrompt": { +"description": "A text string containing the user's edit instruction. Will be applied to the original URF.", +"type": "string" +}, +"fromOperationId": { +"description": "Required. The operation_id from a previous omni-cine generation whose OF and URF should be retrieved for editing.", +"type": "string" +}, +"structuredPrompt": { +"description": "A JSON string containing the user's modified URF. The URF Editing Preamble will diff this against the original URF to determine what changed.", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsSpatialAlignmentConfig": { +"description": "Configuration for spatial alignment.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsSpatialAlignmentConfig", +"properties": { +"enable": { +"description": "Optional. If true, enable alignment.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsSuperResConfig": { +"description": "Config for the Pro Super Res upsampling task.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsSuperResConfig", +"properties": { +"mode": { +"description": "Super Res mode. Required.", +"enum": [ +"MODE_UNSPECIFIED", +"MODE_4K", +"MODE_8K", +"MODE_4K_PRO" +], +"enumDescriptions": [ +"", +"Single-pass 4K UDiT.", +"Single-pass 8K UDiT.", +"\"8K UDiT, downsampled 2x in the decoder." +], +"type": "string" +}, +"steps": { +"description": "Number of diffusion denoising steps (1 or 2).", +"format": "int32", +"type": "integer" +}, +"tileSmoothing": { +"description": "Smooths the seams between the tiles the model upscales separately.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig": { +"description": "Scheduling configuration for Veo Experimental.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig", +"properties": { +"enableRetry": { +"description": "Optional. If true, enable retries on transient errors with default backoff.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoExperimentsVideoTransform": { +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsVideoTransform", +"properties": { +"initializationVideo": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestVideo", +"description": "Optional. Input for video transform (sdedit, diffdiff). Note the input video from the main GenerateVideoRequest will be used as the conditioning." +}, +"mask": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestVideo", +"description": "Optional. Mask for video transform (diffdiff)." +}, +"noiseStrength": { +"description": "Optional. Noise strength for video transform.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoRequestAudio": { +"description": "The raw bytes or Cloud Storage URI for an audio input.", +"id": "CloudAiLargeModelsVisionGenerateVideoRequestAudio", +"properties": { +"blobId": { +"description": "Blob ID of the audio. This is used for storing the large audio in the request.", +"type": "string" +}, +"bytesBase64Encoded": { +"description": "Base64 encoded bytes string representing the audio.", +"type": "string" +}, +"gcsUri": { +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the audio. Only audio in below listed MIME types are supported. - audio/wav - audio/mp3 - audio/mpeg", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoRequestImage": { +"description": "The image bytes or Cloud Storage URI to make the prediction on.", +"id": "CloudAiLargeModelsVisionGenerateVideoRequestImage", +"properties": { +"blobId": { +"description": "Blob ID of the image. This is used for storing the large images in the request.", +"type": "string" +}, +"bytesBase64Encoded": { +"description": "Base64 encoded bytes string representing the image.", +"type": "string" +}, +"gcsUri": { +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/png", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoRequestVideo": { +"id": "CloudAiLargeModelsVisionGenerateVideoRequestVideo", +"properties": { +"blobId": { +"description": "Blob ID of the video. This is used for storing large videos in the request.", +"type": "string" +}, +"bytesBase64Encoded": { +"description": "Base64 encoded bytes string representing the video.", +"type": "string" +}, +"gcsUri": { +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the video. Only the video in the below listed MIME types are supported. - video/mp4", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoResponse": { +"description": "Generate video response.", +"id": "CloudAiLargeModelsVisionGenerateVideoResponse", +"properties": { +"generatedSamples": { +"description": "The generates samples.", +"items": { +"$ref": "CloudAiLargeModelsVisionMedia" +}, +"type": "array" +}, +"raiMediaFilteredCount": { +"description": "Returns if any videos were filtered due to RAI policies.", +"format": "int32", +"type": "integer" +}, +"raiMediaFilteredReasons": { +"description": "Returns rai failure reasons if any.", +"items": { +"type": "string" +}, +"type": "array" +}, +"videos": { +"description": "List of videos, used to align naming with the external response.", +"items": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoResponseVideo" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionGenerateVideoResponseVideo": { +"id": "CloudAiLargeModelsVisionGenerateVideoResponseVideo", +"properties": { +"bytesBase64Encoded": { +"description": "Base64 encoded bytes string representing the video.", +"type": "string" +}, +"experimentsMetadata": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperiments", +"deprecated": true, +"description": "Optional metadata returned from experimental requests. Likely only includes the rewritten prompt chunks." +}, +"experimentsResponse": { +"$ref": "CloudAiLargeModelsVisionExperimentsResponse", +"description": "Optional response returned from experimental requests." +}, +"gcsUri": { +"description": "Cloud Storage URI where the generated video is written.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the video. - video/mp4", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionHumanPose": { +"id": "CloudAiLargeModelsVisionHumanPose", +"properties": { +"bodyLandmarksGcsUri": { +"deprecated": true, +"description": "GCS URI of the human pose video to condition video generation.", +"type": "string" +}, +"faceLandmarksGcsUri": { +"deprecated": true, +"description": "GCS URI of the face landmarks video to condition video generation.", +"type": "string" +}, +"perfMeshGcsUri": { +"description": "GCS URI of the performance mesh to condition video generation.", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImage": { +"description": "Image.", +"id": "CloudAiLargeModelsVisionImage", +"properties": { +"encoding": { +"description": "Image encoding, encoded as \"image/png\" or \"image/jpg\".", +"type": "string" +}, +"generationSeed": { +"description": "Generation seed for the sampled image. This parameter is exposed to the user only if one of the following is true: 1. The user specified per-example seeds in the request. 2. The user doesn't specify the generation seed in the request.", +"format": "int32", +"type": "integer" +}, +"image": { +"description": "Raw bytes.", +"format": "byte", +"type": "string" +}, +"imageRaiScores": { +"$ref": "CloudAiLargeModelsVisionImageRAIScores", +"description": "RAI scores for generated image." +}, +"imageSize": { +"$ref": "CloudAiLargeModelsVisionImageImageSize", +"description": "Image size. The size of the image. Can be self reported, or computed from the image bytes." +}, +"raiInfo": { +"$ref": "CloudAiLargeModelsVisionRaiInfo", +"description": "RAI info for image." +}, +"semanticFilterResponse": { +"$ref": "CloudAiLargeModelsVisionSemanticFilterResponse", +"description": "Semantic filter info for image." +}, +"text": { +"description": "Text/Expanded text input for imagen.", +"type": "string" +}, +"uri": { +"description": "Path to another storage (typically Google Cloud Storage).", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImageImageSize": { +"description": "Image size.", +"id": "CloudAiLargeModelsVisionImageImageSize", +"properties": { +"channels": { +"format": "int32", +"type": "integer" +}, +"height": { +"format": "int32", +"type": "integer" +}, +"width": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImageRAIScores": { +"description": "RAI scores for generated image returned.", +"id": "CloudAiLargeModelsVisionImageRAIScores", +"properties": { +"agileWatermarkDetectionScore": { +"description": "Agile watermark score for image.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionMedia": { +"description": "Media.", +"id": "CloudAiLargeModelsVisionMedia", +"properties": { +"image": { +"$ref": "CloudAiLargeModelsVisionImage", +"description": "Image." +}, +"video": { +"$ref": "CloudAiLargeModelsVisionVideo", +"description": "Video" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionNamedBoundingBox": { +"id": "CloudAiLargeModelsVisionNamedBoundingBox", +"properties": { +"classes": { +"items": { +"type": "string" +}, +"type": "array" +}, +"entities": { +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"x1": { +"format": "float", +"type": "number" +}, +"x2": { +"format": "float", +"type": "number" +}, +"y1": { +"format": "float", +"type": "number" +}, +"y2": { +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionPromptInputs": { +"description": "\"Direct\" prompting for Experimental Video Generation. These will be sent directly to the LDM without being rewritten.", +"id": "CloudAiLargeModelsVisionPromptInputs", +"properties": { +"audioPrompt": { +"description": "Description of audio content in the video, without speech.", +"type": "string" +}, +"negativeAudioPrompt": { +"description": "Negative description of audio content in the video.", +"type": "string" +}, +"negativePrompt": { +"description": "Single negative prompt for what not to generate.", +"type": "string" +}, +"promptChunks": { +"description": "2s, 256 tokens per chunk, 4 total chunks. Required.", +"items": { +"type": "string" +}, +"type": "array" +}, +"transcript": { +"description": "Spoken transcript of the video for characters.", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfo": { +"description": "Next ID: 6", +"id": "CloudAiLargeModelsVisionRaiInfo", +"properties": { +"blockedEntities": { +"description": "List of blocked entities from the blocklist if it is detected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedLabels": { +"description": "The list of detected labels for different rai categories.", +"items": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabels" +}, +"type": "array" +}, +"modelName": { +"description": "The model name used to indexing into the RaiFilterConfig map. Would either be one of imagegeneration@002-006, imagen-3.0-... api endpoint names, or internal names used for mapping to different filter configs (genselfie, ai_watermark) than its api endpoint.", +"type": "string" +}, +"raiCategories": { +"description": "List of rai categories' information to return", +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"description": "List of rai scores mapping to the rai categories. Rounded to 1 decimal place.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabels": { +"description": "Filters returning list of deteceted labels, scores, and bounding boxes.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabels", +"properties": { +"entities": { +"description": "The list of detected entities for the rai signal.", +"items": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity" +}, +"type": "array" +}, +"raiCategory": { +"description": "The RAI category for the deteceted labels.", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox": { +"description": "An integer bounding box of original pixels of the image for the detected labels.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", +"properties": { +"x1": { +"description": "The X coordinate of the top-left corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"x2": { +"description": "The X coordinate of the bottom-right corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"y1": { +"description": "The Y coordinate of the top-left corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"y2": { +"description": "The Y coordinate of the bottom-right corner, in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity": { +"description": "The properties for a detected entity from the rai signal.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity", +"properties": { +"boundingBox": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", +"description": "Bounding box of the label" +}, +"description": { +"description": "Description of the label", +"type": "string" +}, +"iouScore": { +"description": "The intersection ratio between the detection bounding box and the mask.", +"format": "float", +"type": "number" +}, +"mid": { +"description": "MID of the label", +"type": "string" +}, +"score": { +"description": "Confidence score of the label", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionSeamless": { +"id": "CloudAiLargeModelsVisionSeamless", +"properties": { +"loop": { +"description": "If true, the generated video will be loopable (seamless time looping).", +"type": "boolean" +}, +"tessellateHorizontal": { +"description": "If true, the generated video will be tessellatable as a horizontal tessellation.", +"type": "boolean" +}, +"tessellateVertical": { +"description": "If true, the generated video will be tessellatable as a vertical tessellation.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionSemanticFilterResponse": { +"id": "CloudAiLargeModelsVisionSemanticFilterResponse", +"properties": { +"namedBoundingBoxes": { +"description": "Class labels of the bounding boxes that failed the semantic filtering. Bounding box coordinates.", +"items": { +"$ref": "CloudAiLargeModelsVisionNamedBoundingBox" +}, +"type": "array" +}, +"passedSemanticFilter": { +"description": "This response is added when semantic filter config is turned on in EditConfig. It reports if this image is passed semantic filter response. If passed_semantic_filter is false, the bounding box information will be populated for user to check what caused the semantic filter to fail.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionVideo": { +"description": "Video", +"id": "CloudAiLargeModelsVisionVideo", +"properties": { +"encodedVideo": { +"description": "Base 64 encoded video bytes.", +"type": "string" +}, +"encoding": { +"description": "Video encoding, for example \"video/mp4\".", +"type": "string" +}, +"text": { +"description": "Text/Expanded text input for Help Me Write.", +"type": "string" +}, +"uri": { +"description": "Path to another storage (typically Google Cloud Storage).", +"type": "string" +}, +"video": { +"description": "Raw bytes.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiPlatformCommonCreatePipelineJobApiErrorDetail": { +"description": "Create API error message for Vertex Pipeline.", +"id": "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail", +"properties": { +"errorCause": { +"description": "The error root cause returned by CreatePipelineJob API.", +"enum": [ +"ERROR_CAUSE_UNSPECIFIED", +"INVALID_PIPELINE_SPEC_FORMAT", +"INVALID_PIPELINE_SPEC", +"INVALID_DEPLOYMENT_CONFIG", +"INVALID_DEPLOYMENT_SPEC", +"INVALID_INSTANCE_SCHEMA", +"INVALID_CUSTOM_JOB", +"INVALID_CONTAINER_SPEC", +"INVALID_NOTIFICATION_EMAIL_SETUP", +"INVALID_SERVICE_ACCOUNT_SETUP", +"INVALID_KMS_SETUP", +"INVALID_NETWORK_SETUP", +"INVALID_PIPELINE_TASK_SPEC", +"INVALID_PIPELINE_TASK_ARTIFACT", +"INVALID_IMPORTER_SPEC", +"INVALID_RESOLVER_SPEC", +"INVALID_RUNTIME_PARAMETERS", +"CLOUD_API_NOT_ENABLED", +"INVALID_GCS_INPUT_URI", +"INVALID_GCS_OUTPUT_URI", +"INVALID_COMPONENT_SPEC", +"INVALID_DAG_OUTPUTS_SPEC", +"INVALID_DAG_SPEC", +"INSUFFICIENT_QUOTA", +"INTERNAL" +], +"enumDescriptions": [ +"Should never be used.", +"IR Pipeline Spec can not been parsed to yaml or json format.", +"A pipeline spec is invalid.", +"A deployment config is invalid.", +"A deployment spec is invalid.", +"An instance schema is invalid.", +"A custom job is invalid.", +"A container spec is invalid.", +"Notification email setup is invalid.", +"Service account setup is invalid.", +"KMS setup is invalid.", +"Network setup is invalid.", +"Task spec is invalid.", +"Task artifact is invalid.", +"Importer spec is invalid.", +"Resolver spec is invalid.", +"Runtime Parameters are invalid.", +"Cloud API not enabled.", +"Invalid Cloud Storage input uri", +"Invalid Cloud Storage output uri", +"Component spec of pipeline is invalid.", +"DagOutputsSpec is invalid.", +"DagSpec is invalid.", +"Project does not have enough quota.", +"An internal error with unknown cause." +], +"type": "string" +}, +"publicMessage": { +"description": "Public messages contains actionable items for the error cause.", +"type": "string" +} +}, +"type": "object" +}, +"GdataBlobstore2Info": { +"description": "Information to read/write to blobstore2.", +"id": "GdataBlobstore2Info", +"properties": { +"blobGeneration": { +"description": "The blob generation id.", +"format": "int64", +"type": "string" +}, +"blobId": { +"description": "The blob id, e.g., /blobstore/prod/playground/scotty", +"type": "string" +}, +"downloadExternalReadToken": { +"description": "A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.", +"format": "byte", +"type": "string" +}, +"downloadReadHandle": { +"description": "Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.", +"format": "byte", +"type": "string" +}, +"readToken": { +"description": "The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.", +"type": "string" +}, +"uploadFragmentListCreationInfo": { +"description": "A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.", +"format": "byte", +"type": "string" +}, +"uploadMetadataContainer": { +"description": "Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GdataCompositeMedia": { +"description": "A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites.", +"id": "GdataCompositeMedia", +"properties": { +"blobRef": { +"deprecated": true, +"description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.", +"format": "byte", +"type": "string" +}, +"blobstore2Info": { +"$ref": "GdataBlobstore2Info", +"description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob." +}, +"cosmoBinaryReference": { +"description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.", +"format": "byte", +"type": "string" +}, +"crc32cHash": { +"description": "crc32.c hash for the payload.", +"format": "uint32", +"type": "integer" +}, +"inline": { +"description": "Media data, set if reference_type is INLINE", +"format": "byte", +"type": "string" +}, +"length": { +"description": "Size of the data, in bytes", +"format": "int64", +"type": "string" +}, +"md5Hash": { +"description": "MD5 hash for the payload.", +"format": "byte", +"type": "string" +}, +"objectId": { +"$ref": "GdataObjectId", +"description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF." +}, +"path": { +"description": "Path to the data, set if reference_type is PATH", +"type": "string" +}, +"referenceType": { +"description": "Describes what the field reference contains.", +"enum": [ +"PATH", +"BLOB_REF", +"INLINE", +"BIGSTORE_REF", +"COSMO_BINARY_REFERENCE" +], +"enumDescriptions": [ +"Reference contains a GFS path or a local path.", +"Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.", +"Data is included into this proto buffer", +"Reference points to a bigstore object", +"Indicates the data is stored in cosmo_binary_reference." +], +"type": "string" +}, +"sha1Hash": { +"description": "SHA-1 hash for the payload.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GdataContentTypeInfo": { +"description": "Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty.", +"id": "GdataContentTypeInfo", +"properties": { +"bestGuess": { +"description": "Scotty's best guess of what the content type of the file is.", +"type": "string" +}, +"fromBytes": { +"description": "The content type of the file derived by looking at specific bytes (i.e. \"magic bytes\") of the actual file.", +"type": "string" +}, +"fromFileName": { +"description": "The content type of the file derived from the file extension of the original file name used by the client.", +"type": "string" +}, +"fromFusionId": { +"description": "The content type of the file detected by Fusion ID. go/fusionid", +"type": "string" +}, +"fromHeader": { +"description": "The content type of the file as specified in the request headers, multipart headers, or RUPIO start request.", +"type": "string" +}, +"fromUrlPath": { +"description": "The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API).", +"type": "string" +}, +"fusionIdDetectionMetadata": { +"description": "Metadata information from Fusion ID detection. Serialized FusionIdDetectionMetadata proto. Only set if from_fusion_id is set.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GdataDiffChecksumsResponse": { +"description": "Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffChecksumsResponse", +"properties": { +"checksumsLocation": { +"$ref": "GdataCompositeMedia", +"description": "Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol." +}, +"chunkSizeBytes": { +"description": "The chunk size of checksums. Must be a multiple of 256KB.", +"format": "int64", +"type": "string" +}, +"objectLocation": { +"$ref": "GdataCompositeMedia", +"description": "If set, calculate the checksums based on the contents and return them to the caller." +}, +"objectSizeBytes": { +"description": "The total size of the server object.", +"format": "int64", +"type": "string" +}, +"objectVersion": { +"description": "The object version of the object the checksums are being returned for.", +"type": "string" +} +}, +"type": "object" +}, +"GdataDiffDownloadResponse": { +"description": "Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffDownloadResponse", +"properties": { +"objectLocation": { +"$ref": "GdataCompositeMedia", +"description": "The original object location." +} +}, +"type": "object" +}, +"GdataDiffUploadRequest": { +"description": "A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffUploadRequest", +"properties": { +"checksumsInfo": { +"$ref": "GdataCompositeMedia", +"description": "The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol." +}, +"objectInfo": { +"$ref": "GdataCompositeMedia", +"description": "The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received." +}, +"objectVersion": { +"description": "The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in.", +"type": "string" +} +}, +"type": "object" +}, +"GdataDiffUploadResponse": { +"description": "Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffUploadResponse", +"properties": { +"objectVersion": { +"description": "The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload.", +"type": "string" +}, +"originalObject": { +"$ref": "GdataCompositeMedia", +"description": "The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification." +} +}, +"type": "object" +}, +"GdataDiffVersionResponse": { +"description": "Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffVersionResponse", +"properties": { +"objectSizeBytes": { +"description": "The total size of the server object.", +"format": "int64", +"type": "string" +}, +"objectVersion": { +"description": "The version of the object stored at the server.", +"type": "string" +} +}, +"type": "object" +}, +"GdataDownloadParameters": { +"description": "Parameters specific to media downloads.", +"id": "GdataDownloadParameters", +"properties": { +"allowGzipCompression": { +"description": "A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client.", +"type": "boolean" +}, +"ignoreRange": { +"description": "Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty.", +"type": "boolean" +} +}, +"type": "object" +}, +"GdataMedia": { +"description": "A reference to data stored on the filesystem, on GFS or in blobstore.", +"id": "GdataMedia", +"properties": { +"algorithm": { +"deprecated": true, +"description": "Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, \"MD5\" is the only possible value for this field. New values may be added at any time.", +"type": "string" +}, +"bigstoreObjectRef": { +"deprecated": true, +"description": "Use object_id instead.", +"format": "byte", +"type": "string" +}, +"blobRef": { +"deprecated": true, +"description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.", +"format": "byte", +"type": "string" +}, +"blobstore2Info": { +"$ref": "GdataBlobstore2Info", +"description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob." +}, +"compositeMedia": { +"description": "A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified.", +"items": { +"$ref": "GdataCompositeMedia" +}, +"type": "array" +}, +"contentType": { +"description": "MIME type of the data", +"type": "string" +}, +"contentTypeInfo": { +"$ref": "GdataContentTypeInfo", +"description": "Extended content type information provided for Scotty uploads." +}, +"cosmoBinaryReference": { +"description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.", +"format": "byte", +"type": "string" +}, +"crc32cHash": { +"description": "For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported.", +"format": "uint32", +"type": "integer" +}, +"diffChecksumsResponse": { +"$ref": "GdataDiffChecksumsResponse", +"description": "Set if reference_type is DIFF_CHECKSUMS_RESPONSE." +}, +"diffDownloadResponse": { +"$ref": "GdataDiffDownloadResponse", +"description": "Set if reference_type is DIFF_DOWNLOAD_RESPONSE." +}, +"diffUploadRequest": { +"$ref": "GdataDiffUploadRequest", +"description": "Set if reference_type is DIFF_UPLOAD_REQUEST." +}, +"diffUploadResponse": { +"$ref": "GdataDiffUploadResponse", +"description": "Set if reference_type is DIFF_UPLOAD_RESPONSE." +}, +"diffVersionResponse": { +"$ref": "GdataDiffVersionResponse", +"description": "Set if reference_type is DIFF_VERSION_RESPONSE." +}, +"downloadParameters": { +"$ref": "GdataDownloadParameters", +"description": "Parameters for a media download." +}, +"filename": { +"description": "Original file name", +"type": "string" +}, +"hash": { +"deprecated": true, +"description": "Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media.", +"type": "string" +}, +"hashVerified": { +"description": "For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification.", +"type": "boolean" +}, +"inline": { +"description": "Media data, set if reference_type is INLINE", +"format": "byte", +"type": "string" +}, +"isPotentialRetry": { +"description": "|is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence.", +"type": "boolean" +}, +"length": { +"description": "Size of the data, in bytes", +"format": "int64", +"type": "string" +}, +"md5Hash": { +"description": "Scotty-provided MD5 hash for an upload.", +"format": "byte", +"type": "string" +}, +"mediaId": { +"description": "Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA.", +"format": "byte", +"type": "string" +}, +"objectId": { +"$ref": "GdataObjectId", +"description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF." +}, +"path": { +"description": "Path to the data, set if reference_type is PATH", +"type": "string" +}, +"referenceType": { +"description": "Describes what the field reference contains.", +"enum": [ +"PATH", +"BLOB_REF", +"INLINE", +"GET_MEDIA", +"COMPOSITE_MEDIA", +"BIGSTORE_REF", +"DIFF_VERSION_RESPONSE", +"DIFF_CHECKSUMS_RESPONSE", +"DIFF_DOWNLOAD_RESPONSE", +"DIFF_UPLOAD_REQUEST", +"DIFF_UPLOAD_RESPONSE", +"COSMO_BINARY_REFERENCE", +"ARBITRARY_BYTES" +], +"enumDescriptions": [ +"Reference contains a GFS path or a local path.", +"Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.", +"Data is included into this proto buffer", +"Data should be accessed from the current service using the operation GetMedia.", +"The content for this media object is stored across multiple partial media objects under the composite_media field.", +"Reference points to a bigstore object", +"Indicates the data is stored in diff_version_response.", +"Indicates the data is stored in diff_checksums_response.", +"Indicates the data is stored in diff_download_response.", +"Indicates the data is stored in diff_upload_request.", +"Indicates the data is stored in diff_upload_response.", +"Indicates the data is stored in cosmo_binary_reference.", +"Informs Scotty to generate a response payload with the size specified in the length field. The contents of the payload are generated by Scotty and are undefined. This is useful for testing download speeds between the user and Scotty without involving a real payload source. Note: range is not supported when using arbitrary_bytes." +], +"type": "string" +}, +"sha1Hash": { +"description": "Scotty-provided SHA1 hash for an upload.", +"format": "byte", +"type": "string" +}, +"sha256Hash": { +"description": "Scotty-provided SHA256 hash for an upload.", +"format": "byte", +"type": "string" +}, +"sha512Hash": { +"description": "Scotty-provided SHA512 hash for an upload.", +"format": "byte", +"type": "string" +}, +"timestamp": { +"description": "Time at which the media data was last updated, in milliseconds since UNIX epoch", +"format": "uint64", +"type": "string" +}, +"token": { +"description": "A unique fingerprint/version id for the media data", +"type": "string" +} +}, +"type": "object" +}, +"GdataObjectId": { +"description": "This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763.", +"id": "GdataObjectId", +"properties": { +"bucketName": { +"description": "The name of the bucket to which this object belongs.", +"type": "string" +}, +"generation": { +"description": "Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions", +"format": "int64", +"type": "string" +}, +"objectName": { +"description": "The name of the object.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiArgumentsDelta": { +"id": "GenaiArgumentsDelta", +"properties": { +"arguments": { +"type": "string" +} +}, +"type": "object" +}, +"GenaiAudioContent": { +"description": "An audio content block. ", +"id": "GenaiAudioContent", +"properties": { +"channels": { +"description": "The number of audio channels.", +"format": "int32", +"type": "integer" +}, +"data": { +"description": "The audio content.", +"format": "byte", +"type": "string" +}, +"mimeTypeString": { +"description": "Flexible MIME type string of the audio, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the \"mime_type\" JSON key.", +"type": "string" +}, +"sampleRate": { +"description": "The sample rate of the audio.", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "The URI of the audio.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiAudioDelta": { +"id": "GenaiAudioDelta", +"properties": { +"channels": { +"description": "The number of audio channels.", +"format": "int32", +"type": "integer" +}, +"data": { +"format": "byte", +"type": "string" +}, +"mimeType": { +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_WAV", +"TYPE_MP3", +"TYPE_AIFF", +"TYPE_AAC", +"TYPE_OGG", +"TYPE_FLAC", +"TYPE_MPEG", +"TYPE_M4A", +"TYPE_L16", +"TYPE_OPUS", +"TYPE_ALAW", +"TYPE_MULAW", +"TYPE_WEBM" +], +"enumDescriptions": [ +"", +"WAV audio format", +"MP3 audio format", +"AIFF audio format", +"AAC audio format", +"OGG audio format", +"FLAC audio format", +"MPEG audio format", +"M4A audio format", +"L16 audio format", +"OPUS audio format", +"ALAW audio format", +"MULAW audio format", +"WEBM audio format" +], +"type": "string" +}, +"rate": { +"deprecated": true, +"description": "Deprecated. Use sample_rate instead. The value is ignored.", +"format": "int32", +"type": "integer" +}, +"sampleRate": { +"description": "The sample rate of the audio.", +"format": "int32", +"type": "integer" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GenaiAudioResponseFormat": { +"description": "Configuration for audio output format.", +"id": "GenaiAudioResponseFormat", +"properties": { +"bitRate": { +"description": "Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).", +"format": "int32", +"type": "integer" +}, +"delivery": { +"description": "The delivery mode for the audio output.", +"enum": [ +"DELIVERY_UNSPECIFIED", +"INLINE", +"URI" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Audio data is returned inline in the response.", +"Audio data is returned as a URI." +], +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the audio output.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_MP3", +"TYPE_OGG_OPUS", +"TYPE_L16", +"TYPE_WAV", +"TYPE_ALAW", +"TYPE_MULAW" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"MP3 audio format.", +"OGG Opus audio format.", +"Raw PCM (L16) audio format.", +"WAV audio format.", +"A-law audio format.", +"Mu-law audio format." +], +"type": "string" +}, +"sampleRate": { +"description": "Sample rate in Hz.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GenaiCodeExecutionCallContentCodeExecutionCallArguments": { +"description": "The arguments to pass to the code execution.", +"id": "GenaiCodeExecutionCallContentCodeExecutionCallArguments", +"properties": { +"code": { +"description": "The code to be executed.", +"type": "string" +}, +"language": { +"description": "Programming language of the `code`.", +"enum": [ +"LANGUAGE_UNSPECIFIED", +"PYTHON", +"BASH" +], +"enumDescriptions": [ +"Unspecified language. This value should not be used.", +"Python >= 3.10, with numpy and simpy available.", +"Bash. Only available for Gemini 3.0 model or above." +], +"type": "string" +} +}, +"type": "object" +}, +"GenaiCodeExecutionCallDelta": { +"id": "GenaiCodeExecutionCallDelta", +"properties": { +"arguments": { +"$ref": "GenaiCodeExecutionCallContentCodeExecutionCallArguments" +} +}, +"type": "object" +}, +"GenaiCodeExecutionCallStep": { +"description": "Code execution call step.", +"id": "GenaiCodeExecutionCallStep", +"properties": { +"arguments": { +"$ref": "GenaiCodeExecutionCallStepCodeExecutionCallStepArguments", +"description": "Required. The arguments to pass to the code execution." +} +}, +"type": "object" +}, +"GenaiCodeExecutionCallStepCodeExecutionCallStepArguments": { +"description": "The arguments to pass to the code execution.", +"id": "GenaiCodeExecutionCallStepCodeExecutionCallStepArguments", +"properties": { +"code": { +"description": "The code to be executed.", +"type": "string" +}, +"language": { +"description": "Programming language of the `code`.", +"enum": [ +"LANGUAGE_UNSPECIFIED", +"PYTHON", +"BASH" +], +"enumDescriptions": [ +"Unspecified language. This value should not be used.", +"Python >= 3.10, with numpy and simpy available.", +"Bash. Only available for Gemini 3.0 model or above." +], +"type": "string" +} +}, +"type": "object" +}, +"GenaiCodeExecutionResultDelta": { +"id": "GenaiCodeExecutionResultDelta", +"properties": { +"isError": { +"type": "boolean" +}, +"result": { +"type": "string" +} +}, +"type": "object" +}, +"GenaiCodeExecutionResultStep": { +"description": "Code execution result step.", +"id": "GenaiCodeExecutionResultStep", +"properties": { +"isError": { +"description": "Whether the code execution resulted in an error.", +"type": "boolean" +}, +"result": { +"description": "Required. The output of the code execution.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiContent": { +"description": "The content of the response.", +"id": "GenaiContent", +"properties": { +"audio": { +"$ref": "GenaiAudioContent" +}, +"document": { +"$ref": "GenaiDocumentContent" +}, +"image": { +"$ref": "GenaiImageContent" +}, +"text": { +"$ref": "GenaiTextContent" +}, +"video": { +"$ref": "GenaiVideoContent" +} +}, +"type": "object" +}, +"GenaiContentList": { +"description": "A list of Content.", +"id": "GenaiContentList", +"properties": { +"contents": { +"description": "The contents of the list.", +"items": { +"$ref": "GenaiContent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiDocumentContent": { +"description": "A document content block. ", +"id": "GenaiDocumentContent", +"properties": { +"data": { +"description": "The document content.", +"format": "byte", +"type": "string" +}, +"mimeTypeString": { +"description": "Flexible MIME type string of the document, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the \"mime_type\" JSON key.", +"type": "string" +}, +"uri": { +"description": "The URI of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiDocumentDelta": { +"id": "GenaiDocumentDelta", +"properties": { +"data": { +"format": "byte", +"type": "string" +}, +"mimeType": { +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PDF", +"TYPE_CSV" +], +"enumDescriptions": [ +"", +"PDF document format", +"CSV document format" +], +"type": "string" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GenaiEnvironmentConfig": { +"description": "Configuration for a custom environment.", +"id": "GenaiEnvironmentConfig", +"properties": { +"env": { +"additionalProperties": { +"$ref": "GenaiEnvironmentConfigEnvVar" +}, +"description": "Environment variables to set in the sandbox environment.", +"type": "object" +}, +"environmentId": { +"description": "Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.", +"type": "string" +}, +"memoryMounts": { +"description": "Optional. Memory stores mounted into the environment under `/memory/`. When merged with an agent or base environment configuration, non-conflicting mounts are preserved and request mounts take precedence on store ID or dir_name collisions.", +"items": { +"$ref": "GenaiEnvironmentConfigMemoryMount" +}, +"type": "array" +}, +"networkAllowlist": { +"$ref": "GenaiEnvironmentConfigEnvironmentNetworkEgressAllowlist", +"description": "Allow only specific domains." +}, +"networkMode": { +"description": "Network egress mode.", +"enum": [ +"NETWORK_MODE_UNSPECIFIED", +"DISABLED" +], +"enumDescriptions": [ +"Default value. Unused.", +"All network egress is blocked." +], +"type": "string" +}, +"sources": { +"items": { +"$ref": "GenaiEnvironmentConfigSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiEnvironmentConfigEgressRule": { +"description": "A single domain allowlist rule with optional header injection.", +"id": "GenaiEnvironmentConfigEgressRule", +"properties": { +"credential": { +"description": "Optional. Reference to a server-managed Credential resource by ID.", +"type": "string" +}, +"domain": { +"description": "Domain to allow outbound requests to. Supports wildcards (e.g. '*.googleapis.com'). Use '*' to allow all domains.", +"type": "string" +}, +"mode": { +"description": "Network egress mode. Set via the `\"allowlist\": \"disabled\"` short form; must be the only rule in the allowlist and cannot be combined with `domain`, `transform` or `credential`.", +"enum": [ +"NETWORK_MODE_UNSPECIFIED", +"DISABLED" +], +"enumDescriptions": [ +"Default value. Unused.", +"All network egress is blocked." +], +"type": "string" +}, +"transform": { +"additionalProperties": { +"type": "string" +}, +"description": "Headers to inject into requests matching this rule. Key: header name (e.g., \"Authorization\"). Value: header value (e.g., \"Bearer your-token\").", +"type": "object" +} +}, +"type": "object" +}, +"GenaiEnvironmentConfigEnvVar": { +"description": "An environment variable to set in the execution environment.", +"id": "GenaiEnvironmentConfigEnvVar", +"properties": { +"credential": { +"description": "Optional reference to a server-managed Credential resource by ID.", +"type": "string" +}, +"value": { +"description": "Direct string value for plain environment variables.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiEnvironmentConfigEnvironmentNetworkEgressAllowlist": { +"description": "Network egress configuration for the environment.", +"id": "GenaiEnvironmentConfigEnvironmentNetworkEgressAllowlist", +"properties": { +"allowlist": { +"description": "List of allowed domains and their configurations. Set to `\"disabled\"` to block all network egress.", +"items": { +"$ref": "GenaiEnvironmentConfigEgressRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiEnvironmentConfigMemoryMount": { +"description": "A memory store mounted into the environment under `/memory/`.", +"id": "GenaiEnvironmentConfigMemoryMount", +"properties": { +"description": { +"description": "Optional. Per-mount guidance describing when the agent should read or write this memory store.", +"type": "string" +}, +"dirName": { +"description": "Optional. Directory name under `/memory//`. When omitted, defaults to the store's `memory_store_id`.", +"type": "string" +}, +"memoryStore": { +"description": "Required. Resource name or ID of the MemoryStore (e.g. `memoryStores/my-store` or `my-store`).", +"type": "string" +}, +"mode": { +"description": "Optional. Access mode granted to the environment for this store. Defaults to `READ_ONLY` when unspecified.", +"enum": [ +"MODE_UNSPECIFIED", +"READ_ONLY", +"READ_WRITE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"GenaiEnvironmentConfigSource": { +"description": "A source to be mounted into the environment.", +"id": "GenaiEnvironmentConfigSource", +"properties": { +"content": { +"description": "The inline content if `type` is `INLINE`.", +"type": "string" +}, +"encoding": { +"description": "Optional encoding for inline content (e.g. `base64`).", +"type": "string" +}, +"source": { +"description": "The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.", +"type": "string" +}, +"target": { +"description": "Where the source should appear in the environment.", +"type": "string" +}, +"type": { +"enum": [ +"TYPE_UNSPECIFIED", +"GCS", +"INLINE", +"REPOSITORY", +"SKILL_REGISTRY" +], +"enumDescriptions": [ +"", +"A Cloud Storage bucket.", +"Inline content.", +"A generic repository. The protocol prefix in the source URL identifies the provider (e.g., github://, gcs://).", +"A skill resource from the Skill Registry Service. Skill: projects/{project}/locations/{location}/skills/{skill} SkillRevision: projects/{project}/locations/{location}/skills/{skill}/revisions/{revision} Support mounting all skills under a project: projects/{project}/locations/{location}/skills." +], +"type": "string" +} +}, +"type": "object" +}, +"GenaiField": { +"description": "Represents a single field in a struct.", +"id": "GenaiField", +"properties": { +"name": { +"type": "string" +}, +"value": { +"$ref": "GenaiValue" +} +}, +"type": "object" +}, +"GenaiFileCitation": { +"description": "A file citation annotation.", +"id": "GenaiFileCitation", +"properties": { +"customMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "User provided metadata about the retrieved context.", +"type": "object" +}, +"documentUri": { +"description": "The URI of the file.", +"type": "string" +}, +"fileName": { +"description": "The name of the file.", +"type": "string" +}, +"mediaId": { +"description": "Media ID in-case of image citations, if applicable.", +"type": "string" +}, +"pageNumber": { +"description": "Page number of the cited document, if applicable.", +"format": "int32", +"type": "integer" +}, +"source": { +"description": "Source attributed for a portion of the text.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiFileSearchCallDelta": { +"id": "GenaiFileSearchCallDelta", +"properties": {}, +"type": "object" +}, +"GenaiFileSearchCallStep": { +"description": "File Search call step.", +"id": "GenaiFileSearchCallStep", +"properties": {}, +"type": "object" +}, +"GenaiFileSearchResultContentFileSearchResult": { +"description": "The result of the File Search.", +"id": "GenaiFileSearchResultContentFileSearchResult", +"properties": {}, +"type": "object" +}, +"GenaiFileSearchResultDelta": { +"id": "GenaiFileSearchResultDelta", +"properties": { +"result": { +"items": { +"$ref": "GenaiFileSearchResultContentFileSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiFileSearchResultStep": { +"description": "File Search result step.", +"id": "GenaiFileSearchResultStep", +"properties": {}, +"type": "object" +}, +"GenaiFunctionCallStep": { +"description": "A function tool call step.", +"id": "GenaiFunctionCallStep", +"properties": { +"arguments": { +"$ref": "GenaiStruct", +"description": "Required. The arguments to pass to the function." +}, +"name": { +"description": "Required. The name of the tool to call.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiFunctionResultDelta": { +"id": "GenaiFunctionResultDelta", +"properties": { +"isError": { +"type": "boolean" +}, +"name": { +"type": "string" +}, +"result": { +"$ref": "GenaiValue" +} +}, +"type": "object" +}, +"GenaiFunctionResultStep": { +"description": "Result of a function tool call.", +"id": "GenaiFunctionResultStep", +"properties": { +"isError": { +"description": "Whether the tool call resulted in an error.", +"type": "boolean" +}, +"name": { +"description": "The name of the tool that was called.", +"type": "string" +}, +"result": { +"$ref": "GenaiValue", +"description": "Required. The result of the tool call." +} +}, +"type": "object" +}, +"GenaiGoogleMapsCallContentGoogleMapsCallArguments": { +"description": "The arguments to pass to the Google Maps tool.", +"id": "GenaiGoogleMapsCallContentGoogleMapsCallArguments", +"properties": { +"queries": { +"description": "The queries to be executed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiGoogleMapsCallDelta": { +"id": "GenaiGoogleMapsCallDelta", +"properties": { +"arguments": { +"$ref": "GenaiGoogleMapsCallContentGoogleMapsCallArguments", +"description": "The arguments to pass to the Google Maps tool." +} +}, +"type": "object" +}, +"GenaiGoogleMapsCallStep": { +"description": "Google Maps call step.", +"id": "GenaiGoogleMapsCallStep", +"properties": { +"arguments": { +"$ref": "GenaiGoogleMapsCallStepGoogleMapsCallStepArguments", +"description": "The arguments to pass to the Google Maps tool." +} +}, +"type": "object" +}, +"GenaiGoogleMapsCallStepGoogleMapsCallStepArguments": { +"description": "The arguments to pass to the Google Maps tool.", +"id": "GenaiGoogleMapsCallStepGoogleMapsCallStepArguments", +"properties": { +"queries": { +"description": "The queries to be executed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiGoogleMapsResultContentGoogleMapsResult": { +"description": "The result of the Google Maps.", +"id": "GenaiGoogleMapsResultContentGoogleMapsResult", +"properties": { +"places": { +"description": "The places that were found.", +"items": { +"$ref": "GenaiGoogleMapsResultContentGoogleMapsResultPlaces" +}, +"type": "array" +}, +"widgetContextToken": { +"description": "Resource name of the Google Maps widget context token.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiGoogleMapsResultContentGoogleMapsResultPlaces": { +"id": "GenaiGoogleMapsResultContentGoogleMapsResultPlaces", +"properties": { +"name": { +"description": "Title of the place.", +"type": "string" +}, +"placeId": { +"description": "The ID of the place, in `places/{place_id}` format.", +"type": "string" +}, +"reviewSnippets": { +"description": "Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.", +"items": { +"$ref": "GenaiReviewSnippet" +}, +"type": "array" +}, +"url": { +"description": "URI reference of the place.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiGoogleMapsResultDelta": { +"id": "GenaiGoogleMapsResultDelta", +"properties": { +"result": { +"description": "The results of the Google Maps.", +"items": { +"$ref": "GenaiGoogleMapsResultContentGoogleMapsResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiGoogleMapsResultStep": { +"description": "Google Maps result step.", +"id": "GenaiGoogleMapsResultStep", +"properties": { +"result": { +"items": { +"$ref": "GenaiGoogleMapsResultStepGoogleMapsResultItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiGoogleMapsResultStepGoogleMapsResultItem": { +"description": "The result of the Google Maps.", +"id": "GenaiGoogleMapsResultStepGoogleMapsResultItem", +"properties": { +"places": { +"items": { +"$ref": "GenaiGoogleMapsResultStepGoogleMapsResultItemGoogleMapsResultPlaces" +}, +"type": "array" }, -"customParameters": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" +"widgetContextToken": { +"type": "string" +} }, -"description": "Generic key-value pairs for experimental parameters. This allows adding new parameters without changing the dataplane binary.", "type": "object" }, -"exrColorSpaceOverride": { -"description": "Optional. Colorspace to be used for all EXR inputs.", +"GenaiGoogleMapsResultStepGoogleMapsResultItemGoogleMapsResultPlaces": { +"id": "GenaiGoogleMapsResultStepGoogleMapsResultItemGoogleMapsResultPlaces", +"properties": { +"name": { "type": "string" }, -"humanPose": { -"$ref": "CloudAiLargeModelsVisionHumanPose", -"description": "Human pose parameters for Pose Control" +"placeId": { +"type": "string" }, -"loraConfig": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfig", -"description": "Optional. LoRA configuration for Omni editing/stylization models." +"reviewSnippets": { +"items": { +"$ref": "GenaiReviewSnippet" }, -"modelEndpointOverride": { -"description": "Optional. BNS override for model backend. Enabled only for local and autopush environments by the flag `lvm_allow_model_zoo_bns_override`.", +"type": "array" +}, +"url": { "type": "string" +} }, -"modelName": { -"description": "Model names, as defined in: xyz ", +"type": "object" +}, +"GenaiGoogleSearchCallContentGoogleSearchCallArguments": { +"description": "The arguments to pass to Google Search.", +"id": "GenaiGoogleSearchCallContentGoogleSearchCallArguments", +"properties": { +"queries": { +"description": "Web search queries for the following-up web search.", +"items": { "type": "string" }, -"numDiffusionSteps": { -"description": "Number of diffusion steps", -"format": "int32", -"type": "integer" +"type": "array" +} }, -"omniRewriter": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsOmniRewriterConfig", -"description": "Optional. Omni Rewriter configuration." +"type": "object" }, -"originalRequestJson": { -"description": "The original REST API request JSON sent by the user, in the instances/parameters format. Preserved for saving alongside output artifacts so users can reproduce their requests. This field is populated by the API handler and is not user-settable.", +"GenaiGoogleSearchCallDelta": { +"id": "GenaiGoogleSearchCallDelta", +"properties": { +"arguments": { +"$ref": "GenaiGoogleSearchCallContentGoogleSearchCallArguments" +} +}, +"type": "object" +}, +"GenaiGoogleSearchCallStep": { +"description": "Google Search call step.", +"id": "GenaiGoogleSearchCallStep", +"properties": { +"arguments": { +"$ref": "GenaiGoogleSearchCallStepGoogleSearchCallStepArguments", +"description": "Required. The arguments to pass to Google Search." +}, +"searchType": { +"description": "The type of search grounding enabled.", +"enum": [ +"SEARCH_TYPE_UNSPECIFIED", +"SEARCH_TYPE_WEB_SEARCH", +"SEARCH_TYPE_IMAGE_SEARCH", +"SEARCH_TYPE_ENTERPRISE_WEB_SEARCH" +], +"enumDescriptions": [ +"Unspecified search type. This value should not be used.", +"Setting this field enables web search. Only text results are returned.", +"Setting this field enables image search. Image bytes are returned.", +"Setting this field enables enterprise web search." +], "type": "string" +} }, -"outpaintConfig": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfig", -"description": "Config for Outpainting task." +"type": "object" }, -"perfEstimationConfig": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfig", -"description": "Optional. Omni Perf 3D estimation configuration." +"GenaiGoogleSearchCallStepGoogleSearchCallStepArguments": { +"description": "The arguments to pass to Google Search.", +"id": "GenaiGoogleSearchCallStepGoogleSearchCallStepArguments", +"properties": { +"queries": { +"description": "Web search queries for the following-up web search.", +"items": { +"type": "string" }, -"proEdit": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsProEditConfig", -"description": "Configuration for Pro Edit." +"type": "array" +} }, -"promptInputs": { -"$ref": "CloudAiLargeModelsVisionPromptInputs", -"description": "Prompt chunks for \"ProModel\" prompting. If set, the prompt will not be rewritten, and top-level prompt ignored." +"type": "object" }, -"requestOriginTag": { -"description": "Optional tag for tracking the source of this request. Allowed values: \"colab\", \"comfyui\", \"curl\", \"flowresearch\", \"vertexstudio\". Unrecognized tags are recorded as \"unknown\" in metrics. Tags do not affect video generation behavior. Up to 16 characters, ASCII alphanumeric, hyphens, and underscores only.", +"GenaiGoogleSearchResultContentGoogleSearchResult": { +"description": "The result of the Google Search.", +"id": "GenaiGoogleSearchResultContentGoogleSearchResult", +"properties": { +"searchSuggestions": { +"description": "Web content snippet that can be embedded in a web page or an app webview.", "type": "string" +} }, -"schedulingConfig": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig", -"description": "Optional. Scheduling configuration." +"type": "object" }, -"seamless": { -"$ref": "CloudAiLargeModelsVisionSeamless", -"description": "Parameters for seamless (edge-continuous) video generation, enabling temporal looping and/or spatial tessellation." +"GenaiGoogleSearchResultDelta": { +"id": "GenaiGoogleSearchResultDelta", +"properties": { +"isError": { +"type": "boolean" }, -"spatialAlignment": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsSpatialAlignmentConfig", -"description": "Optional. Spatial alignment configuration." +"result": { +"items": { +"$ref": "GenaiGoogleSearchResultContentGoogleSearchResult" }, -"superResConfig": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsSuperResConfig", -"description": "Config for the Pro Super Res upsampling task." +"type": "array" +} }, -"truncateInputVideo": { -"description": "If true (default), truncate input videos that exceed the model's maximum frame count by applying a frame_selection_config to __video_file__ inputs. Set to false to preserve the existing fail-fast behavior.", +"type": "object" +}, +"GenaiGoogleSearchResultStep": { +"description": "Google Search result step.", +"id": "GenaiGoogleSearchResultStep", +"properties": { +"isError": { +"description": "Whether the Google Search resulted in an error.", "type": "boolean" }, -"videoTransform": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsVideoTransform", -"description": "Video transform configuration for omni editing models." +"result": { +"description": "Required. The results of the Google Search.", +"items": { +"$ref": "GenaiGoogleSearchResultStepGoogleSearchResultItem" }, -"videoTransformMaskGcsUri": { -"deprecated": true, -"description": "GCS URI of the grayscale video mask for Differential Diffusion. Maps to sdedit_video_tmax_scale_map ", +"type": "array" +} +}, +"type": "object" +}, +"GenaiGoogleSearchResultStepGoogleSearchResultItem": { +"description": "The result of the Google Search.", +"id": "GenaiGoogleSearchResultStepGoogleSearchResultItem", +"properties": { +"searchSuggestions": { +"description": "Web content snippet that can be embedded in a web page or an app webview.", "type": "string" +} }, -"videoTransformStrength": { -"deprecated": true, -"description": "SDEdit: Scalar noise level (0.0 to 1.0) Maps to sdedit_tmax ", -"format": "float", -"type": "number" +"type": "object" +}, +"GenaiImageContent": { +"description": "An image content block. ", +"id": "GenaiImageContent", +"properties": { +"data": { +"description": "The image content.", +"format": "byte", +"type": "string" +}, +"mimeTypeString": { +"description": "Flexible MIME type string of the image, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the \"mime_type\" JSON key.", +"type": "string" +}, +"resolution": { +"description": "The resolution of the media.", +"enum": [ +"MEDIA_RESOLUTION_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH", +"ULTRA_HIGH" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Low resolution.", +"Medium resolution.", +"High resolution.", +"Ultra high resolution." +], +"type": "string" +}, +"uri": { +"description": "The URI of the image.", +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsAudioControlConfig": { -"description": "Configuration for audio control.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsAudioControlConfig", +"GenaiImageDelta": { +"id": "GenaiImageDelta", "properties": { -"targetAudio": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestAudio", -"description": "Optional. Audio file to use as the target audio input to Omni. Only used when `use_target_audio_from_video` is false. Cannot be set simultaneously with `use_target_audio_from_video = true`." +"data": { +"format": "byte", +"type": "string" }, -"useTargetAudioFromVideo": { -"description": "Optional. When true, uses the audio track from the input video as the target audio instead of regenerating it. Mutually exclusive with `target_audio` below. Requires the input to be a video file, not an image sequence.", -"type": "boolean" +"mimeType": { +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_PNG", +"TYPE_JPEG", +"TYPE_WEBP", +"TYPE_HEIC", +"TYPE_HEIF", +"TYPE_GIF", +"TYPE_BMP", +"TYPE_TIFF" +], +"enumDescriptions": [ +"", +"PNG image format", +"JPEG image format", +"WebP image format", +"HEIC image format", +"HEIF image format", +"GIF image format", +"BMP image format", +"TIFF image format" +], +"type": "string" +}, +"resolution": { +"description": "The resolution of the media.", +"enum": [ +"MEDIA_RESOLUTION_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH", +"ULTRA_HIGH" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Low resolution.", +"Medium resolution.", +"High resolution.", +"Ultra high resolution." +], +"type": "string" +}, +"uri": { +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsBoundingBox": { -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsBoundingBox", +"GenaiImageResponseFormat": { +"description": "Configuration for image output format.", +"id": "GenaiImageResponseFormat", "properties": { -"bottom": { -"description": "The bottom coordinate (exclusive) of the bounding box.", +"aspectRatio": { +"description": "The aspect ratio for the image output.", +"enum": [ +"ASPECT_RATIO_UNSPECIFIED", +"ASPECT_RATIO_ONE_BY_ONE", +"ASPECT_RATIO_TWO_BY_THREE", +"ASPECT_RATIO_THREE_BY_TWO", +"ASPECT_RATIO_THREE_BY_FOUR", +"ASPECT_RATIO_FOUR_BY_THREE", +"ASPECT_RATIO_FOUR_BY_FIVE", +"ASPECT_RATIO_FIVE_BY_FOUR", +"ASPECT_RATIO_NINE_BY_SIXTEEN", +"ASPECT_RATIO_SIXTEEN_BY_NINE", +"ASPECT_RATIO_TWENTY_ONE_BY_NINE", +"ASPECT_RATIO_ONE_BY_EIGHT", +"ASPECT_RATIO_EIGHT_BY_ONE", +"ASPECT_RATIO_ONE_BY_FOUR", +"ASPECT_RATIO_FOUR_BY_ONE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"1:1 aspect ratio.", +"2:3 aspect ratio.", +"3:2 aspect ratio.", +"3:4 aspect ratio.", +"4:3 aspect ratio.", +"4:5 aspect ratio.", +"5:4 aspect ratio.", +"9:16 aspect ratio.", +"16:9 aspect ratio.", +"21:9 aspect ratio.", +"1:8 aspect ratio.", +"8:1 aspect ratio.", +"1:4 aspect ratio.", +"4:1 aspect ratio." +], +"type": "string" +}, +"delivery": { +"description": "The delivery mode for the image output.", +"enum": [ +"DELIVERY_UNSPECIFIED", +"INLINE", +"URI" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Image data is returned inline in the response.", +"Image data is returned as a URI." +], +"type": "string" +}, +"imageSize": { +"description": "The size of the image output.", +"enum": [ +"IMAGE_SIZE_UNSPECIFIED", +"IMAGE_SIZE_FIVE_TWELVE", +"IMAGE_SIZE_ONE_K", +"IMAGE_SIZE_TWO_K", +"IMAGE_SIZE_FOUR_K" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"512px image size.", +"1K image size.", +"2K image size.", +"4K image size." +], +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the image output.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_JPEG" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"JPEG image format." +], +"type": "string" +} +}, +"type": "object" +}, +"GenaiInteractionUsage": { +"description": "Statistics on the interaction request's token usage.", +"id": "GenaiInteractionUsage", +"properties": { +"billableUsage": { +"$ref": "GenaiInteractionUsageBillableUsage", +"description": "Accumulated billable token usage across all continuation calls." +}, +"cachedTokensByModality": { +"description": "A breakdown of cached token usage by modality.", +"items": { +"$ref": "GenaiInteractionUsageModalityTokens" +}, +"type": "array" +}, +"compactionUsageMetadata": { +"$ref": "GenaiInteractionUsageCompactionUsageMetadata", +"description": "Token usage metadata for context compaction." +}, +"groundingToolCount": { +"description": "Grounding tool count.", +"items": { +"$ref": "GenaiInteractionUsageGroundingToolCount" +}, +"type": "array" +}, +"initialInputTokens": { +"description": "Number of input tokens used in the first turn of this interaction.", "format": "int32", "type": "integer" }, -"frameIndex": { -"description": "The frame index of the bounding box.", +"inputTokensByModality": { +"description": "A breakdown of input token usage by modality.", +"items": { +"$ref": "GenaiInteractionUsageModalityTokens" +}, +"type": "array" +}, +"modelInvocationTokenCounts": { +"description": "Per-invocation token count breakdown. For simple requests, this contains a single entry. For requests with server-side tool use, this contains one entry per model invocation, ordered chronologically. This is the source of truth for billing.", +"items": { +"$ref": "GenaiInteractionUsageModelInvocationTokenCounts" +}, +"type": "array" +}, +"nonGroundingModelInvocationTokenCounts": { +"description": "Per-invocation token count breakdown for non-grounding invocations (grounding prompt/cache tokens excluded).", +"items": { +"$ref": "GenaiInteractionUsageModelInvocationTokenCounts" +}, +"type": "array" +}, +"outputTokensByModality": { +"description": "A breakdown of output token usage by modality.", +"items": { +"$ref": "GenaiInteractionUsageModalityTokens" +}, +"type": "array" +}, +"rawPromptToken": { +"description": "Output only.", "format": "int32", +"readOnly": true, "type": "integer" }, -"left": { -"description": "The left coordinate of the bounding box.", +"toolCallUsage": { +"description": "Output only. Per-tool call statistics, sorted by (`tool_type`, `name`).", +"items": { +"$ref": "GenaiInteractionUsageToolCallUsage" +}, +"readOnly": true, +"type": "array" +}, +"toolUseTokensByModality": { +"description": "A breakdown of tool-use token usage by modality.", +"items": { +"$ref": "GenaiInteractionUsageModalityTokens" +}, +"type": "array" +}, +"totalCachedTokens": { +"description": "Number of tokens in the cached part of the prompt (the cached content).", "format": "int32", "type": "integer" }, -"right": { -"description": "The right coordinate (exclusive) of the bounding box.", +"totalInputTokens": { +"description": "Number of tokens in the prompt (context).", +"format": "int32", +"type": "integer" +}, +"totalModelInvocations": { +"description": "Total number of LLM model invocations executed during the interaction turn (including retries and multi-step tool loop calls).", +"format": "int32", +"type": "integer" +}, +"totalOutputTokens": { +"description": "Total number of tokens across all the generated responses.", +"format": "int32", +"type": "integer" +}, +"totalThoughtTokens": { +"description": "Number of tokens of thoughts for thinking models.", +"format": "int32", +"type": "integer" +}, +"totalTokens": { +"description": "Total token count for the interaction request (prompt + responses + other internal tokens).", +"format": "int32", +"type": "integer" +}, +"totalToolUseTokens": { +"description": "Number of tokens present in tool-use prompt(s).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GenaiInteractionUsageBillableUsage": { +"description": "Accumulated billable token usage across all continuation calls.", +"id": "GenaiInteractionUsageBillableUsage", +"properties": { +"totalCachedTokens": { +"description": "Total billable cached tokens across all continuation calls.", +"format": "int32", +"type": "integer" +}, +"totalInputTokens": { +"description": "Total billable input tokens across all continuation calls.", +"format": "int32", +"type": "integer" +}, +"totalOutputTokens": { +"description": "Total billable output tokens across all continuation calls.", +"format": "int32", +"type": "integer" +}, +"totalThoughtTokens": { +"description": "Total billable thought tokens across all continuation calls.", +"format": "int32", +"type": "integer" +}, +"totalTokens": { +"description": "Total billable token count across all continuation calls.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GenaiInteractionUsageCompactionUsageMetadata": { +"description": "Token usage metadata for context compaction.", +"id": "GenaiInteractionUsageCompactionUsageMetadata", +"properties": { +"inputTokenCount": { +"description": "Number of tokens processed in the compaction input.", +"format": "int32", +"type": "integer" +}, +"outputTokenCount": { +"description": "Number of tokens generated in the compaction output.", +"format": "int32", +"type": "integer" +}, +"postcompactionTokenCount": { +"description": "Estimated total token count of the conversation context after compaction.", +"format": "int64", +"type": "string" +}, +"precompactionStepCount": { +"description": "Number of conversation steps (user turns) before compaction.", +"format": "int32", +"type": "integer" +}, +"precompactionTokenCount": { +"description": "Estimated total token count of the conversation context before compaction.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GenaiInteractionUsageGroundingToolCount": { +"description": "The number of grounding tool counts.", +"id": "GenaiInteractionUsageGroundingToolCount", +"properties": { +"count": { +"description": "The number of grounding tool counts.", "format": "int32", "type": "integer" }, -"top": { -"description": "The top coordinate of the bounding box.", +"searchQueryCount": { +"description": "Number of unique search queries generated by the model for this tool.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The grounding tool type associated with the count.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_SEARCH", +"GOOGLE_MAPS", +"RETRIEVAL", +"GOOGLE_SEARCH_IMAGE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Grounding with Google Web Search and Image Search, & Web Grounding for Enterprise.", +"Grounding with Google Maps.", +"Grounding with customer's data, for example, VertexAISearch.", +"Grounding with Google Image Search." +], +"type": "string" +} +}, +"type": "object" +}, +"GenaiInteractionUsageModalityTokens": { +"description": "The token count for a single response modality.", +"id": "GenaiInteractionUsageModalityTokens", +"properties": { +"modality": { +"description": "The modality associated with the token count.", +"enum": [ +"RESPONSE_MODALITY_UNSPECIFIED", +"TEXT", +"IMAGE", +"AUDIO", +"VIDEO", +"DOCUMENT" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates the model should return text.", +"Indicates the model should return images.", +"Indicates the model should return audio.", +"Indicates the model should return video.", +"Indicates the model should return documents." +], +"type": "string" +}, +"tokens": { +"description": "Number of tokens for the modality.", "format": "int32", "type": "integer" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsColorAlignmentConfig": { -"description": "Configuration for color alignment.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsColorAlignmentConfig", +"GenaiInteractionUsageModelInvocationTokenCounts": { +"description": "Token count breakdown for a single model invocation (main model only) within a request. For simple requests without tool use, there is a single invocation. For requests with server-side tool use, there is one invocation per tool-use iteration.", +"id": "GenaiInteractionUsageModelInvocationTokenCounts", "properties": { -"enable": { -"description": "Optional. If true, enable alignment.", -"type": "boolean" +"cacheTokensDetails": { +"description": "Per-modality breakdown of cached tokens within this invocation's prompt. Cached tokens are discounted for billing (priced at the cache rate, not the full input rate). This is a subset of prompt_tokens_details.", +"items": { +"$ref": "GenaiInteractionUsageModalityTokens" +}, +"type": "array" +}, +"candidatesTokensDetails": { +"description": "Per-modality breakdown of response tokens for this invocation. Includes the model's text output, function calls, or final answer. Does not include thought tokens.", +"items": { +"$ref": "GenaiInteractionUsageModalityTokens" +}, +"type": "array" +}, +"promptTokensDetails": { +"description": "Per-modality breakdown of prompt tokens for this invocation. Includes all tokens sent to the model: user content, system instructions, formatting/control tokens, tool declarations, and any previous-turn context accumulated during tool use.", +"items": { +"$ref": "GenaiInteractionUsageModalityTokens" +}, +"type": "array" +}, +"thoughtsTokensDetails": { +"description": "Per-modality breakdown of thought tokens for this invocation (for thinking models). Includes auxiliary control tokens produced by the model that delimit thought blocks.", +"items": { +"$ref": "GenaiInteractionUsageModalityTokens" +}, +"type": "array" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame": { -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame", +"GenaiInteractionUsageToolCallUsage": { +"description": "Usage statistics for one tool, aggregated over the interaction.", +"id": "GenaiInteractionUsageToolCallUsage", "properties": { -"frameNum": { -"description": "The index of the frame, starts with zero and must be a multiple of 8.", +"name": { +"description": "The function name as declared in the request. Set only when `tool_type` is TOOL_TYPE_FUNCTION; empty for all other tool types.", +"type": "string" +}, +"serverExecutedCount": { +"description": "Of `tool_call_count`, calls dispatched to and run by the server, whether or not they succeeded.", "format": "int32", "type": "integer" }, -"image": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestImage", -"description": "The image data for this conditioning frame." +"toolCallCount": { +"description": "Number of calls to this tool that the model generated.", +"format": "int32", +"type": "integer" +}, +"toolType": { +"enum": [ +"TOOL_TYPE_UNSPECIFIED", +"TOOL_TYPE_FUNCTION", +"TOOL_TYPE_CODE_EXECUTION_PYTHON", +"TOOL_TYPE_CODE_EXECUTION_BASH", +"TOOL_TYPE_GOOGLE_SEARCH_WEB", +"TOOL_TYPE_GOOGLE_SEARCH_IMAGE", +"TOOL_TYPE_GOOGLE_SEARCH_VISUAL", +"TOOL_TYPE_URL_CONTEXT", +"TOOL_TYPE_GOOGLE_MAPS", +"TOOL_TYPE_FILE_SEARCH", +"TOOL_TYPE_TOOL_SEARCH", +"TOOL_TYPE_VIDEO_UNDERSTANDING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"A developer-declared function (`Tool.function`).", +"Code execution in Python (`Tool.code_execution`).", +"Code execution in Bash, either server-side (`Tool.code_execution`).", +"Google web search (`Tool.google_search`, SEARCH_TYPE_WEB_SEARCH).", +"Google image search (`Tool.google_search`, SEARCH_TYPE_IMAGE_SEARCH).", +"Google visual search (`Tool.google_search`, SEARCH_TYPE_VISUAL_SEARCH).", +"`Tool.url_context`.", +"`Tool.google_maps`.", +"`Tool.file_search`.", +"`Tool.tool_search`.", +"Video understanding via the reserved `load_video` function." +], +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfig": { -"description": "Configuration for Multi-LoRA adaptation.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfig", +"GenaiListValue": { +"description": "`ListValue` is a wrapper around a repeated field of values.", +"id": "GenaiListValue", "properties": { -"adapters": { -"description": "List of LoRA adapters to apply.", +"values": { +"description": "Repeated field of dynamically typed values.", "items": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfigAdapter" +"$ref": "GenaiValue" }, "type": "array" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfigAdapter": { -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsLoraConfigAdapter", +"GenaiLocalEnvironmentConfig": { +"description": "Configuration for an environment that lives on the client connection rather than in a server-managed sandbox. When set (via Interaction.local_environment), the agent's filesystem and shell are treated as living on the client: the agent's built-in environment operations (e.g. reading/listing/editing files and running commands) are suspended on the server and yielded back to the client to execute, with their results returned on a subsequent turn. This is mutually exclusive with a server-managed `EnvironmentConfig` (remote_environment), since the environment is either on the client or in a server sandbox, never both. This governs only the agent's built-in environment. Client-declared function tools are always executed on the client regardless of this field.", +"id": "GenaiLocalEnvironmentConfig", +"properties": {}, +"type": "object" +}, +"GenaiMcpServerToolCallDelta": { +"id": "GenaiMcpServerToolCallDelta", "properties": { -"id": { -"description": "The registered ID of the LoRA adapter (e.g. \"lora_xxx\").", -"type": "string" +"arguments": { +"$ref": "GenaiStruct" }, -"resolvedPath": { -"description": "Internal field populated after validation: resolved TFHub path.", +"name": { "type": "string" }, -"weight": { -"description": "The blending scale/weight of the LoRA adapter. Must be in the range (0.0, 2.0]. Default is 1.0.", -"format": "float", -"type": "number" +"serverName": { +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsOmniRewriterConfig": { -"description": "Configuration for Omni Rewriter.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsOmniRewriterConfig", +"GenaiMcpServerToolCallStep": { +"description": "MCPServer tool call step.", +"id": "GenaiMcpServerToolCallStep", "properties": { -"maxChunkDuration": { -"description": "Optional. Maximum duration of a chunk in seconds.", -"format": "float", -"type": "number" +"arguments": { +"$ref": "GenaiStruct", +"description": "Required. The JSON object of arguments for the function." }, -"rewriterInputFps": { -"description": "Optional. FPS used to generate gemini chunks for video inputs.", -"format": "int32", -"type": "integer" +"name": { +"description": "Required. The name of the tool which was called.", +"type": "string" +}, +"serverName": { +"description": "Required. The name of the used MCP server.", +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfig": { -"description": "Config for Outpainting task.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfig", +"GenaiMcpServerToolResultDelta": { +"id": "GenaiMcpServerToolResultDelta", "properties": { -"inputFrames": { -"description": "The input frames for outpainting. Required.", -"items": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfigFrameSource" +"name": { +"type": "string" }, -"type": "array" +"result": { +"$ref": "GenaiValue" }, -"outputSpec": { -"description": "The output specification (defines target resolution and frame count). Required.", -"enum": [ -"OUTPUT_SPEC_UNSPECIFIED", -"OUTPUT_SPEC_1920X1072x72", -"OUTPUT_SPEC_1280X720x192", -"OUTPUT_SPEC_960X544x432", -"OUTPUT_SPEC_1280X720x144" -], -"enumDescriptions": [ -"", -"High spec: 1920x1072 resolution, 72 total frames.", -"Medium spec: 1280x720 resolution, 192 total frames.", -"Low spec: 960x544 resolution, 432 total frames.", -"Medium spec at 1280x720, 144 total frames. Shorter than OUTPUT_SPEC_1280X720x192 and higher quality at the same resolution." -], +"serverName": { "type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfigFrameSource": { -"description": "The input frame(s). It can be a full path or a glob pattern to images. The proto can be extended in the future for alternative ways to specify source of frames.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsOutpaintConfigFrameSource", +"GenaiMcpServerToolResultStep": { +"description": "MCPServer tool result step.", +"id": "GenaiMcpServerToolResultStep", "properties": { -"globPattern": { +"name": { +"description": "Name of the tool which is called for this specific tool call.", "type": "string" }, -"horizontalOffset": { -"description": "Horizontal offset in pixels of the frame's left edge from the canvas's left edge. Values outside the canvas crop the frame. Optional. Default is 0 (frame flush with the canvas's left edge).", -"format": "int32", -"type": "integer" +"result": { +"$ref": "GenaiValue", +"description": "Required. The output from the MCP server call. Can be simple text or rich content." }, -"verticalOffset": { -"description": "Vertical offset in pixels of the frame's top edge from the canvas's top edge. Values outside the canvas crop the frame. Optional. Default is 0 (frame flush with the canvas's top edge).", -"format": "int32", -"type": "integer" +"serverName": { +"description": "The name of the used MCP server.", +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfig": { -"description": "Configuration for Omni Perf 3D estimation.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfig", +"GenaiModelOutputStep": { +"description": "Output generated by the model.", +"id": "GenaiModelOutputStep", "properties": { -"exportUsd": { -"description": "Optional. Whether to export the USD file.", -"type": "boolean" +"content": { +"items": { +"$ref": "GenaiContent" }, -"sourceBoundingBox": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsBoundingBox", -"description": "Required. The bounding box of the object in the source video." +"type": "array" }, -"sourceVideo": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestVideo", -"description": "Required. The source video for the 3D estimation." +"error": { +"$ref": "GoogleRpcStatus", +"deprecated": true, +"description": "The error result of the operation in case of failure or cancellation." +} }, -"targetCharacterReferences": { -"description": "Optional. The character reference images/videos.", +"type": "object" +}, +"GenaiPlaceCitation": { +"description": "A place citation annotation.", +"id": "GenaiPlaceCitation", +"properties": { +"name": { +"description": "Title of the place.", +"type": "string" +}, +"placeId": { +"description": "The ID of the place, in `places/{place_id}` format.", +"type": "string" +}, +"reviewSnippets": { +"description": "Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.", "items": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfigCharacterReference" +"$ref": "GenaiReviewSnippet" }, "type": "array" }, -"temporalSmoothness": { -"description": "Optional.", -"format": "float", -"type": "number" +"url": { +"description": "URI reference of the place.", +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfigCharacterReference": { -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsPerfEstimationConfigCharacterReference", -"properties": { -"boundingBox": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsBoundingBox", -"description": "Required. The bounding box of the character in the reference image/video." +"GenaiProcessingCallDelta": { +"description": "Streaming delta for a server-initiated media processing step.", +"id": "GenaiProcessingCallDelta", +"properties": {}, +"type": "object" }, -"referenceImage": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestImage" +"GenaiProcessingCallStep": { +"description": "A server-initiated processing step for media analysis (e.g. video understanding).", +"id": "GenaiProcessingCallStep", +"properties": {}, +"type": "object" }, -"referenceVideo": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestVideo" -} +"GenaiProcessingResultDelta": { +"description": "Streaming delta for the result of a server-initiated media processing step.", +"id": "GenaiProcessingResultDelta", +"properties": {}, +"type": "object" }, +"GenaiProcessingResultStep": { +"description": "The result of a server-initiated media processing step.", +"id": "GenaiProcessingResultStep", +"properties": {}, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsProEditConfig": { -"description": "Configuration for Pro Edit.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsProEditConfig", +"GenaiResponseFormat": { +"id": "GenaiResponseFormat", "properties": { -"editInstructionPrompt": { -"description": "A text string containing the user's edit instruction. Will be applied to the original URF.", -"type": "string" +"audio": { +"$ref": "GenaiAudioResponseFormat" }, -"fromOperationId": { -"description": "Required. The operation_id from a previous omni-cine generation whose OF and URF should be retrieved for editing.", -"type": "string" +"image": { +"$ref": "GenaiImageResponseFormat" }, -"structuredPrompt": { -"description": "A JSON string containing the user's modified URF. The URF Editing Preamble will diff this against the original URF to determine what changed.", -"type": "string" +"structValue": { +"$ref": "GenaiStruct", +"description": "Multi-discriminator values is already enabled in GAOS" +}, +"text": { +"$ref": "GenaiTextResponseFormat" +}, +"video": { +"$ref": "GenaiVideoResponseFormat" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsSpatialAlignmentConfig": { -"description": "Configuration for spatial alignment.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsSpatialAlignmentConfig", +"GenaiRetrievalCallDelta": { +"description": "Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.", +"id": "GenaiRetrievalCallDelta", "properties": { -"enable": { -"description": "Optional. If true, enable alignment.", -"type": "boolean" +"arguments": { +"$ref": "GenaiRetrievalCallStepRetrievalStepArguments", +"description": "Required. The arguments to pass to the Retrieval tool." +}, +"retrievalType": { +"description": "The type of retrieval tools.", +"enum": [ +"RETRIEVAL_TYPE_UNSPECIFIED", +"RETRIEVAL_TYPE_VERTEX_AI_SEARCH", +"RETRIEVAL_TYPE_RAG_STORE", +"RETRIEVAL_TYPE_EXA_AI_SEARCH", +"RETRIEVAL_TYPE_PARALLEL_AI_SEARCH" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsSuperResConfig": { -"description": "Config for the Pro Super Res upsampling task.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsSuperResConfig", +"GenaiRetrievalCallStep": { +"description": "Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc. RetrievalType decides which tool is used.", +"id": "GenaiRetrievalCallStep", "properties": { -"mode": { -"description": "Super Res mode. Required.", +"arguments": { +"$ref": "GenaiRetrievalCallStepRetrievalStepArguments", +"description": "Required. The arguments to pass to the retrieval tool." +}, +"retrievalType": { +"description": "The type of retrieval tools.", "enum": [ -"MODE_UNSPECIFIED", -"MODE_4K", -"MODE_8K", -"MODE_4K_PRO" +"RETRIEVAL_TYPE_UNSPECIFIED", +"RETRIEVAL_TYPE_VERTEX_AI_SEARCH", +"RETRIEVAL_TYPE_RAG_STORE", +"RETRIEVAL_TYPE_EXA_AI_SEARCH", +"RETRIEVAL_TYPE_PARALLEL_AI_SEARCH" ], "enumDescriptions": [ "", -"Single-pass 4K UDiT.", -"Single-pass 8K UDiT.", -"\"8K UDiT, downsampled 2x in the decoder." +"", +"", +"", +"" ], "type": "string" +} }, -"steps": { -"description": "Number of diffusion denoising steps (1 or 2).", -"format": "int32", -"type": "integer" +"type": "object" }, -"tileSmoothing": { -"description": "Smooths the seams between the tiles the model upscales separately.", -"type": "boolean" +"GenaiRetrievalCallStepRetrievalStepArguments": { +"description": "The arguments to pass to Retrieval tools.", +"id": "GenaiRetrievalCallStepRetrievalStepArguments", +"properties": { +"queries": { +"description": "Queries for Retrieval information.", +"items": { +"type": "string" +}, +"type": "array" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig": { -"description": "Scheduling configuration for Veo Experimental.", -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig", +"GenaiRetrievalResultDelta": { +"description": "Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.", +"id": "GenaiRetrievalResultDelta", "properties": { -"enableRetry": { -"description": "Optional. If true, enable retries on transient errors with default backoff.", +"isError": { +"description": "Whether the retrieval resulted in an error.", "type": "boolean" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoExperimentsVideoTransform": { -"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsVideoTransform", +"GenaiRetrievalResultStep": { +"description": "Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Vertex AI Search, etc.", +"id": "GenaiRetrievalResultStep", "properties": { -"initializationVideo": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestVideo", -"description": "Optional. Input for video transform (sdedit, diffdiff). Note the input video from the main GenerateVideoRequest will be used as the conditioning." -}, -"mask": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoRequestVideo", -"description": "Optional. Mask for video transform (diffdiff)." -}, -"noiseStrength": { -"description": "Optional. Noise strength for video transform.", -"format": "float", -"type": "number" +"isError": { +"description": "Whether the retrieval resulted in an error.", +"type": "boolean" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoRequestAudio": { -"description": "The raw bytes or Cloud Storage URI for an audio input.", -"id": "CloudAiLargeModelsVisionGenerateVideoRequestAudio", +"GenaiReviewSnippet": { +"description": "Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.", +"id": "GenaiReviewSnippet", "properties": { -"blobId": { -"description": "Blob ID of the audio. This is used for storing the large audio in the request.", -"type": "string" -}, -"bytesBase64Encoded": { -"description": "Base64 encoded bytes string representing the audio.", +"reviewId": { +"description": "The ID of the review snippet.", "type": "string" }, -"gcsUri": { +"title": { +"description": "Title of the review.", "type": "string" }, -"mimeType": { -"description": "The MIME type of the content of the audio. Only audio in below listed MIME types are supported. - audio/wav - audio/mp3 - audio/mpeg", +"url": { +"description": "A link that corresponds to the user review on Google Maps.", "type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoRequestImage": { -"description": "The image bytes or Cloud Storage URI to make the prediction on.", -"id": "CloudAiLargeModelsVisionGenerateVideoRequestImage", +"GenaiServerToolCallDelta": { +"id": "GenaiServerToolCallDelta", "properties": { -"blobId": { -"description": "Blob ID of the image. This is used for storing the large images in the request.", -"type": "string" +"codeExecutionCall": { +"$ref": "GenaiCodeExecutionCallDelta" }, -"bytesBase64Encoded": { -"description": "Base64 encoded bytes string representing the image.", -"type": "string" +"fileSearchCall": { +"$ref": "GenaiFileSearchCallDelta" }, -"gcsUri": { -"type": "string" +"googleMapsCall": { +"$ref": "GenaiGoogleMapsCallDelta" }, -"mimeType": { -"description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/png", +"googleSearchCall": { +"$ref": "GenaiGoogleSearchCallDelta" +}, +"mcpServerToolCall": { +"$ref": "GenaiMcpServerToolCallDelta" +}, +"processingCall": { +"$ref": "GenaiProcessingCallDelta" +}, +"retrievalCall": { +"$ref": "GenaiRetrievalCallDelta" +}, +"signature": { +"description": "A signature hash for backend validation.", +"format": "byte", "type": "string" +}, +"urlContextCall": { +"$ref": "GenaiUrlContextCallDelta" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoRequestVideo": { -"id": "CloudAiLargeModelsVisionGenerateVideoRequestVideo", +"GenaiServerToolResultDelta": { +"id": "GenaiServerToolResultDelta", "properties": { -"blobId": { -"description": "Blob ID of the video. This is used for storing large videos in the request.", -"type": "string" +"codeExecutionResult": { +"$ref": "GenaiCodeExecutionResultDelta" }, -"bytesBase64Encoded": { -"description": "Base64 encoded bytes string representing the video.", +"fileSearchResult": { +"$ref": "GenaiFileSearchResultDelta" +}, +"googleMapsResult": { +"$ref": "GenaiGoogleMapsResultDelta" +}, +"googleSearchResult": { +"$ref": "GenaiGoogleSearchResultDelta" +}, +"mcpServerToolResult": { +"$ref": "GenaiMcpServerToolResultDelta" +}, +"processingResult": { +"$ref": "GenaiProcessingResultDelta" +}, +"retrievalResult": { +"$ref": "GenaiRetrievalResultDelta" +}, +"signature": { +"description": "A signature hash for backend validation.", +"format": "byte", "type": "string" }, -"gcsUri": { +"urlContextResult": { +"$ref": "GenaiUrlContextResultDelta" +} +}, +"type": "object" +}, +"GenaiSpeechAnnotation": { +"description": "Speech annotation for text content.", +"id": "GenaiSpeechAnnotation", +"properties": { +"speaker": { +"description": "The speaker to associate with this turn.", "type": "string" }, -"mimeType": { -"description": "The MIME type of the content of the video. Only the video in the below listed MIME types are supported. - video/mp4", +"style": { +"description": "Style instruction for the speech synthesis.", "type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoResponse": { -"description": "Generate video response.", -"id": "CloudAiLargeModelsVisionGenerateVideoResponse", +"GenaiStep": { +"description": "A step in the interaction.", +"id": "GenaiStep", "properties": { -"generatedSamples": { -"description": "The generates samples.", -"items": { -"$ref": "CloudAiLargeModelsVisionMedia" +"modelOutput": { +"$ref": "GenaiModelOutputStep" }, -"type": "array" +"thought": { +"$ref": "GenaiThoughtStep" }, -"raiMediaFilteredCount": { -"description": "Returns if any videos were filtered due to RAI policies.", -"format": "int32", -"type": "integer" +"toolCall": { +"$ref": "GenaiToolCallStep" }, -"raiMediaFilteredReasons": { -"description": "Returns rai failure reasons if any.", -"items": { -"type": "string" +"toolResult": { +"$ref": "GenaiToolResultStep" }, -"type": "array" +"userInput": { +"$ref": "GenaiUserInputStep", +"description": "DO NOT USE -- These are for 3P JSON only" +} }, -"videos": { -"description": "List of videos, used to align naming with the external response.", -"items": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoResponseVideo" +"type": "object" }, -"type": "array" +"GenaiStepDelta": { +"id": "GenaiStepDelta", +"properties": { +"delta": { +"$ref": "GenaiStepDeltaData" +}, +"index": { +"format": "int32", +"type": "integer" } }, "type": "object" }, -"CloudAiLargeModelsVisionGenerateVideoResponseVideo": { -"id": "CloudAiLargeModelsVisionGenerateVideoResponseVideo", +"GenaiStepDeltaData": { +"id": "GenaiStepDeltaData", "properties": { -"bytesBase64Encoded": { -"description": "Base64 encoded bytes string representing the video.", -"type": "string" +"argumentsDelta": { +"$ref": "GenaiArgumentsDelta" }, -"experimentsMetadata": { -"$ref": "CloudAiLargeModelsVisionGenerateVideoExperiments", -"deprecated": true, -"description": "Optional metadata returned from experimental requests. Likely only includes the rewritten prompt chunks." +"audio": { +"$ref": "GenaiAudioDelta" }, -"experimentsResponse": { -"$ref": "CloudAiLargeModelsVisionExperimentsResponse", -"description": "Optional response returned from experimental requests." +"document": { +"$ref": "GenaiDocumentDelta" }, -"gcsUri": { -"description": "Cloud Storage URI where the generated video is written.", -"type": "string" +"functionResult": { +"$ref": "GenaiFunctionResultDelta" }, -"mimeType": { -"description": "The MIME type of the content of the video. - video/mp4", -"type": "string" +"image": { +"$ref": "GenaiImageDelta" +}, +"serverToolCall": { +"$ref": "GenaiServerToolCallDelta" +}, +"serverToolResult": { +"$ref": "GenaiServerToolResultDelta" +}, +"text": { +"$ref": "GenaiTextDelta" +}, +"textAnnotationDelta": { +"$ref": "GenaiTextAnnotationDelta" +}, +"thoughtSignature": { +"$ref": "GenaiThoughtSignatureDelta" +}, +"thoughtSummary": { +"$ref": "GenaiThoughtSummaryDelta" +}, +"video": { +"$ref": "GenaiVideoDelta" } }, "type": "object" }, -"CloudAiLargeModelsVisionHumanPose": { -"id": "CloudAiLargeModelsVisionHumanPose", +"GenaiStepStart": { +"id": "GenaiStepStart", "properties": { -"bodyLandmarksGcsUri": { -"deprecated": true, -"description": "GCS URI of the human pose video to condition video generation.", -"type": "string" +"index": { +"format": "int32", +"type": "integer" }, -"faceLandmarksGcsUri": { -"deprecated": true, -"description": "GCS URI of the face landmarks video to condition video generation.", -"type": "string" +"step": { +"$ref": "GenaiStep" +} +}, +"type": "object" +}, +"GenaiStepStop": { +"id": "GenaiStepStop", +"properties": { +"index": { +"format": "int32", +"type": "integer" +}, +"stepUsage": { +"$ref": "GenaiInteractionUsage", +"description": "Model usage stats for this specific step." }, -"perfMeshGcsUri": { -"description": "GCS URI of the performance mesh to condition video generation.", -"type": "string" +"usage": { +"$ref": "GenaiInteractionUsage", +"description": "Cumulative model usage stats from the start of the session." } }, "type": "object" }, -"CloudAiLargeModelsVisionImage": { -"description": "Image.", -"id": "CloudAiLargeModelsVisionImage", +"GenaiStruct": { +"description": "`Struct` represents a structured data value, consisting of fields which map to dynamically typed values.", +"id": "GenaiStruct", "properties": { -"encoding": { -"description": "Image encoding, encoded as \"image/png\" or \"image/jpg\".", -"type": "string" +"fields": { +"description": "Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.", +"items": { +"$ref": "GenaiField" }, -"generationSeed": { -"description": "Generation seed for the sampled image. This parameter is exposed to the user only if one of the following is true: 1. The user specified per-example seeds in the request. 2. The user doesn't specify the generation seed in the request.", -"format": "int32", -"type": "integer" +"type": "array" +} }, -"image": { -"description": "Raw bytes.", -"format": "byte", -"type": "string" +"type": "object" }, -"imageRaiScores": { -"$ref": "CloudAiLargeModelsVisionImageRAIScores", -"description": "RAI scores for generated image." +"GenaiTextAnnotationDelta": { +"id": "GenaiTextAnnotationDelta", +"properties": { +"annotations": { +"description": "Citation information for model-generated content.", +"items": { +"$ref": "GenaiTextContentAnnotation" }, -"imageSize": { -"$ref": "CloudAiLargeModelsVisionImageImageSize", -"description": "Image size. The size of the image. Can be self reported, or computed from the image bytes." +"type": "array" +} }, -"raiInfo": { -"$ref": "CloudAiLargeModelsVisionRaiInfo", -"description": "RAI info for image." +"type": "object" }, -"semanticFilterResponse": { -"$ref": "CloudAiLargeModelsVisionSemanticFilterResponse", -"description": "Semantic filter info for image." +"GenaiTextContent": { +"description": "A text content block. ", +"id": "GenaiTextContent", +"properties": { +"annotations": { +"description": "Citation information for model-generated content.", +"items": { +"$ref": "GenaiTextContentAnnotation" }, -"text": { -"description": "Text/Expanded text input for imagen.", -"type": "string" +"type": "array" }, -"uri": { -"description": "Path to another storage (typically Google Cloud Storage).", +"text": { +"description": "Required. The text content.", "type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionImageImageSize": { -"description": "Image size.", -"id": "CloudAiLargeModelsVisionImageImageSize", +"GenaiTextContentAnnotation": { +"description": "Citation information for model-generated content.", +"id": "GenaiTextContentAnnotation", "properties": { -"channels": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", "format": "int32", "type": "integer" }, -"height": { -"format": "int32", -"type": "integer" +"fileCitation": { +"$ref": "GenaiFileCitation", +"description": "A file citation annotation." }, -"width": { +"placeCitation": { +"$ref": "GenaiPlaceCitation", +"description": "A place citation annotation." +}, +"speechMetadata": { +"$ref": "GenaiSpeechAnnotation", +"description": "Speech annotation for text content." +}, +"startIndex": { +"description": "Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.", "format": "int32", "type": "integer" +}, +"urlCitation": { +"$ref": "GenaiUrlCitation", +"description": "NOTE: We use these instead of the Citation message for historical reasons. A URL citation annotation." +}, +"wordInfo": { +"$ref": "GenaiWordInfo", +"description": "Word-level ASR annotation with timing and speaker info." } }, "type": "object" }, -"CloudAiLargeModelsVisionImageRAIScores": { -"description": "RAI scores for generated image returned.", -"id": "CloudAiLargeModelsVisionImageRAIScores", +"GenaiTextDelta": { +"id": "GenaiTextDelta", "properties": { -"agileWatermarkDetectionScore": { -"description": "Agile watermark score for image.", -"format": "double", -"type": "number" +"text": { +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionMedia": { -"description": "Media.", -"id": "CloudAiLargeModelsVisionMedia", +"GenaiTextResponseFormat": { +"description": "Configuration for text output format.", +"id": "GenaiTextResponseFormat", "properties": { -"image": { -"$ref": "CloudAiLargeModelsVisionImage", -"description": "Image." +"mimeType": { +"description": "The MIME type of the text output.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_APPLICATION_JSON", +"TYPE_TEXT_PLAIN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"JSON output format.", +"Plain text output format." +], +"type": "string" }, -"video": { -"$ref": "CloudAiLargeModelsVisionVideo", -"description": "Video" +"schema": { +"$ref": "GenaiStruct", +"description": "The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error." } }, "type": "object" }, -"CloudAiLargeModelsVisionNamedBoundingBox": { -"id": "CloudAiLargeModelsVisionNamedBoundingBox", +"GenaiThoughtSignatureDelta": { +"id": "GenaiThoughtSignatureDelta", "properties": { -"classes": { -"items": { +"signature": { +"description": "Signature to match the backend source to be part of the generation.", +"format": "byte", "type": "string" +} }, -"type": "array" +"type": "object" }, -"entities": { -"items": { +"GenaiThoughtStep": { +"description": "A thought step.", +"id": "GenaiThoughtStep", +"properties": { +"signature": { +"description": "A signature hash for backend validation.", +"format": "byte", "type": "string" }, -"type": "array" -}, -"scores": { +"summary": { +"description": "A summary of the thought.", "items": { -"format": "float", -"type": "number" +"$ref": "GenaiContent" }, "type": "array" +} }, -"x1": { -"format": "float", -"type": "number" -}, -"x2": { -"format": "float", -"type": "number" -}, -"y1": { -"format": "float", -"type": "number" +"type": "object" }, -"y2": { -"format": "float", -"type": "number" +"GenaiThoughtSummaryDelta": { +"id": "GenaiThoughtSummaryDelta", +"properties": { +"content": { +"$ref": "GenaiContent", +"description": "A new summary item to be added to the thought." } }, "type": "object" }, -"CloudAiLargeModelsVisionPromptInputs": { -"description": "\"Direct\" prompting for Experimental Video Generation. These will be sent directly to the LDM without being rewritten.", -"id": "CloudAiLargeModelsVisionPromptInputs", +"GenaiToolCallStep": { +"description": "Tool call step.", +"id": "GenaiToolCallStep", "properties": { -"audioPrompt": { -"description": "Description of audio content in the video, without speech.", -"type": "string" +"codeExecutionCall": { +"$ref": "GenaiCodeExecutionCallStep" }, -"negativeAudioPrompt": { -"description": "Negative description of audio content in the video.", -"type": "string" +"fileSearchCall": { +"$ref": "GenaiFileSearchCallStep" }, -"negativePrompt": { -"description": "Single negative prompt for what not to generate.", -"type": "string" +"functionCall": { +"$ref": "GenaiFunctionCallStep" }, -"promptChunks": { -"description": "2s, 256 tokens per chunk, 4 total chunks. Required.", -"items": { +"googleMapsCall": { +"$ref": "GenaiGoogleMapsCallStep" +}, +"googleSearchCall": { +"$ref": "GenaiGoogleSearchCallStep" +}, +"id": { +"description": "Required. A unique ID for this specific tool call.", "type": "string" }, -"type": "array" +"mcpServerToolCall": { +"$ref": "GenaiMcpServerToolCallStep" }, -"transcript": { -"description": "Spoken transcript of the video for characters.", +"processingCall": { +"$ref": "GenaiProcessingCallStep" +}, +"retrievalCall": { +"$ref": "GenaiRetrievalCallStep" +}, +"signature": { +"description": "A signature hash for backend validation.", +"format": "byte", "type": "string" +}, +"urlContextCall": { +"$ref": "GenaiUrlContextCallStep" } }, "type": "object" }, -"CloudAiLargeModelsVisionRaiInfo": { -"description": "Next ID: 6", -"id": "CloudAiLargeModelsVisionRaiInfo", +"GenaiToolResultStep": { +"description": "Tool result step.", +"id": "GenaiToolResultStep", "properties": { -"blockedEntities": { -"description": "List of blocked entities from the blocklist if it is detected.", -"items": { +"callId": { +"description": "Required. ID to match the ID from the function call block.", "type": "string" }, -"type": "array" +"codeExecutionResult": { +"$ref": "GenaiCodeExecutionResultStep" }, -"detectedLabels": { -"description": "The list of detected labels for different rai categories.", -"items": { -"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabels" +"fileSearchResult": { +"$ref": "GenaiFileSearchResultStep" }, -"type": "array" +"functionResult": { +"$ref": "GenaiFunctionResultStep" }, -"modelName": { -"description": "The model name used to indexing into the RaiFilterConfig map. Would either be one of imagegeneration@002-006, imagen-3.0-... api endpoint names, or internal names used for mapping to different filter configs (genselfie, ai_watermark) than its api endpoint.", -"type": "string" +"googleMapsResult": { +"$ref": "GenaiGoogleMapsResultStep" }, -"raiCategories": { -"description": "List of rai categories' information to return", -"items": { -"type": "string" +"googleSearchResult": { +"$ref": "GenaiGoogleSearchResultStep" }, -"type": "array" +"mcpServerToolResult": { +"$ref": "GenaiMcpServerToolResultStep" }, -"scores": { -"description": "List of rai scores mapping to the rai categories. Rounded to 1 decimal place.", -"items": { -"format": "float", -"type": "number" +"processingResult": { +"$ref": "GenaiProcessingResultStep" }, -"type": "array" +"retrievalResult": { +"$ref": "GenaiRetrievalResultStep" +}, +"signature": { +"description": "A signature hash for backend validation.", +"format": "byte", +"type": "string" +}, +"urlContextResult": { +"$ref": "GenaiUrlContextResultStep" } }, "type": "object" }, -"CloudAiLargeModelsVisionRaiInfoDetectedLabels": { -"description": "Filters returning list of deteceted labels, scores, and bounding boxes.", -"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabels", +"GenaiUrlCitation": { +"description": "A URL citation annotation.", +"id": "GenaiUrlCitation", "properties": { -"entities": { -"description": "The list of detected entities for the rai signal.", -"items": { -"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity" -}, -"type": "array" +"title": { +"description": "The title of the URL.", +"type": "string" }, -"raiCategory": { -"description": "The RAI category for the deteceted labels.", +"url": { +"description": "The URL.", "type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox": { -"description": "An integer bounding box of original pixels of the image for the detected labels.", -"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", +"GenaiUrlContextCallContentUrlContextCallArguments": { +"description": "The arguments to pass to the URL context.", +"id": "GenaiUrlContextCallContentUrlContextCallArguments", "properties": { -"x1": { -"description": "The X coordinate of the top-left corner, in pixels.", -"format": "int32", -"type": "integer" +"urls": { +"description": "The URLs to fetch.", +"items": { +"type": "string" }, -"x2": { -"description": "The X coordinate of the bottom-right corner, in pixels.", -"format": "int32", -"type": "integer" +"type": "array" +} }, -"y1": { -"description": "The Y coordinate of the top-left corner, in pixels.", -"format": "int32", -"type": "integer" +"type": "object" }, -"y2": { -"description": "The Y coordinate of the bottom-right corner, in pixels.", -"format": "int32", -"type": "integer" +"GenaiUrlContextCallDelta": { +"id": "GenaiUrlContextCallDelta", +"properties": { +"arguments": { +"$ref": "GenaiUrlContextCallContentUrlContextCallArguments" } }, "type": "object" }, -"CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity": { -"description": "The properties for a detected entity from the rai signal.", -"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity", +"GenaiUrlContextCallStep": { +"description": "URL context call step.", +"id": "GenaiUrlContextCallStep", "properties": { -"boundingBox": { -"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", -"description": "Bounding box of the label" +"arguments": { +"$ref": "GenaiUrlContextCallStepUrlContextCallStepArguments", +"description": "Required. The arguments to pass to the URL context." +} }, -"description": { -"description": "Description of the label", +"type": "object" +}, +"GenaiUrlContextCallStepUrlContextCallStepArguments": { +"description": "The arguments to pass to the URL context.", +"id": "GenaiUrlContextCallStepUrlContextCallStepArguments", +"properties": { +"urls": { +"description": "The URLs to fetch.", +"items": { "type": "string" }, -"iouScore": { -"description": "The intersection ratio between the detection bounding box and the mask.", -"format": "float", -"type": "number" +"type": "array" +} }, -"mid": { -"description": "MID of the label", +"type": "object" +}, +"GenaiUrlContextResultContentUrlContextResult": { +"description": "The result of the URL context.", +"id": "GenaiUrlContextResultContentUrlContextResult", +"properties": { +"status": { +"description": "The status of the URL retrieval.", +"enum": [ +"STATUS_UNSPECIFIED", +"SUCCESS", +"ERROR", +"PAYWALL", +"UNSAFE" +], +"enumDescriptions": [ +"Unspecified status. This value should not be used.", +"Url retrieval is successful.", +"Url retrieval is failed due to error.", +"Url retrieval is failed because the content is behind paywall.", +"Url retrieval is failed because the content is unsafe." +], "type": "string" }, -"score": { -"description": "Confidence score of the label", -"format": "float", -"type": "number" +"url": { +"description": "The URL that was fetched.", +"type": "string" } }, "type": "object" }, -"CloudAiLargeModelsVisionSeamless": { -"id": "CloudAiLargeModelsVisionSeamless", +"GenaiUrlContextResultDelta": { +"id": "GenaiUrlContextResultDelta", "properties": { -"loop": { -"description": "If true, the generated video will be loopable (seamless time looping).", +"isError": { "type": "boolean" }, -"tessellateHorizontal": { -"description": "If true, the generated video will be tessellatable as a horizontal tessellation.", -"type": "boolean" +"result": { +"items": { +"$ref": "GenaiUrlContextResultContentUrlContextResult" }, -"tessellateVertical": { -"description": "If true, the generated video will be tessellatable as a vertical tessellation.", -"type": "boolean" +"type": "array" } }, "type": "object" }, -"CloudAiLargeModelsVisionSemanticFilterResponse": { -"id": "CloudAiLargeModelsVisionSemanticFilterResponse", +"GenaiUrlContextResultStep": { +"description": "URL context result step.", +"id": "GenaiUrlContextResultStep", "properties": { -"namedBoundingBoxes": { -"description": "Class labels of the bounding boxes that failed the semantic filtering. Bounding box coordinates.", +"isError": { +"description": "Whether the URL context resulted in an error.", +"type": "boolean" +}, +"result": { +"description": "Required. The results of the URL context.", "items": { -"$ref": "CloudAiLargeModelsVisionNamedBoundingBox" +"$ref": "GenaiUrlContextResultStepUrlContextResultItem" }, "type": "array" -}, -"passedSemanticFilter": { -"description": "This response is added when semantic filter config is turned on in EditConfig. It reports if this image is passed semantic filter response. If passed_semantic_filter is false, the bounding box information will be populated for user to check what caused the semantic filter to fail.", -"type": "boolean" } }, "type": "object" }, -"CloudAiLargeModelsVisionVideo": { -"description": "Video", -"id": "CloudAiLargeModelsVisionVideo", +"GenaiUrlContextResultStepUrlContextResultItem": { +"description": "The result of the URL context.", +"id": "GenaiUrlContextResultStepUrlContextResultItem", "properties": { -"encodedVideo": { -"description": "Base 64 encoded video bytes.", +"status": { +"description": "The status of the URL retrieval.", +"enum": [ +"STATUS_UNSPECIFIED", +"SUCCESS", +"ERROR", +"PAYWALL", +"UNSAFE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], "type": "string" }, -"encoding": { -"description": "Video encoding, for example \"video/mp4\".", +"url": { +"description": "The URL that was fetched.", "type": "string" +} }, -"text": { -"description": "Text/Expanded text input for Help Me Write.", -"type": "string" +"type": "object" }, -"uri": { -"description": "Path to another storage (typically Google Cloud Storage).", -"type": "string" +"GenaiUserInputStep": { +"description": "Input provided by the user.", +"id": "GenaiUserInputStep", +"properties": { +"contentList": { +"$ref": "GenaiContentList", +"description": "The content of the step. An array of Content objects." }, -"video": { -"description": "Raw bytes.", -"format": "byte", +"contentString": { +"description": "The content of the step. A single string.", "type": "string" } }, "type": "object" }, -"CloudAiPlatformCommonCreatePipelineJobApiErrorDetail": { -"description": "Create API error message for Vertex Pipeline.", -"id": "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail", +"GenaiValue": { +"description": "`Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.", +"id": "GenaiValue", "properties": { -"errorCause": { -"description": "The error root cause returned by CreatePipelineJob API.", +"boolValue": { +"description": "Represents a boolean value.", +"type": "boolean" +}, +"contentValue": { +"$ref": "GenaiContent", +"description": "Represents rich content (text, image, etc.)." +}, +"listValue": { +"$ref": "GenaiListValue", +"description": "Represents a repeated `Value`." +}, +"nullValue": { +"description": "Represents a null value.", "enum": [ -"ERROR_CAUSE_UNSPECIFIED", -"INVALID_PIPELINE_SPEC_FORMAT", -"INVALID_PIPELINE_SPEC", -"INVALID_DEPLOYMENT_CONFIG", -"INVALID_DEPLOYMENT_SPEC", -"INVALID_INSTANCE_SCHEMA", -"INVALID_CUSTOM_JOB", -"INVALID_CONTAINER_SPEC", -"INVALID_NOTIFICATION_EMAIL_SETUP", -"INVALID_SERVICE_ACCOUNT_SETUP", -"INVALID_KMS_SETUP", -"INVALID_NETWORK_SETUP", -"INVALID_PIPELINE_TASK_SPEC", -"INVALID_PIPELINE_TASK_ARTIFACT", -"INVALID_IMPORTER_SPEC", -"INVALID_RESOLVER_SPEC", -"INVALID_RUNTIME_PARAMETERS", -"CLOUD_API_NOT_ENABLED", -"INVALID_GCS_INPUT_URI", -"INVALID_GCS_OUTPUT_URI", -"INVALID_COMPONENT_SPEC", -"INVALID_DAG_OUTPUTS_SPEC", -"INVALID_DAG_SPEC", -"INSUFFICIENT_QUOTA", -"INTERNAL" +"NULL_VALUE" ], "enumDescriptions": [ -"Should never be used.", -"IR Pipeline Spec can not been parsed to yaml or json format.", -"A pipeline spec is invalid.", -"A deployment config is invalid.", -"A deployment spec is invalid.", -"An instance schema is invalid.", -"A custom job is invalid.", -"A container spec is invalid.", -"Notification email setup is invalid.", -"Service account setup is invalid.", -"KMS setup is invalid.", -"Network setup is invalid.", -"Task spec is invalid.", -"Task artifact is invalid.", -"Importer spec is invalid.", -"Resolver spec is invalid.", -"Runtime Parameters are invalid.", -"Cloud API not enabled.", -"Invalid Cloud Storage input uri", -"Invalid Cloud Storage output uri", -"Component spec of pipeline is invalid.", -"DagOutputsSpec is invalid.", -"DagSpec is invalid.", -"Project does not have enough quota.", -"An internal error with unknown cause." +"Null value." ], "type": "string" }, -"publicMessage": { -"description": "Public messages contains actionable items for the error cause.", +"numberValue": { +"description": "Represents a double value.", +"format": "double", +"type": "number" +}, +"stringValue": { +"description": "Represents a string value.", "type": "string" +}, +"structValue": { +"$ref": "GenaiStruct", +"description": "Represents a structured value." } }, "type": "object" @@ -52511,11 +57536,13 @@ "description": "Programming language of the `code`.", "enum": [ "LANGUAGE_UNSPECIFIED", -"PYTHON" +"PYTHON", +"BASH" ], "enumDescriptions": [ "Unspecified language. This value should not be used.", -"Python >= 3.10, with numpy and simpy available." +"Python >= 3.10, with numpy and simpy available.", +"Bash. Only available for Gemini 3.0 model or above." ], "type": "string" } @@ -52554,11 +57581,13 @@ "description": "Programming language of the `code`.", "enum": [ "LANGUAGE_UNSPECIFIED", -"PYTHON" +"PYTHON", +"BASH" ], "enumDescriptions": [ "Unspecified language. This value should not be used.", -"Python >= 3.10, with numpy and simpy available." +"Python >= 3.10, with numpy and simpy available.", +"Bash. Only available for Gemini 3.0 model or above." ], "type": "string" } @@ -53222,7 +58251,7 @@ }, "parameters": { "$ref": "GenaiVertexV1beta1Value", -"description": "The JSON Schema for the function's parameters." +"description": "The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced." } }, "type": "object" @@ -53915,6 +58944,11 @@ "$ref": "GenaiVertexV1beta1Content", "description": "The content for the interaction." }, +"continuationToken": { +"description": "Opaque token to resume a long decode. Output: set when status is REQUIRES_CONTINUATION and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding.", +"format": "byte", +"type": "string" +}, "created": { "description": "Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).", "readOnly": true, @@ -54035,7 +59069,8 @@ "CANCELLED", "INCOMPLETE", "BUDGET_EXCEEDED", -"QUEUED" +"QUEUED", +"REQUIRES_CONTINUATION" ], "enumDeprecated": [ false, @@ -54046,6 +59081,7 @@ false, false, false, true, +false, false ], "enumDescriptions": [ @@ -54057,7 +59093,8 @@ false "The interaction was cancelled.", "The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).", "Deprecated: Token and execution budget exhaustion returns INCOMPLETE (11).", -"The interaction is queued, waiting for processing (e.g. waiting for off-peak capacity)." +"The interaction is queued, waiting for processing (e.g. waiting for off-peak capacity).", +"The interaction requires at least one more request for it to be completed. The next request should set the continuation_token to the one returned by this request." ], "readOnly": true, "type": "string" @@ -54145,7 +59182,8 @@ false "CANCELLED", "INCOMPLETE", "BUDGET_EXCEEDED", -"QUEUED" +"QUEUED", +"REQUIRES_CONTINUATION" ], "enumDeprecated": [ false, @@ -54156,6 +59194,7 @@ false, false, false, true, +false, false ], "enumDescriptions": [ @@ -54167,7 +59206,8 @@ false "The interaction was cancelled.", "The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).", "Deprecated: Token and execution budget exhaustion returns INCOMPLETE (11).", -"The interaction is queued, waiting for processing (e.g. waiting for off-peak capacity)." +"The interaction is queued, waiting for processing (e.g. waiting for off-peak capacity).", +"The interaction requires at least one more request for it to be completed. The next request should set the continuation_token to the one returned by this request." ], "type": "string" }, @@ -54234,6 +59274,11 @@ false }, "type": "array" }, +"initialInputTokens": { +"description": "Number of input tokens used in the first turn of this interaction.", +"format": "int32", +"type": "integer" +}, "inputTokensByModality": { "description": "A breakdown of input token usage by modality.", "items": { @@ -55321,7 +60366,7 @@ false }, "schema": { "$ref": "GenaiVertexV1beta1Struct", -"description": "The JSON schema that the output should conform to. Only applicable when mime_type is application/json." +"description": "The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error." } }, "type": "object" @@ -55795,7 +60840,8 @@ false "IMAGE_TO_VIDEO", "REFERENCE_TO_VIDEO", "EDIT", -"EXTEND" +"EXTEND", +"UPSCALE" ], "enumDescriptions": [ "Unspecified task. The task is inferred from the input prompt and media.", @@ -55803,7 +60849,8 @@ false "Generates video from one or two source images. The first image defines the starting frame, and the optional second image defines the ending frame.", "Generates video using reference media (such as images, audio, or video).", "Modifies an existing input video.", -"Extends an existing input video." +"Extends an existing input video.", +"Increases the resolution of an existing input video." ], "type": "string" } @@ -56020,144 +61067,379 @@ false }, "type": "object" }, -"GenaiVertexV1beta1Voice": { -"description": "A voice resource representing either a custom voice (created via `CreateVoice`) or a prebuilt system voice (returned by `ListVoices`).", -"id": "GenaiVertexV1beta1Voice", -"properties": { -"accent": { -"description": "Optional. Regional accent descriptor (e.g. \"American\", \"British\").", -"type": "string" -}, -"context": { -"description": "Optional. Optimal usage context or domain (e.g. \"Conversational\", \"Audiobook\", \"News\").", -"type": "string" -}, -"description": { -"description": "Optional. Descriptive summary of vocal timbre, personality, and tone.", -"type": "string" -}, -"displayName": { -"description": "Optional. User-provided display name for a stored voice (`store = true`), or the catalog name for a prebuilt voice.", -"type": "string" -}, -"expireTime": { -"description": "Output only. The timestamp at which a custom stored voice (`store = true`) or replicated voice key (`store = false`) expires. For custom stored voices (`store = true`), this expiration time is extended when the voice is used for speech synthesis or as a `base_voice` in `CreateVoice`. Unset for prebuilt catalog voices (`\"prebuilt\"`), which do not expire.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"gender": { -"description": "Optional. Perceived voice gender presentation (e.g. \"female\", \"male\", \"neutral\").", -"type": "string" -}, -"id": { -"description": "Output only. The unique identifier of the voice. * For Google-managed custom voices (`store = true`), this is a generated ID with prefix `voice_` (for example, `voice_abc123def456`). Pass `voices/{id}` as the `name` in `GetVoice` and `DeleteVoice`, and pass `{id}` directly to `SpeechConfig.voice_config.voice` (or `SpeechConfig.voice`) during speech synthesis. * For prebuilt catalog voices (`\"prebuilt\"` returned by `ListVoices`), this is the speaker name (for example, `Puck` or `Charon`). * Unset when `CreateVoice` is called with `store = false`.", -"readOnly": true, -"type": "string" -}, -"key": { -"description": "Output only. The client-managed voice replication key (with prefix `voicekey_`). Returned only by `CreateVoice` when `type` is `\"replicated\"` and `store` is `false`. Pass this key to `SpeechConfig.voice_config.voice` (or `SpeechConfig.voice`) during speech synthesis.", -"readOnly": true, -"type": "string" -}, -"languageCode": { -"description": "Optional. Primary BCP-47 language tag (e.g. \"en-US\", \"fr-FR\").", -"type": "string" -}, -"model": { -"description": "Optional. The model used to design or replicate the voice. If omitted in `CreateVoice`, defaults to the latest supported voice design model. Returned in `CreateVoice`, `GetVoice`, and `ListVoices` responses for custom voices (`\"prompted\"` and `\"replicated\"`); unset for `\"prebuilt\"` voices. Created voices can be synthesized across any supported TTS synthesis model.", -"type": "string" -}, -"persona": { -"description": "Optional. Intended persona or character archetype (e.g. \"Warm, Friendly\", \"Narrator\").", -"type": "string" -}, -"pitch": { -"description": "Optional. Voice pitch classification.", -"enum": [ -"PITCH_UNSPECIFIED", -"PITCH_LOW", -"PITCH_MEDIUM", -"PITCH_HIGH" -], -"enumDescriptions": [ -"Pitch is unspecified.", -"Lower pitch voice.", -"Medium pitch voice.", -"Higher pitch voice." -], -"type": "string" -}, -"prompted": { -"$ref": "GenaiVertexV1beta1VoicePromptedVoice", -"description": "Parameters for prompted voice generation. Required in `CreateVoice` when `type` is `\"prompted\"`. Returned in `CreateVoice`, `GetVoice`, and `ListVoices` responses for prompted voices." -}, -"regionCode": { -"description": "Optional. ISO 3166-1 alpha-2 or UN M.49 geographic region code (e.g. \"US\", \"GB\", \"001\").", -"type": "string" -}, -"replicated": { -"$ref": "GenaiVertexV1beta1VoiceReplicatedVoice", -"description": "Input only. Parameters for replicated voice generation. Required on input when `type` is `\"replicated\"`. Not returned in responses." -}, -"sampleAudio": { -"$ref": "GenaiVertexV1beta1AudioData", -"description": "Output only. Sample audio (synthesizer prompt audio) generated for a prompted voice. Populated only in `CreateVoice` and `GetVoice` responses when `type` is `\"prompted\"`; unset in `ListVoices` responses and for `\"replicated\"` or `\"prebuilt\"` voices.", -"readOnly": true -}, -"type": { -"description": "Required. The type of the voice. In `CreateVoice`, must be `\"replicated\"` or `\"prompted\"`. In `ListVoices` responses, may also be `\"prebuilt\"`.", -"enum": [ -"VOICE_TYPE_UNSPECIFIED", -"VOICE_TYPE_REPLICATED", -"VOICE_TYPE_PROMPTED", -"VOICE_TYPE_PREBUILT" -], -"enumDescriptions": [ -"Default value. This value is unused and must not be specified.", -"A custom voice replicated from a reference audio sample and speaker consent recording.", -"A custom voice generated from a natural-language text prompt (optionally editing or remixing a `base_voice`).", -"A built-in system voice from Google's voice catalog (e.g., `Puck`, `Charon`). Returned in responses; cannot be specified as the type in `CreateVoice`." -], -"type": "string" -}, -"usage": { -"$ref": "GenaiVertexV1beta1InteractionUsage", -"description": "Output only. Token usage statistics for the voice creation request. Populated only in the response of `CreateVoice` when `type` is `\"prompted\"`; unset for `\"replicated\"` and in `GetVoice` and `ListVoices` responses.", -"readOnly": true -} -}, -"type": "object" -}, -"GenaiVertexV1beta1VoicePromptedVoice": { -"description": "Parameters for prompted voice generation. Required in `CreateVoice` when `type` is `\"prompted\"`. Returned in `CreateVoice`, `GetVoice`, and `ListVoices` responses for prompted voices.", -"id": "GenaiVertexV1beta1VoicePromptedVoice", -"properties": { -"input": { -"description": "Required. The natural-language prompt describing the desired voice, e.g. \"A deep, booming male voice of a massive evil ogre in his middle years.\"", -"type": "string" -} -}, -"type": "object" -}, -"GenaiVertexV1beta1VoiceReplicatedVoice": { -"description": "Input only. Parameters for replicated voice generation. Required on input when `type` is `\"replicated\"`. Not returned in responses.", -"id": "GenaiVertexV1beta1VoiceReplicatedVoice", -"properties": { -"consentAudio": { -"$ref": "GenaiVertexV1beta1AudioData", -"description": "Required. Audio recording of the same speaker reading the required consent phrase, confirming authorization to replicate the voice." -}, -"sourceAudio": { -"$ref": "GenaiVertexV1beta1AudioData", -"description": "Required. The reference audio sample of the speaker's voice to replicate. Must be an unmodified recording of an adult human voice." -} -}, -"type": "object" -}, -"GenaiVertexV1beta1WordInfo": { +"GenaiVertexV1beta1Voice": { +"description": "A voice resource representing either a custom voice (created via `CreateVoice`) or a prebuilt system voice (returned by `ListVoices`).", +"id": "GenaiVertexV1beta1Voice", +"properties": { +"accent": { +"description": "Optional. Regional accent descriptor (e.g. \"American\", \"British\").", +"type": "string" +}, +"context": { +"description": "Optional. Optimal usage context or domain (e.g. \"Conversational\", \"Audiobook\", \"News\").", +"type": "string" +}, +"description": { +"description": "Optional. Descriptive summary of vocal timbre, personality, and tone.", +"type": "string" +}, +"displayName": { +"description": "Optional. User-provided display name for a stored voice (`store = true`), or the catalog name for a prebuilt voice.", +"type": "string" +}, +"expireTime": { +"description": "Output only. The timestamp at which a custom stored voice (`store = true`) or replicated voice key (`store = false`) expires. For custom stored voices (`store = true`), this expiration time is extended when the voice is used for speech synthesis or as a `base_voice` in `CreateVoice`. Unset for prebuilt catalog voices (`\"prebuilt\"`), which do not expire.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"gender": { +"description": "Optional. Perceived voice gender presentation (e.g. \"female\", \"male\", \"neutral\").", +"type": "string" +}, +"id": { +"description": "Output only. The unique identifier of the voice. * For Google-managed custom voices (`store = true`), this is a generated ID with prefix `voice_` (for example, `voice_abc123def456`). Pass `voices/{id}` as the `name` in `GetVoice` and `DeleteVoice`, and pass `{id}` directly to `SpeechConfig.voice_config.voice` (or `SpeechConfig.voice`) during speech synthesis. * For prebuilt catalog voices (`\"prebuilt\"` returned by `ListVoices`), this is the speaker name (for example, `Puck` or `Charon`). * Unset when `CreateVoice` is called with `store = false`.", +"readOnly": true, +"type": "string" +}, +"key": { +"description": "Output only. The client-managed voice replication key (with prefix `voicekey_`). Returned only by `CreateVoice` when `type` is `\"replicated\"` and `store` is `false`. Pass this key to `SpeechConfig.voice_config.voice` (or `SpeechConfig.voice`) during speech synthesis.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "Optional. Primary BCP-47 language tag (e.g. \"en-US\", \"fr-FR\").", +"type": "string" +}, +"model": { +"description": "Optional. The model used to design or replicate the voice. If omitted in `CreateVoice`, defaults to the latest supported voice design model. Returned in `CreateVoice`, `GetVoice`, and `ListVoices` responses for custom voices (`\"prompted\"` and `\"replicated\"`); unset for `\"prebuilt\"` voices. Created voices can be synthesized across any supported TTS synthesis model.", +"type": "string" +}, +"persona": { +"description": "Optional. Intended persona or character archetype (e.g. \"Warm, Friendly\", \"Narrator\").", +"type": "string" +}, +"pitch": { +"description": "Optional. Voice pitch classification.", +"enum": [ +"PITCH_UNSPECIFIED", +"PITCH_LOW", +"PITCH_MEDIUM", +"PITCH_HIGH" +], +"enumDescriptions": [ +"Pitch is unspecified.", +"Lower pitch voice.", +"Medium pitch voice.", +"Higher pitch voice." +], +"type": "string" +}, +"prompted": { +"$ref": "GenaiVertexV1beta1VoicePromptedVoice", +"description": "Parameters for prompted voice generation. Required in `CreateVoice` when `type` is `\"prompted\"`. Returned in `CreateVoice`, `GetVoice`, and `ListVoices` responses for prompted voices." +}, +"regionCode": { +"description": "Optional. ISO 3166-1 alpha-2 or UN M.49 geographic region code (e.g. \"US\", \"GB\", \"001\").", +"type": "string" +}, +"replicated": { +"$ref": "GenaiVertexV1beta1VoiceReplicatedVoice", +"description": "Input only. Parameters for replicated voice generation. Required on input when `type` is `\"replicated\"`. Not returned in responses." +}, +"sampleAudio": { +"$ref": "GenaiVertexV1beta1AudioData", +"description": "Output only. Sample audio (synthesizer prompt audio) generated for a prompted voice. Populated only in `CreateVoice` and `GetVoice` responses when `type` is `\"prompted\"`; unset in `ListVoices` responses and for `\"replicated\"` or `\"prebuilt\"` voices.", +"readOnly": true +}, +"type": { +"description": "Required. The type of the voice. In `CreateVoice`, must be `\"replicated\"` or `\"prompted\"`. In `ListVoices` responses, may also be `\"prebuilt\"`.", +"enum": [ +"VOICE_TYPE_UNSPECIFIED", +"VOICE_TYPE_REPLICATED", +"VOICE_TYPE_PROMPTED", +"VOICE_TYPE_PREBUILT" +], +"enumDescriptions": [ +"Default value. This value is unused and must not be specified.", +"A custom voice replicated from a reference audio sample and speaker consent recording.", +"A custom voice generated from a natural-language text prompt (optionally editing or remixing a `base_voice`).", +"A built-in system voice from Google's voice catalog (e.g., `Puck`, `Charon`). Returned in responses; cannot be specified as the type in `CreateVoice`." +], +"type": "string" +}, +"usage": { +"$ref": "GenaiVertexV1beta1InteractionUsage", +"description": "Output only. Token usage statistics for the voice creation request. Populated only in the response of `CreateVoice` when `type` is `\"prompted\"`; unset for `\"replicated\"` and in `GetVoice` and `ListVoices` responses.", +"readOnly": true +} +}, +"type": "object" +}, +"GenaiVertexV1beta1VoicePromptedVoice": { +"description": "Parameters for prompted voice generation. Required in `CreateVoice` when `type` is `\"prompted\"`. Returned in `CreateVoice`, `GetVoice`, and `ListVoices` responses for prompted voices.", +"id": "GenaiVertexV1beta1VoicePromptedVoice", +"properties": { +"input": { +"description": "Required. The natural-language prompt describing the desired voice, e.g. \"A deep, booming male voice of a massive evil ogre in his middle years.\"", +"type": "string" +} +}, +"type": "object" +}, +"GenaiVertexV1beta1VoiceReplicatedVoice": { +"description": "Input only. Parameters for replicated voice generation. Required on input when `type` is `\"replicated\"`. Not returned in responses.", +"id": "GenaiVertexV1beta1VoiceReplicatedVoice", +"properties": { +"consentAudio": { +"$ref": "GenaiVertexV1beta1AudioData", +"description": "Required. Audio recording of the same speaker reading the required consent phrase, confirming authorization to replicate the voice." +}, +"sourceAudio": { +"$ref": "GenaiVertexV1beta1AudioData", +"description": "Required. The reference audio sample of the speaker's voice to replicate. Must be an unmodified recording of an adult human voice." +} +}, +"type": "object" +}, +"GenaiVertexV1beta1WordInfo": { +"description": "Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution.", +"id": "GenaiVertexV1beta1WordInfo", +"properties": { +"endOffset": { +"description": "End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains \"word\".", +"format": "google-duration", +"type": "string" +}, +"speaker": { +"description": "Optional. Speaker label for this word (e.g. \"spk_1\", \"spk_2\"). Present when diarization_mode is set in TranscriptionConfig.", +"type": "string" +}, +"startOffset": { +"description": "Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains \"word\".", +"format": "google-duration", +"type": "string" +}, +"text": { +"description": "The transcribed word.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiVideoContent": { +"description": "A video content block. ", +"id": "GenaiVideoContent", +"properties": { +"data": { +"description": "The video content.", +"format": "byte", +"type": "string" +}, +"mimeTypeString": { +"description": "Flexible MIME type string of the video, superseding mime_type = 1. Note: Bespoke logic in the GAOS parser/serializer maps this to the \"mime_type\" JSON key.", +"type": "string" +}, +"name": { +"description": "A user-defined name for this content block. Can be referenced by the model in the final response.", +"type": "string" +}, +"processingConfig": { +"$ref": "GenaiVideoContentMediaProcessing" +}, +"processingType": { +"enum": [ +"PROCESSING_UNSPECIFIED", +"STATIC", +"AGENTIC" +], +"enumDescriptions": [ +"Default. Uses model-specific processing (3.5 Pro+ --> AGENTIC, older models --> STATIC)", +"Fixed-rate frame extraction. All frames placed in context.", +"Model-driven dynamic navigation." +], +"type": "string" +}, +"resolution": { +"description": "The resolution of the media.", +"enum": [ +"MEDIA_RESOLUTION_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH", +"ULTRA_HIGH" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Low resolution.", +"Medium resolution.", +"High resolution.", +"Ultra high resolution." +], +"type": "string" +}, +"uri": { +"description": "The URI of the video.", +"type": "string" +} +}, +"type": "object" +}, +"GenaiVideoContentMediaProcessing": { +"id": "GenaiVideoContentMediaProcessing", +"properties": { +"static": { +"$ref": "GenaiVideoContentStaticMediaProcessing" +} +}, +"type": "object" +}, +"GenaiVideoContentStaticMediaProcessing": { +"id": "GenaiVideoContentStaticMediaProcessing", +"properties": { +"endOffset": { +"description": "Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., \"30s\". Must be non-negative and greater than `start_offset` if `start_offset` is set.", +"format": "google-duration", +"type": "string" +}, +"fps": { +"description": "Optional. Video frame-rate sampling density.", +"format": "double", +"type": "number" +}, +"startOffset": { +"description": "Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., \"10.5s\". Must be non-negative.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GenaiVideoDelta": { +"id": "GenaiVideoDelta", +"properties": { +"data": { +"format": "byte", +"type": "string" +}, +"mimeType": { +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_MP4", +"TYPE_MPEG", +"TYPE_MPG", +"TYPE_MOV", +"TYPE_AVI", +"TYPE_X_FLV", +"TYPE_WEBM", +"TYPE_WMV", +"TYPE_3GPP", +"TYPE_JPEG2000" +], +"enumDescriptions": [ +"", +"MP4 video format", +"MPEG video format", +"MPG video format", +"MOV video format", +"AVI video format", +"FLV video format", +"WebM video format", +"WMV video format", +"3GPP video format", +"JPEG 2000 video format" +], +"type": "string" +}, +"resolution": { +"description": "The resolution of the media.", +"enum": [ +"MEDIA_RESOLUTION_UNSPECIFIED", +"LOW", +"MEDIUM", +"HIGH", +"ULTRA_HIGH" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Low resolution.", +"Medium resolution.", +"High resolution.", +"Ultra high resolution." +], +"type": "string" +}, +"uri": { +"type": "string" +} +}, +"type": "object" +}, +"GenaiVideoResponseFormat": { +"description": "Configuration for video output format.", +"id": "GenaiVideoResponseFormat", +"properties": { +"aspectRatio": { +"description": "The aspect ratio for the video output.", +"enum": [ +"ASPECT_RATIO_UNSPECIFIED", +"ASPECT_RATIO_SIXTEEN_BY_NINE", +"ASPECT_RATIO_NINE_BY_SIXTEEN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"16:9 aspect ratio.", +"9:16 aspect ratio." +], +"type": "string" +}, +"delivery": { +"description": "The delivery mode for the video output.", +"enum": [ +"DELIVERY_UNSPECIFIED", +"INLINE", +"URI" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Video data is returned inline in the response.", +"Video data is returned as a URI." +], +"type": "string" +}, +"duration": { +"description": "The duration for the video output.", +"format": "google-duration", +"type": "string" +}, +"gcsUri": { +"description": "The Cloud Storage URI to store the video output. Required for Vertex if delivery mode is URI.", +"type": "string" +}, +"resolution": { +"description": "The video output resolution. Defaults to 720p.", +"enum": [ +"RESOLUTION_UNSPECIFIED", +"RESOLUTION_THREE_SIXTY_P", +"RESOLUTION_SEVEN_TWENTY_P", +"RESOLUTION_TEN_EIGHTY_P", +"RESOLUTION_FOUR_K" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"360p resolution.", +"720p resolution.", +"1080p resolution.", +"4K resolution." +], +"type": "string" +} +}, +"type": "object" +}, +"GenaiWordInfo": { "description": "Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution.", -"id": "GenaiVertexV1beta1WordInfo", +"id": "GenaiWordInfo", "properties": { "endOffset": { "description": "End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains \"word\".", @@ -57137,6 +62419,36 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1AddArtifactRequest": { +"description": "Request for ArtifactService.AddArtifact.", +"id": "GoogleCloudAiplatformV1beta1AddArtifactRequest", +"properties": { +"collaborativeProject": { +"description": "Optional. The collaborative project to link the file to. Format: projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project} Exactly one of `task` and `collaborative_project` must be set.", +"type": "string" +}, +"linkJsonMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1LinkJsonMetadata", +"description": "Required. The linked entity, stored as its `.link.json` file." +}, +"task": { +"description": "Optional. The task to link the file to. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Exactly one of `task` and `collaborative_project` must be set.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AddArtifactResponse": { +"description": "Response for ArtifactService.AddArtifact.", +"id": "GoogleCloudAiplatformV1beta1AddArtifactResponse", +"properties": { +"artifactId": { +"description": "The ID of the added artifact.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsRequest": { "description": "Request message for MetadataService.AddContextArtifactsAndExecutions.", "id": "GoogleCloudAiplatformV1beta1AddContextArtifactsAndExecutionsRequest", @@ -57219,11 +62531,19 @@ false "description": "A Vertex agent contains instructions and configurations for the LLM to execute a certain task.", "id": "GoogleCloudAiplatformV1beta1Agent", "properties": { +"agentIdentity": { +"$ref": "GoogleCloudAiplatformV1beta1AgentIdentity", +"description": "Optional. Immutable. The identity configuration of the agent. Immutable: the agent's own identity determines the A2 (CoWorker) archetype and the minted SPIFFE, so it cannot change after creation (no A1<->A2 transition)." +}, "aiApplication": { "description": "Output only. The resource name of the AI Application provisioned for this agent. Format: `projects/{project}/locations/{location}/aiApplications/{ai_application}`.", "readOnly": true, "type": "string" }, +"allowedTeammates": { +"$ref": "GoogleCloudAiplatformV1beta1AllowedTeammates", +"description": "Optional. The identities this agent is allowed to contact outbound (for example over Gmail or Chat). Stored on the agent and always returned by `GetAgent`; see the field comments on `AllowedTeammates`." +}, "base_agent": { "description": "Required. Immutable. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` Immutable: `UpdateAgent` rejects a change, including clearing it. The kind of agent this is gets derived from this field when the agent is created and is recorded then; nothing recomputes it afterwards, so a later change would leave the agent described as one kind and behaving as another. Create a new agent instead.", "type": "string" @@ -57247,10 +62567,18 @@ false "readOnly": true, "type": "string" }, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", +"description": "Optional. Immutable. Customer-managed encryption key spec for an Agent. If set, this agent's user data will be secured by this key; if not set, it is secured by a Google-managed key. Cannot be changed after the agent is created." +}, "id": { "description": "Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", "type": "string" }, +"memoryConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AgentMemoryConfig", +"description": "Optional. Memory settings for the agent." +}, "metadata": { "additionalProperties": { "type": "string" @@ -57275,6 +62603,19 @@ false "$ref": "GoogleCloudAiplatformV1beta1ObservabilityConfig", "description": "Optional. Observability settings for this agent's sessions." }, +"owner": { +"$ref": "GoogleCloudAiplatformV1beta1Principal", +"description": "Optional. The human owner (principal) the agent acts on behalf of (A1 Personal). Mutable by design: ownership is meant to be reassignable (e.g. by an admin). On create an A1 (Personal) agent may omit it and the control plane defaults it to the caller; an A2 (CoWorker) agent must set it explicitly. `owner.id` must be an *obfuscated* Gaia id. A raw Gaia id is rejected with INVALID_ARGUMENT naming the rule -- both forms are strings of decimal digits, so the surface would otherwise have two indistinguishable spellings of one identity. Not yet: `UpdateAgent` currently rejects a change to this field. The control plane authorizes every agent method against the owner Gaia id it persists internally at create time, and the update path does not maintain that copy \u2014 so a field write here would move the reported owner without moving the one access control uses. The guard comes out once reassignment moves both, along with the Workspace identity provisioned under the owner." +}, +"persona": { +"$ref": "GoogleCloudAiplatformV1beta1Persona", +"description": "Optional. The persona (presentation) of the agent. Mutable: presentation only, not an archetype-derivation signal." +}, +"status": { +"$ref": "GoogleCloudAiplatformV1beta1AgentStatus", +"description": "Output only. The current operational state of the agent.", +"readOnly": true +}, "system_instruction": { "description": "Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.", "type": "string" @@ -57446,6 +62787,37 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1AgentIdentity": { +"description": "Identity configuration for an agent.", +"id": "GoogleCloudAiplatformV1beta1AgentIdentity", +"properties": { +"email": { +"description": "Optional. The email address representing the agent's principal identity. For Google Workspace agents, the email should be on a verified customer domain.", +"type": "string" +}, +"gaiaId": { +"description": "Output only. The agent's own obfuscated Gaia id. Set only for an A2 (CoWorker) agent, which is the only kind that has a first-class Gaia account of its own. An A1 (Personal) agent has no `AgentIdentity` at all: it acts on behalf of its owner, so the identity it runs as is `Agent.owner`, and there is no separate Gaia account to name. Populated asynchronously once the agent identity is provisioned, so it may be absent from the `CreateAgent` LRO response and present on `GetAgent`/`ListAgents`.", +"readOnly": true, +"type": "string" +}, +"tenant": { +"$ref": "GoogleCloudAiplatformV1beta1Tenant", +"description": "Optional. The tenant / customer context under which this agent runs. For Google Workspace , this is the obfuscated Customer ID (e.g. \"C0123abcd\")." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AgentMemoryConfig": { +"description": "Agent-level memory settings. These apply across every task the agent runs and every user of the agent: this is an agent-wide control, not a per-user one. To turn memory off for a single end user of a shared agent, the calling surface sets `TaskSpec.scope.memory_config.disable_memory` on that user's tasks.", +"id": "GoogleCloudAiplatformV1beta1AgentMemoryConfig", +"properties": { +"disableMemory": { +"description": "Optional. If true, memory is disabled for the agent as a whole: across every task it runs, the agent neither reads existing memories into the prompt nor forms new ones. Memory is on by default, and this is the setting that wins. A task may turn memory off for itself alone with `TaskSpec.scope.memory_config.disable_memory`, but cannot turn it back on while this is true; the two are OR'ed. This level wins because it is the mutable one. Turning it on has to cover the tasks that already exist, whose stored specs still say whatever they were created with, so the agent's current value is re-applied every time a session opens, including on a resume. Memories already stored are retained and stay readable by the agent's users; this governs only whether the agent can access and modify them.", +"type": "boolean" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1AgentModelConfig": { "description": "Selects the model configuration for an agent. Starts with just the model id/alias; extensible with further model parameters without a breaking change.", "id": "GoogleCloudAiplatformV1beta1AgentModelConfig", @@ -57521,6 +62893,73 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1AgentStatus": { +"description": "Operational state of the agent.", +"id": "GoogleCloudAiplatformV1beta1AgentStatus", +"properties": { +"deleteTime": { +"description": "Output only. The time at which the agent was soft-deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the agent.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"SUSPENDED", +"ARCHIVED", +"DELETED" +], +"enumDescriptions": [ +"Unspecified agent state.", +"The agent is active and ready to process requests.", +"The agent is suspended.", +"The agent is archived (read-only).", +"The agent is soft-deleted." +], +"readOnly": true, +"type": "string" +}, +"suspensionReason": { +"$ref": "GoogleCloudAiplatformV1beta1AgentStatusSuspensionReason", +"description": "Output only. Context about the current active suspension.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1AgentStatusSuspensionReason": { +"description": "Details about the active suspension. This message is only populated if the state is SUSPENDED.", +"id": "GoogleCloudAiplatformV1beta1AgentStatusSuspensionReason", +"properties": { +"reason": { +"description": "Output only. The reason for the current suspension.", +"enum": [ +"REASON_UNSPECIFIED", +"ABUSE", +"ADMIN", +"USER_INITIATED" +], +"enumDescriptions": [ +"Unspecified suspension reason.", +"Suspended due to abuse or terms of service violations.", +"Suspended by a domain administrator.", +"Suspended by the owner/user." +], +"readOnly": true, +"type": "string" +}, +"suspensionTime": { +"description": "Output only. The time when the current suspension was applied.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1AgentTool": { "description": "A tool provides a list of actions available to the Agent during the process of executing a task. Example JSON for an MCP server tool: { \"type\": \"mcp_server\", \"name\": \"my-mcp-server\", \"url\": \"https://api.example.com/mcp\", \"headers\": { \"Authorization\": \"Bearer token123\" } }", "id": "GoogleCloudAiplatformV1beta1AgentTool", @@ -57537,7 +62976,7 @@ false "type": "string" }, "type": { -"description": "Required. The type of the tool. Supported types: * `code_execution` * `endpoint` * `filesystem` * `google_search` * `mcp_server` * `url_context`", +"description": "Required. The type of the tool. Supported types: * `audio_generation` * `code_execution` * `endpoint` * `filesystem` * `google_search` * `image_generation` * `mcp_server` * `speech_generation` * `url_context` * `video_generation`", "type": "string" }, "url": { @@ -57733,6 +63172,20 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1AllowedTeammates": { +"description": "The set of identities an agent is allowed to contact outbound -- who the agent may talk to, not who may talk to the agent (that is IAM's job). The membership is stored on the agent, so the Agents API is authoritative for what this field reports.", +"id": "GoogleCloudAiplatformV1beta1AllowedTeammates", +"properties": { +"teammates": { +"description": "Optional. The teammates the agent is permitted to contact. At most 500. OUTPUT: always returned. An empty list means the agent has no teammates, not that the field went unread. INPUT: the complete desired set, not a delta -- teammates absent from it are removed. The backing roster is updated asynchronously and best-effort after the write returns, so it may briefly lag what `GetAgent` reports. What the agent is actually able to reach follows the roster, not this field, until the two converge.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Teammate" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1AnalyzedInvocation": { "description": "Represents an analyzed invocation for a monitored agent's session.", "id": "GoogleCloudAiplatformV1beta1AnalyzedInvocation", @@ -57891,6 +63344,14 @@ false "description": "Breaks down anomalies by severity.", "id": "GoogleCloudAiplatformV1beta1AnalyzedSessionSeveritySummary", "properties": { +"detectorDisplayNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. The display names of the customer-defined detectors in `detector_ids`, keyed by detector ID. A detector ID with no entry -- a Google-managed detector, or a customer-defined detector that has since been deleted -- has no display name.", +"readOnly": true, +"type": "object" +}, "detectorIds": { "description": "The list of detectors summaries for this severity level.", "items": { @@ -58644,6 +64105,10 @@ false ], "type": "string" }, +"sourceText": { +"description": "Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it.", +"type": "string" +}, "wordTimestamp": { "description": "Optional. Configures word-level timestamp generation.", "type": "boolean" @@ -58905,6 +64370,12 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1AutoVerification": { +"description": "Judges the goal against its own `spec`, with no separate criterion to write. List it more than once to run that many independent judgements of the same objective; as with any verifier, every `required` one must pass for the goal to succeed.", +"id": "GoogleCloudAiplatformV1beta1AutoVerification", +"properties": {}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1AutomaticResources": { "description": "A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", "id": "GoogleCloudAiplatformV1beta1AutomaticResources", @@ -60014,6 +65485,131 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1Budget": { +"description": "Holistic resource caps metered across the entire task.", +"id": "GoogleCloudAiplatformV1beta1Budget", +"properties": { +"maxToolCalls": { +"description": "Optional. Maximum total tool calls across the whole task.", +"format": "int64", +"type": "string" +}, +"maxTotalTokens": { +"description": "Optional. Maximum total model tokens across the whole task.", +"format": "int64", +"type": "string" +}, +"maxWallclock": { +"description": "Optional. Maximum wall-clock duration for the task. Counts only time spent in `WORKING` or `REQUIRES_ACTION`; `IDLE`, `QUEUED`, and `SUSPENDED` do not accrue.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BudgetConsumptionDetail": { +"description": "Observability snapshot of budget consumption for a Task .", +"id": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetail", +"properties": { +"attributions": { +"description": "Output only. Spend broken down by consumer.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttribution" +}, +"readOnly": true, +"type": "array" +}, +"tokenConsumption": { +"$ref": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailConsumption", +"description": "Output only. Token budget status. This is only populated if the Task has a token limit Budget set.", +"readOnly": true +}, +"toolCallConsumption": { +"$ref": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailConsumption", +"description": "Output only. Tool-call budget status. This is only populated if the Task has a tool call Budget limit set.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttribution": { +"description": "Per-consumer attribution: which unit of the Task tree incurred the spend.", +"id": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttribution", +"properties": { +"root": { +"$ref": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionRoot", +"description": "Output only. The root Task's own spend.", +"readOnly": true +}, +"spent": { +"$ref": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionSpend", +"description": "Output only. This consumer's spend, per dimension.", +"readOnly": true +}, +"subTask": { +"$ref": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionSubTask", +"description": "Output only. A spawned sub-Task's spend.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionRoot": { +"description": "The root (owning) Task's own spend.", +"id": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionRoot", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionSpend": { +"description": "A consumer's spend, per Budget dimension.", +"id": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionSpend", +"properties": { +"tokenCount": { +"description": "Output only. Tokens spent by this consumer.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"toolCallCount": { +"description": "Output only. Tool calls spent by this consumer.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionSubTask": { +"description": "A spawned sub-Task's spend.", +"id": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailAttributionSubTask", +"properties": { +"task": { +"description": "Output only. Resource name of the sub-Task that incurred the spend.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1BudgetConsumptionDetailConsumption": { +"description": "Consumption for one budget dimension.", +"id": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetailConsumption", +"properties": { +"limit": { +"description": "Output only. The cap from `TaskSpec.budget` for this dimension's consumption.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"spent": { +"description": "Output only. Amount consumed so far.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1CacheConfig": { "description": "Config of GenAI caching features. This is a singleton resource.", "id": "GoogleCloudAiplatformV1beta1CacheConfig", @@ -60217,6 +65813,17 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1CancelTaskRequest": { +"description": "Request for TaskService.CancelTask.", +"id": "GoogleCloudAiplatformV1beta1CancelTaskRequest", +"properties": { +"operateOnSelf": { +"description": "Optional. Whether to skip cascading cancellation to all descendant subtasks. Defaults to false (cascades to all descendants by default). Matches google.cloud.aiplatform.master.SuspendTaskRequest.operate_on_self. Behavior for CancelTaskLro (cascade semantics do not apply to the deprecated sync CancelTask method, which is always self-only): UNSET or false \u21d2 cascade to non-terminal descendants (gated by Mendel flag sobi_enable_cascading_cancel_task; returns FAILED_PRECONDITION when the flag is OFF and the task has non-terminal children). true \u21d2 cancel this task only.", +"type": "boolean" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1CancelTrainingPipelineRequest": { "description": "Request message for PipelineService.CancelTrainingPipeline.", "id": "GoogleCloudAiplatformV1beta1CancelTrainingPipelineRequest", @@ -60281,7 +65888,8 @@ false "UNEXPECTED_TOOL_CALL", "NO_IMAGE", "MALFORMED_RESPONSE", -"CONTINUATION" +"CONTINUATION", +"TOO_MANY_TOOL_CALLS" ], "enumDescriptions": [ "The finish reason is unspecified.", @@ -60302,7 +65910,8 @@ false "The model generated a function call that is semantically invalid. This can happen, for example, if function calling is not enabled or the generated function is not in the function declaration.", "The model was expected to generate an image, but didn't.", "Finishes due to malformed response.", -"Token generation was stopped because the response reached the per-request token limit, but generation is not yet complete. The model response can be continued via a subsequent request using the returned `continuation_token`." +"Token generation was stopped because the response reached the per-request token limit, but generation is not yet complete. The model response can be continued via a subsequent request using the returned `continuation_token`.", +"The model made too many tool calls in a single request, so the server-side tool loop stopped before the model returned a final answer." ], "readOnly": true, "type": "string" @@ -60831,6 +66440,59 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1CollaborativeProject": { +"description": "A shared workspace for a user's related tasks . A CollaborativeProject is a top-level resource. Only the user who created it can read or change it.", +"id": "GoogleCloudAiplatformV1beta1CollaborativeProject", +"properties": { +"createTime": { +"description": "Output only. The time the project was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The user-visible name of the project. At most 256 characters.", +"type": "string" +}, +"emoji": { +"description": "Optional. The emoji shown as the project's icon.", +"type": "string" +}, +"folder": { +"description": "Optional. The full path of the local folder that backs the project, for a project created in the desktop app. Empty for a project created anywhere else.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the project. The service assigns the final ID segment. Format: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}`.", +"type": "string" +}, +"trustedParticipants": { +"description": "Optional. Unordered list. The participants granted access to the project. Each `(participant_type, identifier)` pair can appear at most once.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TrustedParticipant" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. The time the project was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CollaborativeProjectConfig": { +"description": "Scopes a task to a `CollaborativeProject` . Starts with the collaborative project resource reference; extensible with per-task collaborative project settings without a breaking change.", +"id": "GoogleCloudAiplatformV1beta1CollaborativeProjectConfig", +"properties": { +"collaborativeProject": { +"description": "Optional. The resource name of the `CollaborativeProject` this task is scoped to: `projects/{project}/locations/{location}/collaborativeProjects/{collaborative_project}` The `{project}` segment must match the task's own Google Cloud project. Empty when the task is not scoped to a collaborative project. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`).", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1CometInput": { "description": "Input for Comet metric.", "id": "GoogleCloudAiplatformV1beta1CometInput", @@ -61306,6 +66968,49 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ContextScope": { +"description": "The scoped context a task runs within.", +"id": "GoogleCloudAiplatformV1beta1ContextScope", +"properties": { +"allowedTools": { +"$ref": "GoogleCloudAiplatformV1beta1ToolRefs", +"description": "Keep only these tools from the agent's inherited set." +}, +"collaborativeProject": { +"$ref": "GoogleCloudAiplatformV1beta1CollaborativeProjectConfig", +"description": "Optional. Optional collaborative project configuration for this task. Only a root task (`parent_task_id` unset) may set or update this field; when `parent_task_id` is set, the subtask automatically inherits its root task's collaborative project (setting a different value is rejected with `INVALID_ARGUMENT`). Updating or clearing this field via `UpdateTask` is only allowed while the task is in the `IDLE` state (attempts in any other state are rejected with `FAILED_PRECONDITION`)." +}, +"dataConnectorConfig": { +"$ref": "GoogleCloudAiplatformV1beta1DataConnectorConfig", +"description": "Optional. Data connector configuration for this task." +}, +"environment": { +"$ref": "GenaiEnvironmentConfig", +"description": "Optional. Optional server-managed sandbox environment for the task: skills and tools mounted into the sandbox plus the egress policy. Reuses the Interactions EnvironmentConfig (e.g. SKILL_REGISTRY sources to mount skills, network egress allowlist)." +}, +"excludedTools": { +"$ref": "GoogleCloudAiplatformV1beta1ToolRefs", +"description": "Remove these tools from the agent's inherited set." +}, +"externalBrowser": { +"$ref": "GoogleCloudAiplatformV1beta1ExternalBrowser", +"description": "Optional. Optional browser on the connecting client that the task's browser actions run on, instead of a browser in a server-managed sandbox. Supported with `environment`, `no_environment`, or no `environment_config`." +}, +"externalMount": { +"$ref": "GoogleCloudAiplatformV1beta1ExternalMount", +"description": "Optional. Optional directory on the connecting client mounted into the task's server-managed environment. File operations under its `mount_path` are relayed to the client. Supported only when `environment` is set." +}, +"localEnvironment": { +"$ref": "GenaiLocalEnvironmentConfig", +"description": "Optional. Optional client-side (\"local\") environment: the agent's built-in filesystem/shell operations are yielded to the connecting client (e.g. the gogo desktop client) to execute locally, instead of running in a server-managed sandbox. Mirrors Interaction.local_environment and is mutually exclusive with `environment`. (Independent of any client-declared function tools, which are always executed on the client regardless of this field.)" +}, +"memoryConfig": { +"$ref": "GoogleCloudAiplatformV1beta1TaskMemoryConfig", +"description": "Optional. Memory settings for this task." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ConversationTurn": { "description": "Represents a single turn/invocation in the conversation.", "id": "GoogleCloudAiplatformV1beta1ConversationTurn", @@ -62011,6 +67716,21 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1CronSchedule": { +"description": "A recurring cron trigger.", +"id": "GoogleCloudAiplatformV1beta1CronSchedule", +"properties": { +"expression": { +"description": "Required. The cron expression, e.g. \"0 8 * * MON-FRI\". Any field may also be `?` or `?/step` to let the service pick the value, so that schedules do not all fire at the same moment: `?` picks one value in the field's range, and `?/step` picks a start within the first step and repeats every step from there. The pick is made once, when the schedule is created or updated, and the expression is stored with the picked values in place of `?` (e.g. \"?/30 * * * *\" is stored as \"17-59/30 * * * *\"); sending a `?` again picks new values.", +"type": "string" +}, +"timeZone": { +"description": "Optional. Optional IANA time zone name, e.g. \"America/Los_Angeles\". Defaults to UTC.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1CsvDestination": { "description": "The storage details for CSV output content.", "id": "GoogleCloudAiplatformV1beta1CsvDestination", @@ -62061,6 +67781,178 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1CustomDetectorConfig": { +"description": "The detection logic of a customer-defined detector: deterministic Filters, an LLM-evaluated AnomalyAnalysis, or both. At least one must be set.", +"id": "GoogleCloudAiplatformV1beta1CustomDetectorConfig", +"properties": { +"anomalyAnalysis": { +"$ref": "GoogleCloudAiplatformV1beta1CustomDetectorConfigAnomalyAnalysis", +"description": "Optional. The anomaly criterion evaluated by an LLM against the sessions the filters admitted, or against every session when no filter is set." +}, +"filterCombination": { +"description": "Optional. How the entries in `filters` combine, as a join over their 1-based positions, for example \"1 AND 2\" or \"1 OR 2 OR 3\". The operators are uppercase \"AND\" and \"OR\", and each level uses only one of them. To combine both, put one inside parentheses, as in \"(1 AND 2) OR 3\". Parentheses nest at most one level, and every filter must appear. Required when `filters` holds more than one entry, and validated whenever set.", +"type": "string" +}, +"filters": { +"description": "Optional. Deterministic predicates a session must satisfy. At most five.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CustomDetectorConfigAnomalyAnalysis": { +"description": "A customer-authored description of the anomaly to detect, evaluated by an LLM.", +"id": "GoogleCloudAiplatformV1beta1CustomDetectorConfigAnomalyAnalysis", +"properties": { +"prompt": { +"description": "Required. What the detector should flag, written as a description of the anomaly rather than as instructions to the model. Evaluated against each session's transcript.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CustomDetectorConfigFilter": { +"description": "One deterministic predicate over a session: `(field, operation, value)`. A config may carry several; `CustomDetectorConfig.filter_combination` says how they join.", +"id": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilter", +"properties": { +"dataType": { +"description": "Optional. How to interpret the field and value. Required for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, whose underlying values are untyped; must be unset for every other field type, whose type the field itself determines.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"BOOL" +], +"enumDescriptions": [ +"Unspecified data type.", +"Compare as strings.", +"Compare as numbers.", +"Compare as booleans." +], +"type": "string" +}, +"field": { +"$ref": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterField", +"description": "Required. What the filter observes." +}, +"operation": { +"$ref": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterOperation", +"description": "Required. How `field` is compared against `value`." +}, +"value": { +"$ref": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterValue", +"description": "Required. The literal compared against `field`." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterField": { +"description": "What the filter observes.", +"id": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterField", +"properties": { +"qualifiers": { +"$ref": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterFieldQualifiers", +"description": "Optional. Additional context for `type`." +}, +"type": { +"description": "Required. The observable property.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER_PROMPT_TEXT", +"USER_PROMPT_LENGTH_CHARS", +"USER_PROMPT_TURN_COUNT", +"LLM_RESPONSE_TEXT", +"LLM_RESPONSE_LENGTH_CHARS", +"LLM_RESPONSE_TURN_COUNT", +"TOOL_CALL_COUNT", +"TOOL_CALL_ARGS", +"TOOL_CALL_RESPONSE", +"ERROR_COUNT", +"AGENT_ID" +], +"enumDescriptions": [ +"Unspecified field type.", +"The text of a user prompt in the session.", +"The length in characters of a user prompt in the session.", +"The number of user-prompt turns in the session.", +"The text of a final model response in the session.", +"The length in characters of a final model response in the session.", +"The number of model-response turns in the session.", +"The number of calls to a given tool in the session. Requires `qualifiers.tool_name`.", +"The value of a named argument to a named tool call. Requires `qualifiers.tool_name` and `qualifiers.tool_parameter_name`, and `data_type`.", +"The response returned by a named tool call. Requires `qualifiers.tool_name` and `data_type`.", +"The number of errors recorded anywhere in the session.", +"The agent the session ran against, as the bare MonitoredAgent id rather than its full resource name." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterFieldQualifiers": { +"description": "Additional context for a field type. One shared message covers every type; which members are required, optional, or rejected depends on `type`, and is validated on write.", +"id": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterFieldQualifiers", +"properties": { +"toolName": { +"description": "Optional. The tool this field refers to. Required for TOOL_CALL_COUNT, TOOL_CALL_ARGS and TOOL_CALL_RESPONSE; enforced on write.", +"type": "string" +}, +"toolParameterName": { +"description": "Optional. The tool parameter whose argument this field refers to. Required for TOOL_CALL_ARGS; enforced on write.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterOperation": { +"description": "How the field is compared against the value.", +"id": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterOperation", +"properties": { +"type": { +"description": "Required. The comparison to apply.", +"enum": [ +"TYPE_UNSPECIFIED", +"CONTAINS", +"NOT_CONTAINS", +"MATCH_REGEX", +"GREATER_THAN", +"GREATER_THAN_OR_EQUALS", +"LESS_THAN", +"LESS_THAN_OR_EQUALS", +"EQUALS", +"NOT_EQUALS" +], +"enumDescriptions": [ +"Unspecified operation.", +"The field contains the value as a substring.", +"The field does not contain the value as a substring.", +"The field matches the value interpreted as an RE2 regular expression.", +"The field is greater than the value.", +"The field is greater than or equal to the value.", +"The field is less than the value.", +"The field is less than or equal to the value.", +"The field equals the value.", +"The field does not equal the value." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterValue": { +"description": "The literal compared against the field.", +"id": "GoogleCloudAiplatformV1beta1CustomDetectorConfigFilterValue", +"properties": { +"literal": { +"description": "Required. The literal, always carried as a string. `Field.Type` determines how it is interpreted, except for TOOL_CALL_ARGS and TOOL_CALL_RESPONSE, where `Filter.data_type` does.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1CustomJob": { "description": "Represents a job that runs custom workloads such as a Docker container or a Python package. A CustomJob can have multiple worker pools and each worker pool can have its own machine and input spec. A CustomJob will be cleaned up once the job enters terminal state (failed or succeeded).", "id": "GoogleCloudAiplatformV1beta1CustomJob", @@ -62271,6 +68163,35 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1DataAgentConfig": { +"description": "Config for scraping a Gemini Data Analytics data agent.", +"id": "GoogleCloudAiplatformV1beta1DataAgentConfig", +"properties": { +"dataAgent": { +"description": "Required. The resource name of the Gemini Data Analytics data agent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent}`. For example: `projects/123/locations/us-central1/dataAgents/my-agent`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DataConnectorConfig": { +"description": "Configuration for Gemini Enterprise MCP data connectors scoped to this task.", +"id": "GoogleCloudAiplatformV1beta1DataConnectorConfig", +"properties": { +"dataConnectors": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Map of active connector short name / data_source (e.g., \"jira\", \"servicenow\") to its full DataConnector resource name (e.g., \"projects/{project}/locations/{location}/collections/{collection}/dataConnector\"). If multiple connectors share a data_source, the first configured connector for that data_source is retained.", +"type": "object" +}, +"engineResourceName": { +"description": "Optional. Full resource name of the Discovery Engine Engine (e.g., \"projects/{project}/locations/{location}/collections/{collection}/engines/{engine}\").", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1DataItem": { "description": "A piece of data in a Dataset. Could be an image, a video, a document or plain text.", "id": "GoogleCloudAiplatformV1beta1DataItem", @@ -63036,6 +68957,27 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1DeleteTaskArtifactRequest": { +"description": "Request for TaskService.DeleteTaskArtifact.", +"id": "GoogleCloudAiplatformV1beta1DeleteTaskArtifactRequest", +"properties": { +"allowMissing": { +"description": "Optional. If set to true, and the file is not found, the request will succeed without error.", +"type": "boolean" +}, +"path": { +"description": "Required. Absolute path of the file to delete, e.g. \"/workspace/userdata/input.csv\". Must be under \"/workspace/userdata/\", at most 1024 characters, and not contain a \"..\" segment.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1DeleteTaskArtifactResponse": { +"description": "Response for TaskService.DeleteTaskArtifact.", +"id": "GoogleCloudAiplatformV1beta1DeleteTaskArtifactResponse", +"properties": {}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1DeployIndexOperationMetadata": { "description": "Runtime operation information for IndexEndpointService.DeployIndex.", "id": "GoogleCloudAiplatformV1beta1DeployIndexOperationMetadata", @@ -63236,6 +69178,10 @@ false "description": "Optional. If true, enable the QMT fast tryout feature for this model if possible.", "type": "boolean" }, +"serviceAccount": { +"description": "Optional. The service account that the container of the deployed model runs as. Specify the email address of the service account. If not specified, the container runs as a service account that has no access to the resource project. Users deploying the model must have the `iam.serviceAccounts.actAs` permission on this service account.", +"type": "string" +}, "systemLabels": { "additionalProperties": { "type": "string" @@ -63679,6 +69625,60 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1Detector": { +"description": "Represents a security rule or LLM-as-a-judge entity that scans agent interactions for anomalies.", +"id": "GoogleCloudAiplatformV1beta1Detector", +"properties": { +"customDetectorConfig": { +"$ref": "GoogleCloudAiplatformV1beta1CustomDetectorConfig", +"description": "Optional. The detection logic for a customer-defined detector. Unset on Google-managed detectors, whose logic is not customer visible." +}, +"description": { +"description": "Optional. A description of what the detector scans for.", +"type": "string" +}, +"displayName": { +"description": "Optional. The human-readable name of the detector. Example: \"Large refund issued\".", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the detector. Format: `projects/{project}/locations/{location}/detectors/{detector}`", +"type": "string" +}, +"revisionCreateTime": { +"description": "Output only. When this revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. The revision id of the configuration in this response.", +"readOnly": true, +"type": "string" +}, +"selectedRevisionId": { +"description": "Output only. The revision that runs when this detector is ACTIVE. Set whatever the state, because the selected revision is kept through a disable. May differ from `revision_id`: an edit does not change the selected revision, so `revision_id != selected_revision_id` means this detector is holding an edit that enabling it would not apply.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the detector. Only an ACTIVE detector scans.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DISABLED" +], +"enumDescriptions": [ +"Unspecified state.", +"The detector is active and scanning.", +"The detector is turned off." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1DirectPredictRequest": { "description": "Request message for PredictionService.DirectPredict.", "id": "GoogleCloudAiplatformV1beta1DirectPredictRequest", @@ -63749,6 +69749,12 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1DisableDetectorRequest": { +"description": "Request message for AgentAnomalyDetectionService.DisableDetector.", +"id": "GoogleCloudAiplatformV1beta1DisableDetectorRequest", +"properties": {}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1DisableMonitoredAgentRequest": { "description": "Request message for AgentAnomalyDetectionService.DisableMonitoredAgent.", "id": "GoogleCloudAiplatformV1beta1DisableMonitoredAgentRequest", @@ -64130,6 +70136,17 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1EnableDetectorRequest": { +"description": "Request message for AgentAnomalyDetectionService.EnableDetector.", +"id": "GoogleCloudAiplatformV1beta1EnableDetectorRequest", +"properties": { +"revisionId": { +"description": "Optional. The revision to run. Unset enables the detector's latest revision, which is the common case: publish what I just wrote.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1EnableModelRequest": { "description": "Request message for ModelGardenService.EnableModel.", "id": "GoogleCloudAiplatformV1beta1EnableModelRequest", @@ -65374,12 +71391,14 @@ false "enum": [ "EVALUATION_ITEM_TYPE_UNSPECIFIED", "REQUEST", -"RESULT" +"RESULT", +"HARBOR_TASK" ], "enumDescriptions": [ "The default value. This value is unused.", "The EvaluationItem is a request to evaluate.", -"The EvaluationItem is the result of evaluation." +"The EvaluationItem is the result of evaluation.", +"The EvaluationItem is a Harbor task. Created only by ImportEvaluationSet from a Harbor dataset." ], "type": "string" }, @@ -65396,6 +71415,11 @@ false "description": "The Cloud Storage object where the request or response is stored.", "type": "string" }, +"harborTask": { +"$ref": "GoogleCloudAiplatformV1beta1HarborTask", +"description": "Output only. A Harbor task. Populated when evaluation_item_type == HARBOR_TASK. HARBOR_TASK items are created by ImportEvaluationSet and can't be created or updated directly.", +"readOnly": true +}, "labels": { "additionalProperties": { "type": "string" @@ -65414,6 +71438,28 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1EvaluationItemRevision": { +"description": "An immutable snapshot of an EvaluationItem. Item revisions are created by CreateEvaluationSetRevision and cannot be updated. An item revision is deleted when no EvaluationSetRevision references it anymore.", +"id": "GoogleCloudAiplatformV1beta1EvaluationItemRevision", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the EvaluationItemRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`", +"type": "string" +}, +"snapshot": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationItem", +"description": "Output only. A copy of the EvaluationItem at the time the revision was created, including its payload. `snapshot.name` is the name of the source EvaluationItem.", +"readOnly": true +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1EvaluationMetric": { "description": "EvaluationMetric is a resource that represents a reusable metric configuration.", "id": "GoogleCloudAiplatformV1beta1EvaluationMetric", @@ -65590,6 +71636,11 @@ false "description": "Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item}", "type": "string" }, +"evaluationRequestRevision": { +"description": "Output only. The EvaluationItemRevision that was evaluated, set when the evaluation run's data source is an EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}/revisions/{revision}`.", +"readOnly": true, +"type": "string" +}, "evaluationRun": { "description": "Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}", "type": "string" @@ -65724,6 +71775,10 @@ false "description": "Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", "type": "string" }, +"serviceAccount": { +"description": "Optional. The service account to run the evaluation run as. If set, the run uses this service account to access Google Cloud resources. Access is limited to the IAM permissions that you grant to the service account. Must be provided if an inference config sets `harbor_run_config`, `data_agent_config`. If no inference config requires this field, setting it returns an error. The caller must have the `iam.serviceAccounts.actAs` permission on this service account, and the project's [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) must have the `roles/iam.serviceAccountTokenCreator` role on it.", +"type": "string" +}, "state": { "description": "Output only. The state of the evaluation run.", "enum": [ @@ -65765,6 +71820,10 @@ false "evaluationSet": { "description": "The EvaluationSet resource name. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", "type": "string" +}, +"evaluationSetRevision": { +"description": "The EvaluationSetRevision resource name. The run evaluates the item revisions frozen in the revision, so later changes to the EvaluationSet and its EvaluationItems do not affect it. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}`", +"type": "string" } }, "type": "object" @@ -65898,6 +71957,10 @@ false "$ref": "GoogleCloudAiplatformV1beta1GenerationConfig", "description": "Optional. Generation config." }, +"harborRunConfig": { +"$ref": "GoogleCloudAiplatformV1beta1HarborRunConfig", +"description": "Optional. Config for running an agent on tasks in Harbor format in a sandboxed batch environment. Its presence routes the run to the Harbor batch inference path; which datasets and tasks run is carried by the `harbor_task` of each evaluation item. If this field is set, the evaluation run must set `service_account`. The Harbor task run in sandbox will use the service account." +}, "model": { "description": "Optional. The fully qualified name of the publisher model or endpoint to use. Anthropic and Llama third-party models are also supported through Model Garden. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Third-party model formats: `projects/{project}/locations/{location}/publishers/anthropic/models/{model}` or `projects/{project}/locations/{location}/publishers/llama/models/{model}` Endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "type": "string" @@ -65910,6 +71973,10 @@ false "promptTemplate": { "$ref": "GoogleCloudAiplatformV1beta1EvaluationRunEvaluationConfigPromptTemplate", "description": "Optional. The prompt template used for inference. The values for variables in the prompt template are defined in EvaluationItem.EvaluationPrompt.PromptTemplateData.values. If not specified, the prompt template in the EvaluationConfig will be used." +}, +"rawAgentTrajectoryDestination": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfigRawAgentTrajectoryDestination", +"description": "Optional. The destination for the raw, unconverted agent trajectory data the run produces." } }, "type": "object" @@ -65922,6 +71989,10 @@ false "description": "Optional. The resource name of the Agent Engine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine} For example: projects/123/locations/us-central1/reasoningEngines/456", "type": "string" }, +"dataAgentConfig": { +"$ref": "GoogleCloudAiplatformV1beta1DataAgentConfig", +"description": "Optional. Config for scraping a Gemini Data Analytics data agent. The scraping service runs the agent via the DataChatService Chat API and returns the resulting trajectory for evaluation." +}, "discoveryEngineAssistantConfig": { "$ref": "GoogleCloudAiplatformV1beta1DiscoveryEngineAssistantConfig", "description": "Optional. Config for scraping a Discovery Engine Assistant. The scraping service runs the assistant via the Discovery Engine AssistantService and returns the resulting trajectory for evaluation." @@ -65979,6 +72050,21 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfigRawAgentTrajectoryDestination": { +"description": "The destination for the raw, unconverted agent trace data the run produces.", +"id": "GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfigRawAgentTrajectoryDestination", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1beta1BigQueryDestination", +"description": "BigQuery destination for the raw agent trace data." +}, +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "Cloud Storage destination for the raw agent trace data." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfigSessionInput": { "description": "Session input to run an Agent.", "id": "GoogleCloudAiplatformV1beta1EvaluationRunInferenceConfigSessionInput", @@ -66251,6 +72337,11 @@ false }, "type": "array" }, +"harborDataset": { +"$ref": "GoogleCloudAiplatformV1beta1HarborDataset", +"description": "Output only. Set when the items were imported from a Harbor dataset.", +"readOnly": true +}, "metadata": { "description": "Optional. Metadata for the EvaluationSet.", "type": "any" @@ -66268,6 +72359,28 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1EvaluationSetRevision": { +"description": "An immutable snapshot of an EvaluationSet and its EvaluationItems. Evaluation runs on a revision are reproducible because the revision and its item revisions cannot change.", +"id": "GoogleCloudAiplatformV1beta1EvaluationSetRevision", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the EvaluationSetRevision. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}/revisions/{revision}`", +"type": "string" +}, +"snapshot": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSet", +"description": "Output only. A copy of the EvaluationSet at the time the revision was created. Only `display_name`, `metadata` and `labels` are copied from the source set; `agent_configs` is not. `snapshot.name` is the name of the source EvaluationSet, and `snapshot.evaluation_items` contains EvaluationItemRevision resource names instead of EvaluationItem resource names.", +"readOnly": true +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1Event": { "description": "An edge describing the relationship between an Artifact and an Execution in a lineage graph.", "id": "GoogleCloudAiplatformV1beta1Event", @@ -66404,6 +72517,17 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1EventSchedule": { +"description": "An event-driven trigger.", +"id": "GoogleCloudAiplatformV1beta1EventSchedule", +"properties": { +"eventSource": { +"description": "Required. Identifier of a registered event source / webhook subscription whose events fire the task.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ExactMatchInput": { "description": "Input for exact match metric.", "id": "GoogleCloudAiplatformV1beta1ExactMatchInput", @@ -67892,6 +74016,27 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1ExternalBrowser": { +"description": "A browser on the connecting client (e.g. the user's own, signed-in Chrome) that a task's browser actions run on. The actions are relayed to the client, so the client must stay connected while they happen. The task's other operations (files, commands) still run where `environment_config` puts them.", +"id": "GoogleCloudAiplatformV1beta1ExternalBrowser", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ExternalMount": { +"description": "A directory on the connecting client (e.g. the user's local machine) mounted into a task's server-managed environment.", +"id": "GoogleCloudAiplatformV1beta1ExternalMount", +"properties": { +"mountPath": { +"description": "Optional. Absolute path in the environment where the directory is mounted. Empty means `/workspace/desktop`. When set, must be `/workspace/{name}`, where `{name}` is 1-63 lowercase letters, digits, `_` or `-`, starts with a letter or digit, and is not one of the names other mounts own under `/workspace`: `skills`, `core`, `memory`, `inputs`, `artifacts`, `deliverables` or `userdata`.", +"type": "string" +}, +"sourcePath": { +"description": "Optional. Absolute path of the folder on the connecting client (the mount source). Interpreted only by the client; the server never resolves it.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1Fact": { "description": "The fact used in grounding.", "id": "GoogleCloudAiplatformV1beta1Fact", @@ -71658,6 +77803,52 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1Goal": { +"description": "A goal is an objective a Task works toward. A Task may pursue several concurrent goals . A goal could have one or more Verifiers as independent judges to validate the completion of it.", +"id": "GoogleCloudAiplatformV1beta1Goal", +"properties": { +"displayName": { +"description": "Optional. A human-readable title specifiable to the goal.", +"type": "string" +}, +"id": { +"description": "Output only. Server-assigned identifier, stable across the goal's lifetime.", +"readOnly": true, +"type": "string" +}, +"spec": { +"description": "Required. The goal's objective. This is the \"goal\" and what the agent should pursue.", +"type": "string" +}, +"state": { +"description": "Output only. The goal's state.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"SUCCEEDED", +"FAILED", +"DROPPED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"The agent is actively working toward the goal.", +"The goal is achieved: all required Verifiers have passed.", +"The goal failed to achieve its objective: at least one required Verifier failed.", +"The client dropped the goal. It stays in `Task.goals` so goal ids and verifier indices stay stable, and it is no longer pursued or judged." +], +"readOnly": true, +"type": "string" +}, +"verifiers": { +"description": "Optional. The verifier(s) that judge whether this goal is achieved. When all `required` verifiers pass, the goal will be marked `SUCCEEDED` in its `state`. If empty, the work is still checked against criteria written from the goal's `spec`, but the goal stays `ACTIVE`; add a required `auto_verification` to have it complete.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Verifier" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1GoogleDriveSource": { "description": "The Google Drive location for the input content.", "id": "GoogleCloudAiplatformV1beta1GoogleDriveSource", @@ -72111,6 +78302,81 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1HarborDataset": { +"description": "Metadata for a Harbor dataset.", +"id": "GoogleCloudAiplatformV1beta1HarborDataset", +"properties": { +"gcsUri": { +"description": "Optional. The GCS folder containing the Harbor dataset, e.g. \"gs://BUCKET/PATH\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1HarborRunConfig": { +"description": "Config for running an agent (a coding or custom agent) on a dataset in Harbor format in a sandboxed batch environment. Run metrics (`evaluation_config.metrics`) are optional for runs over Harbor tasks. Each metric scores a task's agent trajectory; the prompt and the response are empty. Predefined metrics that build their rubrics from the trajectory, such as `multi_turn_task_success_v1`, `multi_turn_trajectory_quality_v1` and `multi_turn_tool_use_quality_v1`, are supported. `evaluation_config.rubric_configs`, rubric-based metrics, and LLM-based metrics with a rubrics source are rejected. Metrics that need a text response or a reference, such as computation-based metrics, are accepted but fail on each task.", +"id": "GoogleCloudAiplatformV1beta1HarborRunConfig", +"properties": { +"batchJobConfig": { +"$ref": "GoogleCloudAiplatformV1beta1HarborRunConfigBatchJobConfig", +"description": "Optional. Configuration for the VM." +}, +"codingAgent": { +"$ref": "GoogleCloudAiplatformV1beta1HarborRunConfigCodingAgent", +"description": "The coding agent to run." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1HarborRunConfigBatchJobConfig": { +"description": "Configuration for the VM that runs the Harbor tasks.", +"id": "GoogleCloudAiplatformV1beta1HarborRunConfigBatchJobConfig", +"properties": { +"networkSpec": { +"$ref": "GoogleCloudAiplatformV1beta1NetworkSpec", +"description": "Optional. Network settings for the VM. If unset, the VM uses the project's default network with an external IP address, so it can reach Google APIs and the internet. To turn off internet access, set a network and a subnetwork that has Private Google Access, so that the VM can still reach Cloud Storage, Artifact Registry, and Vertex AI." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1HarborRunConfigCodingAgent": { +"description": "A coding agent to run against the Harbor dataset.", +"id": "GoogleCloudAiplatformV1beta1HarborRunConfigCodingAgent", +"properties": { +"agent": { +"description": "The coding agent to run, e.g. \"antigravity-cli\".", +"type": "string" +}, +"agentModel": { +"description": "Optional. The Vertex AI model the coding agent calls. Only Gemini based Vertex AI models are supported. Accepts the full Vertex AI model resource name of the form projects/{project}/locations/{location}/publishers/{publisher}/models/{model}", +"type": "string" +}, +"agentModelConfig": { +"$ref": "GoogleCloudAiplatformV1beta1GenerationConfig", +"description": "Optional. Generation settings of the model that the coding agent calls. If you do not set this field, the coding agent uses its default settings. Only `thinking_config.thinking_level` is supported. The valid levels are `MINIMAL`, `LOW`, `MEDIUM` and `HIGH`. `antigravity-cli` does not accept a level for Gemini 2.5 models. It accepts `MINIMAL` and `MEDIUM` only for Gemini Flash models. If you set a level that is not valid for the coding agent and the model, inference fails for the candidate." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1HarborTask": { +"description": "Represents a Harbor task.", +"id": "GoogleCloudAiplatformV1beta1HarborTask", +"properties": { +"dataset": { +"description": "Required. Harbor dataset name this task belongs to, in `org/name` format without a version, e.g. \"my-org/swebench-verified\".", +"type": "string" +}, +"gcsUri": { +"description": "The GCS folder containing the Harbor task, e.g. \"gs://BUCKET/PATH\".", +"type": "string" +}, +"task": { +"description": "Required. The Harbor task name, e.g. \"django__django-15098\".", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1HyperparameterTuningJob": { "description": "Represents a HyperparameterTuningJob. A HyperparameterTuningJob has a Study specification and multiple CustomJobs with identical CustomJob specification.", "id": "GoogleCloudAiplatformV1beta1HyperparameterTuningJob", @@ -72491,12 +78757,28 @@ false }, "gcsDestination": { "$ref": "GoogleCloudAiplatformV1beta1GcsDestination", -"description": "Required. The Cloud Storage location where the resulting EvaluationItem payloads will be stored." +"description": "Optional. The Cloud Storage location where the resulting EvaluationItem payloads will be stored. Required for every source except `harbor_dataset`, which must not set it." }, "gcsSource": { "$ref": "GoogleCloudAiplatformV1beta1ImportEvaluationSetRequestGcsSource", "description": "Google Cloud Storage location." }, +"harborDataset": { +"$ref": "GoogleCloudAiplatformV1beta1HarborDataset", +"description": "A Harbor dataset source. `gcs_destination` must not be set." +}, +"importMode": { +"description": "Optional. If set, `evaluation_set.name` selects an existing EvaluationSet to import into, and its other fields are ignored.", +"enum": [ +"IMPORT_MODE_UNSPECIFIED", +"OVERWRITE" +], +"enumDescriptions": [ +"Creates a new EvaluationSet. `evaluation_set.name` is ignored.", +"Replaces the items of the EvaluationSet named by `evaluation_set.name`. Supported only for `harbor_dataset`, into a set that was imported from a Harbor dataset." +], +"type": "string" +}, "inlineSource": { "$ref": "GoogleCloudAiplatformV1beta1ImportEvaluationSetRequestInlineSource", "description": "Inline source for small payloads (< 4MB)." @@ -73796,6 +80078,28 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1KnowledgeCatalogConfig": { +"description": "Configuration for enterprise Knowledge Catalog metadata discovery.", +"id": "GoogleCloudAiplatformV1beta1KnowledgeCatalogConfig", +"properties": { +"enabledConnectors": { +"description": "Optional. Filter list of system/connector technology names (e.g., \"bigquery\", \"looker\", \"spanner\"). If empty, all indexed catalog connectors are searched.", +"items": { +"type": "string" +}, +"type": "array" +}, +"knowledgeCatalogEnabled": { +"description": "Optional. If true, enables searching enterprise metadata in Google Cloud Knowledge Catalog.", +"type": "boolean" +}, +"projectId": { +"description": "Optional. GCP project ID to scope Knowledge Catalog searches.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1LLMBasedMetricSpec": { "description": "Specification for an LLM based metric.", "id": "GoogleCloudAiplatformV1beta1LLMBasedMetricSpec", @@ -73878,6 +80182,78 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1LinkJsonMetadata": { +"description": "A file, folder, site or other item in a first-party or third-party store, as its `.link.json` file in the workspace records it. A link file is this message as proto JSON with the field names below, e.g. `{\"source_artifact_id\":\"1AbC\",\"provider\":\"GOOGLE_DRIVE\",\"artifact_type\": \"GOOGLE_DRIVE_FILE\",\"uri\":\"https://drive.google.com/file/d/1AbC/view\"}`. A link file may hold fields this message does not have; they are ignored. `path` and `update_time` are not part of a link file: the service sets both on a link it lists, from the link file it read the link from, and `AddArtifact` clears both from a request.", +"id": "GoogleCloudAiplatformV1beta1LinkJsonMetadata", +"properties": { +"artifactType": { +"description": "Optional. The provider-specific kind of entity, in upper snake case. Known values are GOOGLE_DRIVE_DOC, GOOGLE_DRIVE_SHEET, GOOGLE_DRIVE_SLIDES, GOOGLE_DRIVE_FILE, GOOGLE_DRIVE_FOLDER, ONE_DRIVE_FILE, ONE_DRIVE_FOLDER, SHAREPOINT_FILE, SHAREPOINT_FOLDER and SHAREPOINT_SITE; a connector may use others. Must match `A-Z*`. At most 64 characters.", +"type": "string" +}, +"mimeType": { +"description": "Optional. The entity's media type, e.g. \"application/vnd.ms-excel\". Empty for an entity that has none, such as a SharePoint site.", +"type": "string" +}, +"path": { +"description": "Output only. Absolute path of the link file in the workspace, e.g. `/workspace/userdata/{artifact_id}.link.json` in a task or `/workspace/project/{artifact_id}.link.json` in a collaborative project. Always under `/workspace` and never contains `..`. Set by `ArtifactService.ListWorkspaceArtifacts`. `ArtifactService.AddArtifact` clears it from a request, so it is never written to the link file.", +"readOnly": true, +"type": "string" +}, +"provider": { +"description": "Required. The store that holds the entity.", +"enum": [ +"PROVIDER_UNSPECIFIED", +"GOOGLE_DRIVE", +"ONEDRIVE", +"SHAREPOINT", +"OUTLOOK", +"TEAMS", +"GMAIL", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"CONFLUENCE", +"JIRA", +"GITHUB", +"SALESFORCE", +"SERVICENOW", +"SLACK" +], +"enumDescriptions": [ +"Not specified.", +"Google Drive.", +"Microsoft OneDrive.", +"Microsoft SharePoint.", +"Microsoft Outlook mail and calendar.", +"Microsoft Teams.", +"Gmail.", +"Google Calendar.", +"Google Chat.", +"Atlassian Confluence.", +"Atlassian Jira.", +"GitHub.", +"Salesforce.", +"ServiceNow.", +"Slack." +], +"type": "string" +}, +"sourceArtifactId": { +"description": "Optional. The entity's ID in its store, unique within `provider`: a Drive file ID, a Jira issue ID, or, for OneDrive and SharePoint, whose item IDs are unique only within a drive, the drive ID and the drive item ID, e.g. \"{drive-id}/{item-id}\". At most 1024 characters. With `provider`, it identifies the entity: it names the link file and is the idempotency key for `AddArtifact`. When it is unset, `uri` takes its place, so two URIs of one entity, such as a Drive file's /view and /edit URIs, are two entities.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Last modification time of the link file at `path`, as `ArtifactService.ListWorkspaceArtifacts` read it. Not part of a link file. It is what tells two listings of one entity apart after the entity was updated in place. Such an update leaves every other field alone -- the entity keeps its `uri` and its `source_artifact_id`, so the link file keeps its name -- and it leaves the link file's bytes alone too, because a link file records WHICH entity is linked and not what state that entity is in. The time the file was rewritten is the only thing that moves.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Required. URI of the entity, e.g. \"https://drive.google.com/file/d/FILE_ID/view\". At most 2048 characters.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ListA2ATaskRecordEventsResponse": { "description": "Response message for A2ATaskRecordService.ListA2ATaskRecordEvents.", "id": "GoogleCloudAiplatformV1beta1ListA2ATaskRecordEventsResponse", @@ -74141,6 +80517,24 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ListCollaborativeProjectsResponse": { +"description": "Response message for CollaborativeProjectService.ListCollaborativeProjects.", +"id": "GoogleCloudAiplatformV1beta1ListCollaborativeProjectsResponse", +"properties": { +"collaborativeProjects": { +"description": "The caller's projects, most recently created first.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1CollaborativeProject" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token for the next page. Empty if there are no more pages.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ListContextsResponse": { "description": "Response message for MetadataService.ListContexts.", "id": "GoogleCloudAiplatformV1beta1ListContextsResponse", @@ -74267,6 +80661,42 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ListDetectorRevisionsResponse": { +"description": "Response message for AgentAnomalyDetectionService.ListDetectorRevisions.", +"id": "GoogleCloudAiplatformV1beta1ListDetectorRevisionsResponse", +"properties": { +"detectors": { +"description": "The detector as configured at each revision, newest first.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Detector" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListDetectorsResponse": { +"description": "Response message for AgentAnomalyDetectionService.ListDetectors.", +"id": "GoogleCloudAiplatformV1beta1ListDetectorsResponse", +"properties": { +"detectors": { +"description": "The list of detectors.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Detector" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ListEndpointsResponse": { "description": "Response message for EndpointService.ListEndpoints.", "id": "GoogleCloudAiplatformV1beta1ListEndpointsResponse", @@ -74375,6 +80805,24 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ListEvaluationSetRevisionsResponse": { +"description": "Response message for EvaluationManagementService.ListEvaluationSetRevisions.", +"id": "GoogleCloudAiplatformV1beta1ListEvaluationSetRevisionsResponse", +"properties": { +"evaluationSetRevisions": { +"description": "List of EvaluationSetRevisions in the requested page, newest first.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationSetRevision" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ListEvaluationSetsResponse": { "description": "Response message for EvaluationManagementService.ListEvaluationSets.", "id": "GoogleCloudAiplatformV1beta1ListEvaluationSetsResponse", @@ -75445,6 +81893,42 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ListTaskArtifactsResponse": { +"description": "Response for TaskService.ListTaskArtifacts.", +"id": "GoogleCloudAiplatformV1beta1ListTaskArtifactsResponse", +"properties": { +"artifacts": { +"description": "The entries under the requested directory.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TaskArtifactFile" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page; empty if there are no more pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ListTasksResponse": { +"description": "Response for TaskService.ListTasks.", +"id": "GoogleCloudAiplatformV1beta1ListTasksResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page; empty if there are no more pages.", +"type": "string" +}, +"tasks": { +"description": "The tasks from the requested collection.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Task" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ListTensorboardExperimentsResponse": { "description": "Response message for TensorboardService.ListTensorboardExperiments.", "id": "GoogleCloudAiplatformV1beta1ListTensorboardExperimentsResponse", @@ -75571,6 +82055,24 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ListWorkspaceArtifactsResponse": { +"description": "Response for ArtifactService.ListWorkspaceArtifacts.", +"id": "GoogleCloudAiplatformV1beta1ListWorkspaceArtifactsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page; empty if there are no more pages.", +"type": "string" +}, +"workspaceArtifacts": { +"description": "The artifacts under the requested directory that match `filter`. Each is a file or directory in the workspace, or a link to an entity in a first-party or third-party store, such as Google Drive or OneDrive.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1WorkspaceArtifact" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1LogprobsResult": { "description": "The log probabilities of the tokens generated by the model. This is useful for understanding the model's confidence in its predictions and for debugging. For example, you can use log probabilities to identify when the model is making a less confident prediction or to explore alternative responses that the model considered. A low log probability can also indicate that the model is \"hallucinating\" or generating factually incorrect information.", "id": "GoogleCloudAiplatformV1beta1LogprobsResult", @@ -76704,6 +83206,10 @@ false "rougeSpec": { "$ref": "GoogleCloudAiplatformV1beta1RougeSpec", "description": "Spec for rouge metric." +}, +"stepBasedLlmMetricSpec": { +"$ref": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpec", +"description": "Spec for a step-based LLM metric." } }, "type": "object" @@ -79972,6 +86478,17 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1NlCriteria": { +"description": "An automated natural-language criterion evaluated by an autorater/agent. Wrapped in a message (rather than a bare string) so evaluation parameters (e.g. model, temperature, language) can be added without a breaking change.", +"id": "GoogleCloudAiplatformV1beta1NlCriteria", +"properties": { +"criteria": { +"description": "Required. The rubric to evaluate (e.g. \"Every unread high-priority thread has a summary and a draft\").", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1NotebookEucConfig": { "description": "The euc configuration of NotebookRuntimeTemplate.", "id": "GoogleCloudAiplatformV1beta1NotebookEucConfig", @@ -80646,6 +87163,23 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1OneOffSchedule": { +"description": "A one-off (single) run trigger.", +"id": "GoogleCloudAiplatformV1beta1OneOffSchedule", +"properties": { +"delay": { +"description": "Relative delay before the single run.", +"format": "google-duration", +"type": "string" +}, +"runAt": { +"description": "Absolute time to run at (e.g. 8 PM today).", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1OnlineEvaluator": { "description": "An OnlineEvaluator contains the configuration for an Online Evaluation.", "id": "GoogleCloudAiplatformV1beta1OnlineEvaluator", @@ -81672,6 +88206,29 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1Persona": { +"description": "The persona (presentation) of an agent.", +"id": "GoogleCloudAiplatformV1beta1Persona", +"properties": { +"avatarUrl": { +"description": "Optional. The URL of the agent's avatar.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the agent.", +"type": "string" +}, +"personality": { +"description": "Optional. The personality style or behavioral trait of the agent.", +"type": "string" +}, +"role": { +"description": "Optional. The role of the agent (e.g., \"Financial Analyst\").", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1PipelineJob": { "description": "An instance of a machine learning PipelineJob.", "id": "GoogleCloudAiplatformV1beta1PipelineJob", @@ -82793,6 +89350,29 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1Principal": { +"description": "Represents an identity principal (user or service).", +"id": "GoogleCloudAiplatformV1beta1Principal", +"properties": { +"id": { +"description": "Optional. The system unique identifier of the principal.", +"type": "string" +}, +"type": { +"description": "Optional. The type of the principal.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER" +], +"enumDescriptions": [ +"Unspecified principal type.", +"A standard human user principal." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1PrivateEndpoints": { "description": "PrivateEndpoints proto is used to provide paths for users to send requests privately. To send request via private service access, use predict_http_uri, explain_http_uri or health_http_uri. To send request via private service connect, use service_attachment.", "id": "GoogleCloudAiplatformV1beta1PrivateEndpoints", @@ -85984,6 +92564,10 @@ false "$ref": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource", "description": "Source code is in a Git repository managed by Developer Connect." }, +"gitSource": { +"$ref": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpecGitSource", +"description": "Source code is in a public Git repository." +}, "imageSpec": { "$ref": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpecImageSpec", "description": "Optional. Configuration for building an image with custom config file." @@ -86059,6 +92643,25 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpecGitSource": { +"description": "Specifies source code to be fetched from a public Git repository.", +"id": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpecGitSource", +"properties": { +"dir": { +"description": "Optional. Directory, relative to the source root, in which to run the build.", +"type": "string" +}, +"revision": { +"description": "Required. The revision to fetch from the Git repository: a branch, a tag, or a full commit SHA. Abbreviated commit SHAs are not supported.", +"type": "string" +}, +"url": { +"description": "Required. The HTTPS URL of the public Git repository to clone.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpecImageSpec": { "description": "The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory.", "id": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecSourceCodeSpecImageSpec", @@ -86298,6 +92901,52 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1RecurringSchedule": { +"description": "Defines a recurring schedule logic for repeated task executions.", +"id": "GoogleCloudAiplatformV1beta1RecurringSchedule", +"properties": { +"cron": { +"$ref": "GoogleCloudAiplatformV1beta1CronSchedule", +"description": "The cron expression, e.g. \"0 8 * * MON-FRI\"." +}, +"endTime": { +"description": "Optional. Do not fire after this time.", +"format": "google-datetime", +"type": "string" +}, +"eventSource": { +"$ref": "GoogleCloudAiplatformV1beta1EventSchedule", +"description": "Identifier of a registered event source / webhook subscription whose events fire the task." +}, +"maxRunCount": { +"description": "Optional. Max total number of firings. Unset means unbounded.", +"format": "int64", +"type": "string" +}, +"overlapPolicy": { +"description": "Optional. What to do when a firing is due while a prior run is still active.", +"enum": [ +"OVERLAP_POLICY_UNSPECIFIED", +"SKIP", +"ALLOW_CONCURRENT", +"QUEUE" +], +"enumDescriptions": [ +"Default. Treated as SKIP.", +"Drop the new firing.", +"Run the new firing in parallel.", +"Enqueue the new firing behind the active run." +], +"type": "string" +}, +"startTime": { +"description": "Optional. Do not fire before this time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorer": { "description": "ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, users can use classification based autorater to calculate rewards based on the autorater parsed response against a reference answer.", "id": "GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorer", @@ -86726,6 +93375,27 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactRequest": { +"description": "Request for ArtifactService.RemoveWorkspaceArtifact.", +"id": "GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactRequest", +"properties": { +"allowMissing": { +"description": "Optional. If `true`, deleting a file that does not exist succeeds and changes nothing.", +"type": "boolean" +}, +"path": { +"description": "Required. Absolute path of the file to delete, e.g. `/workspace/userdata/input.csv`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace/`, at most 1024 characters, and not contain a `..` segment.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactResponse": { +"description": "Response for ArtifactService.RemoveWorkspaceArtifact.", +"id": "GoogleCloudAiplatformV1beta1RemoveWorkspaceArtifactResponse", +"properties": {}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ReplicatedVoiceConfig": { "description": "The configuration for the replicated voice to use.", "id": "GoogleCloudAiplatformV1beta1ReplicatedVoiceConfig", @@ -86922,6 +93592,32 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ResourceRef": { +"description": "A specific resource boundary restricting an agent's access to designated entities.", +"id": "GoogleCloudAiplatformV1beta1ResourceRef", +"properties": { +"recipients": { +"description": "Optional. Optional recipients email boundaries for communication tools. Example: [\"alice@gmail.com\", \"bob@google.com\"].", +"items": { +"type": "string" +}, +"type": "array" +}, +"resource": { +"description": "Optional. The specific resource identifier (e.g. thread_id, doc_id, repo name). Examples: * GMAIL_THREAD: \"18df123456789abc\" * GOOGLE_CHAT_THREAD: \"spaces/AAA/threads/BBB\" * GITHUB_REPOSITORY: \"GoogleCloudPlatform/kubectl\"", +"type": "string" +}, +"resourceType": { +"description": "Required. The type of resource being scoped.", +"type": "string" +}, +"selfCreated": { +"description": "Optional. For cold outreach / outbound threads when resource_id doesn't exist. Grants access ONLY to resources created by this task instance.", +"type": "boolean" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ResourceRuntime": { "description": "Persistent Cluster runtime information as output", "id": "GoogleCloudAiplatformV1beta1ResourceRuntime", @@ -87028,6 +93724,17 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ResumeTaskRequest": { +"description": "Request for TaskService.ResumeTask.", +"id": "GoogleCloudAiplatformV1beta1ResumeTaskRequest", +"properties": { +"additionalBudget": { +"$ref": "GoogleCloudAiplatformV1beta1Budget", +"description": "Optional. Additional budget to append to the task upon resumption. Used when resuming a task that was `SUSPENDED` due to reaching its budget limits. Not required (or desired) when resuming tasks suspended for other reasons (e.g., via an explicit `SuspendTask` call)." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1Retrieval": { "description": "Defines a retrieval tool that model can call to access external knowledge.", "id": "GoogleCloudAiplatformV1beta1Retrieval", @@ -88436,6 +95143,10 @@ false "useGkeTd": { "description": "Optional. Immutable. Whether to provision the SandboxEnvironmentTemplate via the GKE TD pool.", "type": "boolean" +}, +"warmPoolConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplateWarmPoolConfig", +"description": "Optional. The configuration for the warm pool of this template." } }, "type": "object" @@ -88606,6 +95317,32 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplateWarmPoolConfig": { +"description": "Configuration for a warm pool of sandbox instances.", +"id": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplateWarmPoolConfig", +"properties": { +"targetInstanceCount": { +"description": "Optional. The target number of pre-warmed instances to maintain.", +"format": "int32", +"type": "integer" +}, +"updateStrategy": { +"description": "Optional. The strategy for updating warm pool instances when the template is updated.", +"enum": [ +"UPDATE_STRATEGY_UNSPECIFIED", +"ON_REPLENISH", +"RECREATE" +], +"enumDescriptions": [ +"Unspecified update strategy. Defaults to ON_REPLENISH.", +"Existing warm pool pods are left running and new pods use the updated template as the warm pool is replenished.", +"Existing warm pool pods are recreated immediately with the updated template." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1SavedQuery": { "description": "A SavedQuery is a view of the dataset. It references a subset of annotations by problem type and filters.", "id": "GoogleCloudAiplatformV1beta1SavedQuery", @@ -91051,6 +97788,10 @@ false "description": "The model name.", "type": "string" }, +"outputConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessageOutputConfig", +"description": "Optional. Configuration for persisting output assets to external storage." +}, "safetySettings": { "description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", "items": { @@ -91076,6 +97817,17 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessageOutputConfig": { +"description": "Configuration for persisting output assets to external storage.", +"id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessageOutputConfig", +"properties": { +"outputUriPrefix": { +"description": "Optional. The Cloud Storage URI prefix or directory where generated media assets should be written (e.g. `gs://my-bucket/prefix/`).", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair": { "description": "A pair of sentences used as reference in source and target languages.", "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair", @@ -94049,6 +100801,28 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1SetDefaultNotebookRuntimeTemplateRequest": { +"description": "Request message for NotebookService.SetDefaultNotebookRuntimeTemplate.", +"id": "GoogleCloudAiplatformV1beta1SetDefaultNotebookRuntimeTemplateRequest", +"properties": { +"name": { +"description": "Required. The resource name of the NotebookRuntimeTemplate to set as default. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SetDefaultNotebookRuntimeTemplateResponse": { +"description": "Response message for NotebookService.SetDefaultNotebookRuntimeTemplate.", +"id": "GoogleCloudAiplatformV1beta1SetDefaultNotebookRuntimeTemplateResponse", +"properties": { +"notebookRuntimeTemplate": { +"$ref": "GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate", +"description": "The NotebookRuntimeTemplate that was set as default." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1SetPublisherModelConfigRequest": { "description": "Request message for EndpointService.SetPublisherModelConfig.", "id": "GoogleCloudAiplatformV1beta1SetPublisherModelConfigRequest", @@ -94545,6 +101319,100 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpec": { +"description": "Spec for a configurable multi-step LLM autorater. This spec runs an optional `AgentData` preprocessor followed by an ordered list of LLM steps, where each step can reference the outputs of earlier steps. To evaluate a multi-agent system at the system, main-agent, or sub-agent level, use one spec per level with a different `preprocessor`.", +"id": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpec", +"properties": { +"preprocessor": { +"$ref": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecAgentDataPreprocessor", +"description": "Optional. Preprocessing applied once to the `AgentData` trace before any step runs. If unset, every step sees the full trace." +}, +"steps": { +"description": "Required. Steps, run sequentially in the given order. A step can reference the output of an earlier step in its `prompt_template` as `{step..output}`. Each step calls the judge model `autorater_config.sampling_count` times, and its `response_parser_config` parses and aggregates the sampled responses into the step's output. `{step..output}` is that aggregated output, and the last step's output is the metric score.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecAgentDataPreprocessor": { +"description": "Preprocessing applied to an `AgentData` trace before any step runs.", +"id": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecAgentDataPreprocessor", +"properties": { +"codeConfig": { +"$ref": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecCodePreprocessorConfig", +"description": "Custom Python preprocessing, for logic that `filter_config` cannot express, such as extracting the turns of a specific agent." +}, +"filterConfig": { +"$ref": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecFilterPreprocessorConfig", +"description": "Config-driven filtering and compression." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecCodePreprocessorConfig": { +"description": "Custom Python preprocessing of an `AgentData` trace.", +"id": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecCodePreprocessorConfig", +"properties": { +"code": { +"description": "Required. Python code that defines a `preprocess` function. The function receives the instance's `AgentData` trace and returns the preprocessed trace as a dict with the same structure as `AgentData`, for example `{\"agents\": {...}, \"turns\": [...]}`. Every step then uses the returned trace instead of the original. Expected signature: def preprocess(agent_data: AgentData) -> dict[str, Any]:", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecFilterPreprocessorConfig": { +"description": "Config-driven preprocessing of an `AgentData` trace.", +"id": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecFilterPreprocessorConfig", +"properties": { +"traceCompressionConfig": { +"$ref": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecFilterPreprocessorConfigTraceCompressionConfig", +"description": "Optional. Compression to apply to the trace." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecFilterPreprocessorConfigTraceCompressionConfig": { +"description": "Compression for long traces.", +"id": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecFilterPreprocessorConfigTraceCompressionConfig", +"properties": { +"maxTurnCount": { +"description": "Optional. If set, keeps only the last `max_turn_count` turns. Must be positive.", +"format": "int32", +"type": "integer" +}, +"thoughtsFiltered": { +"description": "Optional. If `true`, removes events whose content parts are all thoughts (`Part.thought` is `true`). Events with tool calls or user-directed content are kept.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecStep": { +"description": "A single step in the pipeline. The step calls the judge model with its `prompt_template`, parses the responses with `response_parser_config`, and stores the result for later steps.", +"id": "GoogleCloudAiplatformV1beta1StepBasedLlmMetricSpecStep", +"properties": { +"autoraterConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AutoraterConfig", +"description": "Optional. Judge model configuration for this step. If unset, the request-level `autorater_config` is used." +}, +"promptTemplate": { +"description": "Required. Prompt template for this step. Variables are written in braces, for example `{response}`, and are filled from: - Fields of the `EvaluationInstance` by name, such as `{prompt}`, `{response}`, `{reference}`, and keys of `other_data`. `{agent_eval_data}` is the agent trace after `preprocessor` runs. - Outputs of earlier steps, as `{step..output}`.", +"type": "string" +}, +"responseParserConfig": { +"$ref": "GoogleCloudAiplatformV1beta1EvaluationParserConfig", +"description": "Optional. How to parse this step's LLM response." +}, +"stepId": { +"description": "Required. Identifier of this step, unique within the spec. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Later steps reference its output as `{step..output}`.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest": { "description": "Request message for NotebookService.StopNotebookRuntime.", "id": "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest", @@ -96063,6 +102931,21 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1SuspendTaskRequest": { +"description": "Request for TaskService.SuspendTask.", +"id": "GoogleCloudAiplatformV1beta1SuspendTaskRequest", +"properties": { +"operateOnSelf": { +"description": "Optional. Whether to skip cascade suspension to all descendant subtasks. Defaults to false (cascades to all descendants by default).", +"type": "boolean" +}, +"statusDetail": { +"$ref": "GoogleCloudAiplatformV1beta1TaskStatusDetail", +"description": "Optional. Machine-readable reason and detail for the suspension." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1SyncFeatureViewRequest": { "description": "Request message for FeatureOnlineStoreAdminService.SyncFeatureView.", "id": "GoogleCloudAiplatformV1beta1SyncFeatureViewRequest", @@ -96120,6 +103003,150 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1Task": { +"description": "A durable, addressable unit of work: scoped context + a goal with verifiers, assigned to an agent, and executed as a trajectory of steps. A Task is the resource users open, list, and manage. It is a light \"header\" (status, title, summary, outcome). The executed trajectory (steps) is not stored inline -- it is streamed live over CreateTaskBidiStream (fetched from the runtime), so a long-running/re-firing task carries no unbounded blob. Resource name (canonical): projects/{project}/locations/{location}/agents/{agent}/tasks/{task} Task is a sub-resource of Agent. A short alias projects/{project}/locations/{location}/tasks/{task} is also accepted (dual-path); the task id is unique within a project+location, so both forms resolve the same task. The short form is retained intentionally : * GetTask/ListTasks support both (dual) resource paths. * Subtasks store the short form in parent_task_id, so that reassignment of the parent task to another agent later will not require updating the subtasks, and the rendering of the task tree will not imply the agent relationships.", +"id": "GoogleCloudAiplatformV1beta1Task", +"properties": { +"assignedAgent": { +"description": "Output only. The resource name of the `Agent` this task is assigned to, in the format `projects/{project}/locations/{location}/agents/{agent}`. It is derived from the create parent; any value set by the client is ignored.", +"readOnly": true, +"type": "string" +}, +"assignedAgentIdentity": { +"description": "Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on single-task RPCs (`CreateTask`, `GetTask`, `UpdateTask`, `SuspendTask`, `ResumeTask`, `CancelTask`); not populated by `ListTasks`.", +"readOnly": true, +"type": "string" +}, +"budgetConsumptionDetail": { +"$ref": "GoogleCloudAiplatformV1beta1BudgetConsumptionDetail", +"description": "Output only. Current budget consumption detail of the Task.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time the task was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"goals": { +"description": "Output only. Goals of the Task, including both active and completed/failed. A Task may pursue several concurrently active goals .", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Goal" +}, +"readOnly": true, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Optional caller-supplied labels. Must follow the unified cloud labels spec (keys/values lowercase `[a-z0-9_-]`, <=63 chars). Stored as-is and returned verbatim on Get/ListTask, so the caller owns what goes in and reads back. Label names starting with `goog-` or `google-` are reserved for predefined labels. Besides user-defined billing/reporting labels, callers may stamp non-PII operational traffic annotations here under the reserved prefix (persisted on the task, so they apply to every turn and survive reconnection). Predefined: `goog-golden-query-id`: stable golden-query / CUJ id (e.g. `hello-world`); absent for organic traffic. Lets per-CUJ latency be trended independently.", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name of the task.", +"type": "string" +}, +"nextRunTime": { +"description": "Output only. Next scheduled firing of a recurring template. Unset once the template is `SCHEDULE_FINISHED`, and for cron-less (event) schedules.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"parentTaskId": { +"description": "Optional. If this task is a subtask, the parent task's short-form, agent-independent resource name: projects/{project}/locations/{location}/tasks/{task} The short form is used here on purpose (NOT the agent-scoped .../agents/{agent}/tasks/{task}): it stays stable when the parent is reassigned to another agent, so subtasks never need rewriting, and the task tree does not imply agent relationships .", +"type": "string" +}, +"rootTaskId": { +"description": "Output only. Lineage group key: the root of this task's tree, materialized from `parent_task_id` (a root task's own short-form name). Same short form, and for the same reason, as `parent_task_id`. One `ListTasks(filter: \"root_task_id=\")` returns the whole tree as a flat, paginated collection, instead of a level-by-level walk that costs one round trip per depth. The client reassembles the tree from `parent_task_id`; a page may therefore contain a task whose parent lands on a later page.", +"readOnly": true, +"type": "string" +}, +"runCount": { +"description": "Output only. Runs minted so far by a recurring template, so a client can show progress against `RecurringSchedule.max_run_count`.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"scheduleState": { +"description": "Output only. Scheduling lifecycle of a recurring template. Unset unless `spec.schedule.recurring` is set.", +"enum": [ +"SCHEDULE_STATE_UNSPECIFIED", +"SCHEDULE_ACTIVE", +"SCHEDULE_PAUSED", +"SCHEDULE_FINISHED" +], +"enumDescriptions": [ +"Default value. The task is not a recurring template.", +"Minting child runs on schedule.", +"Paused; no new runs are minted until resumed. Runs already minted are unaffected. Not reachable yet: the transition needs `:pause` / `:resume` custom methods on TaskService (mirroring `ScheduleService.PauseSchedule` / `ResumeSchedule`), which land separately because a new RPC pulls in HTTP bindings, `method_policy`, an IAM permission, and AXT review.", +"Done: `max_run_count` reached or `end_time` passed. Terminal." +], +"readOnly": true, +"type": "string" +}, +"spec": { +"$ref": "GoogleCloudAiplatformV1beta1TaskSpec", +"description": "Required. The full specification of what to do, how to run it, and how to know it is done." +}, +"status": { +"description": "Output only. The coarse, durable status of the task.", +"enum": [ +"STATUS_UNSPECIFIED", +"IDLE", +"WORKING", +"REQUIRES_ACTION", +"COMPLETED", +"FAILED", +"CANCELLED", +"QUEUED", +"SUSPENDED", +"SUSPENDING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Not running; the task is awaiting input. A freshly created task (pre-dispatch) lands here, and a re-firing task rests here between firings.", +"The task is actively running steps.", +"The task is awaiting human deliberation or action (HITL), such as an ElicitationCallStep (approval / choice) or a ToolCallStep (client-executed tool). Note: REQUIRES_ACTION is an in-progress specialization of WORKING; other asynchronous background tools or subtasks may still be actively running while the task awaits the user's response.", +"Terminal: the task completed successfully.", +"Terminal: the task failed.", +"Terminal: the task was cancelled.", +"Enqueued in the schedule queue, awaiting dispatch. Scheduled or DEFERRED tasks go IDLE -> QUEUED -> WORKING, as does any task whose agent is over its admission threshold; other REALTIME tasks skip QUEUED and go IDLE -> WORKING directly.", +"Blocked on an external precondition (quota, spend cap, license, admin pause) resolved out-of-band. Unlike `REQUIRES_ACTION`, the block is not tied to a trajectory step. See `Task.status_detail` for the reason.", +"A suspend operation is currently in progress." +], +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"$ref": "GoogleCloudAiplatformV1beta1TaskStatusDetail", +"description": "Output only. Explanation for the current state, when the state alone is not enough to act on (today: `SUSPENDED`). Cleared when the task leaves that state.", +"readOnly": true +}, +"statusUpdateTime": { +"description": "Output only. The time the task's status was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"summary": { +"description": "Output only. A rolling, system-generated summary of the task's progress/result.", +"readOnly": true, +"type": "string" +}, +"title": { +"description": "Optional. Optional human-readable title for listing surfaces.", +"type": "string" +}, +"updateTime": { +"description": "Output only. The time the task was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1TaskArtifact": { "description": "Represents a single artifact produced by a task. sample: artifacts: { artifact_id: \"image-12345\" name: \"Generated Sunset Image\" description: \"A beautiful sunset over the mountains, generated by the user's request.\" parts: { inline_data: { mime_type: \"image/png\" data: \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAA=\" } } }", "id": "GoogleCloudAiplatformV1beta1TaskArtifact", @@ -96182,6 +103209,71 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1TaskArtifactFile": { +"description": "A file or directory in a task's workspace.", +"id": "GoogleCloudAiplatformV1beta1TaskArtifactFile", +"properties": { +"mimeType": { +"description": "Output only. The detected media type. Empty for directories.", +"readOnly": true, +"type": "string" +}, +"path": { +"description": "Output only. Absolute path in the task's sandbox, e.g. \"/workspace/userdata/input.csv\" or \"/workspace/report.md\". Always under \"/workspace\" and never contains \"..\". Can be passed as-is to DownloadTaskArtifact.", +"readOnly": true, +"type": "string" +}, +"sizeBytes": { +"description": "Output only. Size of the file in bytes. Zero for directories.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. Whether this entry is a file or a directory.", +"enum": [ +"TYPE_UNSPECIFIED", +"FILE", +"DIRECTORY" +], +"enumDescriptions": [ +"Default value. Not used.", +"A regular file.", +"A directory." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Last modification time of the file as it was read: the sandbox's when read from a running sandbox, otherwise the stored object's.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskCompletedEvent": { +"description": "Signals that the task reached a terminal status.", +"id": "GoogleCloudAiplatformV1beta1TaskCompletedEvent", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskCreatedEvent": { +"description": "Server reply confirming a new task was created.", +"id": "GoogleCloudAiplatformV1beta1TaskCreatedEvent", +"properties": { +"clientId": { +"description": "The client identifier bound to this stream connection (either echoed from CreateTaskEvent or server-generated). Use this ID in SubscribeTaskEvent to resume after a disconnect.", +"type": "string" +}, +"task": { +"description": "Resource name of the created task. The client uses this id to reconnect (via a subscribe_task connect request) after a dropped stream. Format: projects/{project}/locations/{location}/agents/{agent}/tasks/{task}", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1TaskDescriptionStrategy": { "description": "Defines a generation strategy based on a general task description.", "id": "GoogleCloudAiplatformV1beta1TaskDescriptionStrategy", @@ -96238,6 +103330,21 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1TaskMemoryConfig": { +"description": "Task-level memory settings: which sources memory draws from, and whether memory is active for this task at all.", +"id": "GoogleCloudAiplatformV1beta1TaskMemoryConfig", +"properties": { +"disableMemory": { +"description": "Optional. If true, the agent neither reads existing memories into the prompt nor forms new ones from this task. Memory is on by default, and this can only turn it off, never back on: * Agent memory enabled, this true: off for this task. * Agent memory enabled, this false or unset: on. * Agent memory disabled: off, whatever this says. Because a task belongs to a single end user's interaction, a surface that knows the user can use this to turn memory off for one user of a shared agent; memory keeps working for the agent's other users. `Agent.memory_config.disable_memory` wins because it is the mutable one. It can be turned on after tasks have already been created, and a stored task spec keeps whatever it was created with \u2014 so if a spec could re-enable memory, the agent-level switch would be unable to cover the tasks that already exist. The two are therefore OR'ed, and the agent's current value is re-applied every time a session opens, including on a resume. Scoped to this task. Memories already stored for the agent are retained and stay readable by the agent's users; this governs only whether this task can access and modify them.", +"type": "boolean" +}, +"knowledgeCatalogConfig": { +"$ref": "GoogleCloudAiplatformV1beta1KnowledgeCatalogConfig", +"description": "Optional. Configuration for enterprise Knowledge Catalog search." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1TaskMessage": { "description": "Represents a single message in a conversation, compliant with the A2A specification.", "id": "GoogleCloudAiplatformV1beta1TaskMessage", @@ -96313,6 +103420,241 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1TaskServerEvent": { +"description": "A single Server -> Client event. There is intentionally no non-terminal error/notice branch. Transient, retriable failures (tool-fetch retry, rate-limit, scheduler retry) are handled by runtime retry (bounded by TaskSpec.max_retries) and, if surfaced at all, appear as trajectory steps; the terminal error is reported once via TaskCompletedEvent.outcome.status (google.rpc.Status). This follows the Interactions events.proto, which deprecated its dedicated non-terminal InteractionPausedEvent and reports terminal status on InteractionCompletedEvent.", +"id": "GoogleCloudAiplatformV1beta1TaskServerEvent", +"properties": { +"continuationToken": { +"description": "Optional. Opaque resume cursor covering everything delivered through this event, inclusive. A client that keeps the token from the last event it processed and passes it back on SubscribeTaskEvent.continuation_token or StreamTaskRequest.continuation_token resumes at the next event, with no gap and no duplicate. Opaque: the encoding is a server implementation detail and may change without notice. Do not parse it, compare two of them, or derive ordering from it -- order by `seq_num`. Carries no task id, because every RPC that redeems a token already names the task it applies to. It is a position, not a capability: it grants no access on its own, and the task's IAM check is what authorizes the read. This is the resume cursor. Resuming by number (next_step_seq_num on SubscribeTaskEvent and StreamTaskRequest) is slated for deprecation: a number cannot address a position inside a streamed step, while the token can, so a reconnect mid-answer does not re-send the part of that answer the client already rendered. `seq_num` remains for ordering only.", +"type": "string" +}, +"eventId": { +"description": "Optional. The TaskClientEvent.event_id this event was derived from, echoed back verbatim. Set only on the events that carry a client input back out: the `step` echoing the input, and the `step_start` of a streamed step the input opened. Empty everywhere else -- on model-generated steps the server produced on its own, on the step_delta/step_stop frames continuing a run (correlate those by `index` with their step_start), and on any event whose client input carried no event_id. Purely a correlation handle: it does not order or acknowledge anything, and the server never derives behavior from it. Since the server does not enforce uniqueness, a client that reuses an id sees it on every echo it produced. Delivered to every client subscribed to the task, not just the one that sent the input, including on a later replay from storage.", +"type": "string" +}, +"seqNum": { +"description": "Required. 1-based, non-decreasing sequence number within the server direction, stable across reconnects, so it can be used to resume: a given event carries the same number however the stream is (re)connected. Gapless on a stream delivered from the beginning. Clients acknowledge receipt via ack_output_seq_num and resume via SubscribeTaskEvent.next_step_seq_num. A resume with next_step_seq_num = 0 (or unset) restarts from the first still available step. A number identifies a resume point, not an event, so it is not unique: consecutive events can share one. An event derived from another (an artifacts_changed delta carrying the plan its step just wrote) repeats its source's number rather than taking the next, which keeps the numbering a function of the stream alone and guarantees a cursor never lands between the two. Acknowledging a number acknowledges every event carrying it. A resume can begin AFTER the requested number. next_step_seq_num counts events, but a streamed step spans several of them, so a cursor can point inside a run; the server then suppresses that run's remaining step_delta/step_stop rather than deliver frames for a step the client never saw opened, and resumes at the next step boundary. Numbering is unchanged by that suppression -- keeping it stable is what makes a cursor meaningful across connections -- so the first delivered event may be a later number than asked for. Treat the sequence as monotonic, not densely contiguous, when resuming.", +"format": "int64", +"type": "string" +}, +"statusChanged": { +"$ref": "GoogleCloudAiplatformV1beta1TaskStatusEvent", +"description": "A coarse status transition (e.g. WORKING -> REQUIRES_ACTION when the task is waiting on a human response)." +}, +"step": { +"$ref": "GenaiStep", +"description": "A trajectory output step (thought, tool call, content, elicitation_call, etc.). Human-in-the-loop requests are just steps: the server emits an ElicitationCallStep (for an approval / choice) or a ToolCallStep (for a client-executed tool), and the client responds with the matching ElicitationResultStep / ToolResultStep, correlated by elicitation_id / call_id. The kind of action required is inferred from the step's type, so there is no separate \"action required\" event." +}, +"stepDelta": { +"$ref": "GenaiStepDelta", +"description": "One chunk of a streamed step, carrying only the content generated since the previous chunk. Chunks sharing an `index` belong to one step and concatenate in the order received." +}, +"stepStart": { +"$ref": "GenaiStepStart", +"description": "Opens a streamed step. Emitted only under `TaskSpec.delta_streaming`, which documents the two delivery modes in full. Under `delta_streaming` EVERY step arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an `index`, and a bare `step` is never emitted. Reassembling a run yields the same Step that `step` above would otherwise have delivered. What follows a `step_start` depends on whether the content is generated progressively. Assistant text (and the citations on it) and thoughts stream across the run's `step_delta`s as they are produced, so for those this field carries the step's shape (role, type) with its generated content left empty. A step that arrives whole -- tool calls, tool results, elicitations, user-input echoes, errors -- carries no `step_delta` at all: the COMPLETE step rides this field, and `step_stop` closes the run." +}, +"stepStop": { +"$ref": "GenaiStepStop", +"description": "Closes a streamed step, carrying its token usage. No further `step_delta` arrives for this `index`." +}, +"stepUsage": { +"$ref": "GenaiInteractionUsage", +"description": "Optional. Token usage for one model call. Populated on at most one event per model call regardless of `TaskSpec.delta_streaming`, and absent on non-model events (tool results, user-input echoes, status changes)." +}, +"taskUpdate": { +"$ref": "GoogleCloudAiplatformV1beta1TaskUpdateEvent", +"description": "A change to the task's details." +}, +"timestampMicros": { +"description": "Strictly increasing generation timestamp, in unix micros.", +"format": "int64", +"type": "string" +}, +"trajectoryId": { +"description": "Optional. The runtime trajectory UUID that produced this event's step, e.g. \"e9df8df3-d63a-4747-ad00-eaef837d7d31\". A debugging correlation handle and the join key to the runtime's per-step trajectory record (for Sobi, the Trajectory Store viewer at sobi.corp.google.com/trajectory/). Set on the step-bearing events (`step` and the `step_start` of a streamed step); empty on status_changed / artifacts_changed and on the step_delta/step_stop frames continuing a run (correlate those by `index` with their step_start). Also empty on steps the Sobi converter did not build: the actor delivers `elicitation_call` as a native `Step` payload with no field 110, and `Session::ReadConverted` forwards it unchanged (`jetski_to_interaction_stream_converter.cc:1101-1104`), so a HITL turn reaches the client on `step` with `trajectory_id` empty even though a trajectory does exist for it. A whole turn shares one trajectory id. The server never derives behavior from it. See b/552010818.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskServerEventBatch": { +"description": "Server -> Client message for TaskService.CreateTaskBidiStream. * The first message carries a connect_reply (task_created or task_subscribed). * The steady-state pattern is repeated `events` (steps, status). * The last message carries an end_signal.", +"id": "GoogleCloudAiplatformV1beta1TaskServerEventBatch", +"properties": { +"ackInputSeqNum": { +"description": "Optional. When non-zero, confirms cumulative receipt of client input through this seq_num (inclusive).", +"format": "int64", +"type": "string" +}, +"assignedAgentIdentity": { +"description": "Output only. The resolved Agent Identity (SPIFFE ID) of the `Agent` this task is assigned to. Populated on the first message of the stream.", +"readOnly": true, +"type": "string" +}, +"events": { +"description": "Steady-state events from the server (trajectory steps -- including elicitation/tool-call HITL requests -- and status changes).", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TaskServerEvent" +}, +"type": "array" +}, +"taskCompleted": { +"$ref": "GoogleCloudAiplatformV1beta1TaskCompletedEvent", +"description": "The task reached a terminal status." +}, +"taskCreated": { +"$ref": "GoogleCloudAiplatformV1beta1TaskCreatedEvent", +"description": "Reply to create_task: returns the new task name." +}, +"taskSubscribed": { +"$ref": "GoogleCloudAiplatformV1beta1TaskSubscribedEvent", +"description": "Reply to subscribe_task." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskSpec": { +"description": "The centralized specification of a Task: the scoped context it runs in, when it runs, the resource guardrails, and the goal (with verifiers).", +"id": "GoogleCloudAiplatformV1beta1TaskSpec", +"properties": { +"budget": { +"$ref": "GoogleCloudAiplatformV1beta1Budget", +"description": "Optional. Optional holistic budget caps metered across the entire task lifetime." +}, +"deltaStreaming": { +"description": "Optional. Whether incrementally generated content is delivered as it is produced, rather than once the step is finished. The two modes are exact duals. If false (default), every step arrives once, complete, in TaskServerEvent.step -- so a client that reads only `step` sees the whole conversation. Suited to non-chat callers that consume finished steps. If true, EVERY step instead arrives as a `step_start` / `step_delta`* / `step_stop` run sharing an index, so a chat client sees one uniform lifecycle and never a bare `step`; reassembling a run yields the same step that would otherwise have been delivered. Content the model generates progressively -- assistant text (and the citations on it) and thoughts -- streams natively across the run's `step_delta`s as it is produced. A step that arrives whole (tool calls, tool results, elicitations, user-input echoes, errors) carries no `step_delta`: the complete step rides `step_start` and `step_stop` closes the run, since nothing is generated incrementally. The field is deliberately not named for text: what streams progressively is an implementation detail that may widen, and a client asking for incremental delivery wants it for whatever supports it. Note per-step token usage rides `step_stop`, so it is reported only when this is true.", +"type": "boolean" +}, +"expectedOutput": { +"$ref": "GenaiResponseFormat", +"description": "Optional. Optional structured deliverable contract (reuses the Interactions ResponseFormat). When set, the agent's final output must conform to it." +}, +"hitlConfig": { +"$ref": "GoogleCloudAiplatformV1beta1TaskSpecHitlConfig", +"description": "Optional. Immutable. Session-level HITL (human-in-the-loop) configuration for this task. Unset means every HITL knob takes its default; see `HitlConfig` above for the individual field defaults." +}, +"inputs": { +"description": "Optional. The prompt expressed as Interaction steps (e.g. a ContentStep with the user's request). Reuses the Interactions step model so the same content flows into the runtime unchanged. Required for a scheduled or PRIORITY_DEFERRED task, which starts with no caller attached. Otherwise it may be empty: * Unary CreateTask with no inputs creates the task IDLE and dispatches nothing. The task starts when a caller subscribes to it on CreateTaskBidiStream (`subscribe_task`) and sends the first input. * CreateTaskBidiStream `create_task` with no inputs is a connect-only / pre-warm create; the first input is sent later as a client step. Recommended pattern for giving a task files before it runs: 1. CreateTask with empty `inputs`. The task is IDLE; nothing runs yet. 2. UploadTaskArtifact each file to `/workspace/userdata/`. 3. CreateTaskBidiStream with `subscribe_task`, then send the first input, referring to the files by their `/workspace/userdata/` paths. This dispatches the task with the uploaded files in its workspace.", +"items": { +"$ref": "GenaiStep" +}, +"type": "array" +}, +"maxRetries": { +"deprecated": true, +"description": "Optional. Deprecated: tasks are not retried automatically. CreateTask and UpdateTask reject a non-zero value with INVALID_ARGUMENT.", +"format": "int32", +"type": "integer" +}, +"modelConfig": { +"$ref": "GoogleCloudAiplatformV1beta1TaskSpecModelConfig", +"description": "Optional. Optional model configuration override for the task. When set, the task runs on this model configuration for its entire lifecycle." +}, +"priority": { +"description": "Optional. Optional priority band. Concrete tiers and quota are out of scope and deferred to a follow-up.", +"enum": [ +"PRIORITY_UNSPECIFIED", +"PRIORITY_REALTIME", +"PRIORITY_DEFERRED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Interactive / foreground work, latency-sensitive.", +"Background / deferred work, throughput-oriented." +], +"type": "string" +}, +"schedule": { +"$ref": "GoogleCloudAiplatformV1beta1TaskTrigger", +"description": "Optional. Optional schedule controlling when/how the task runs. If unset, the task runs immediately (one-off, now)." +}, +"scope": { +"$ref": "GoogleCloudAiplatformV1beta1ContextScope", +"description": "Optional. Optional scoped context: skills/tools/memory/artifacts for the task." +}, +"subtaskConfig": { +"$ref": "GoogleCloudAiplatformV1beta1TaskSpecSubtaskConfig", +"description": "Optional. Configuration and limits for subtasks spawned by this task." +}, +"systemInstruction": { +"description": "Optional. Optional standing instruction applied across the whole task.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskSpecHitlConfig": { +"description": "Session-level HITL (human-in-the-loop) configuration. Namespaces every HITL knob that a client may set at task creation, so new settings (per-tool overrides, timeout, allowed reviewers) can land without burning more top-level TaskSpec tags. `approval_mode` carries the wire default as its own `APPROVAL_MODE_UNSPECIFIED` enum value, which the server treats as `APPROVAL_MODE_ASK` (standard HITL, always prompt a human). That is also the pre-change behavior for every existing task.", +"id": "GoogleCloudAiplatformV1beta1TaskSpecHitlConfig", +"properties": { +"approvalMode": { +"description": "Optional. Immutable. How the client wants elicitations on this task approved. Unset (or APPROVAL_MODE_UNSPECIFIED) is treated as APPROVAL_MODE_ASK.", +"enum": [ +"APPROVAL_MODE_UNSPECIFIED", +"APPROVAL_MODE_ASK", +"APPROVAL_MODE_AUTO" +], +"enumDescriptions": [ +"Unset. The server treats this as APPROVAL_MODE_ASK (standard HITL, always prompt a human). Old clients that do not know about this field land here.", +"Standard HITL: always surface an elicitation to the human reviewer on ASK actions.", +"Automated approval: route ASK actions through the HITL Service automated safety classifier. The classifier may auto-approve, or fall through to human review for high-risk, out-of-scope, ambiguous, or admin-forbidden actions." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskSpecModelConfig": { +"description": "Selects the model the task runs on. Starts with just the model id/alias; extensible with further model parameters without a breaking change.", +"id": "GoogleCloudAiplatformV1beta1TaskSpecModelConfig", +"properties": { +"effortLevel": { +"description": "Optional. Reasoning/thinking depth the model runs at, case-insensitive. Gemini takes \"minimal\", \"low\", \"medium\" or \"high\", and only on models that have a thinking level; other publishers define their own set. A value the resolved model does not accept leaves its own default standing.", +"type": "string" +}, +"maxOutputTokens": { +"description": "Optional. Maximum number of tokens the model may generate in each call, including any thinking tokens it spends before answering. Must not be negative; zero leaves the backend default standing. The cap also applies to the calls that summarize the task's history when its context is compacted, so a model that thinks at a high effort level may need a larger value to return a summary at all.", +"format": "int32", +"type": "integer" +}, +"model": { +"description": "Optional. Publisher model resource name (an `aiplatform.googleapis.com/PublisherModel`) of the form \"publishers/{publisher}/models/{model}\", e.g. \"publishers/anthropic/models/claude-opus-4-8\" or \"publishers/google/models/gemini-3-flash\". The project-qualified form \"projects/{project}/locations/{location}/publishers/{publisher}/models/{model}\" is also accepted. When it is used, the project and location it carries take precedence over both dynamic project/location resolution and the actor config defaults. Model selection cannot be updated after task creation right now though it might be supported in the future. Empty means the actor's default gemini model.", +"type": "string" +}, +"modelSelectionMode": { +"description": "Optional. How the model in `model` was selected. Ignored when set on `LiveConfig.model_config`.", +"enum": [ +"MODEL_SELECTION_MODE_UNSPECIFIED", +"AUTO", +"USER_SELECTED" +], +"enumDescriptions": [ +"Default value. The model selection mode is unspecified.", +"Indicates the user selected \"Auto\" and the client resolved `model` to the auto-selected model.", +"Indicates the user explicitly selected the model in `model`." +], +"type": "string" +}, +"temperature": { +"description": "Optional. Sampling temperature for the model's generation config (valid range (0.0, 2.0]); a value outside that range leaves the backend default standing.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskSpecSubtaskConfig": { +"description": "Configuration and limits for subtasks spawned by this task.", +"id": "GoogleCloudAiplatformV1beta1TaskSpecSubtaskConfig", +"properties": { +"maxDepth": { +"description": "Optional. The maximum depth of subtask hierarchy allowed under this task. Must be between 0 and 5, inclusive. When unset on a root task, defaults to 5. For a subtask, it is clamped to at most parent.max_depth - 1 (defaulting to parent.max_depth - 1 if unspecified). A value of 0 means this task cannot spawn any subtasks.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1TaskStateChange": { "description": "A message representing a change in a task's state.", "id": "GoogleCloudAiplatformV1beta1TaskStateChange", @@ -96348,6 +103690,43 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1TaskStatusDetail": { +"description": "Why a task is in its current status, when the status alone is not enough to act on (today: `SUSPENDED`). Clients MUST treat an unrecognized `StatusReason` as an opaque block. Copied to the DB mirror by name and number, so a field or enum value added here without the matching DB-side addition is silently dropped on write. LINT.IfChange(status_detail)", +"id": "GoogleCloudAiplatformV1beta1TaskStatusDetail", +"properties": { +"detail": { +"description": "Optional human-readable explanation, so a surface can render something without its own StatusReason -> string table. Not localized; clients needing localization should render from `reason` instead. Not a `google.rpc.Status`: RPC codes do not map onto lifecycle states, and `TaskOutcome.status` already covers terminal failures.", +"type": "string" +}, +"reason": { +"description": "Machine-readable reason. Clients switch on this to pick a recovery affordance (upsell CTA, admin contact, retry).", +"enum": [ +"STATUS_REASON_UNSPECIFIED", +"QUOTA_EXHAUSTED", +"SPEND_CAP_REACHED", +"LICENSE_REQUIRED", +"ADMIN_SUSPENDED", +"PARENT_SUSPENDED", +"DEFERRED", +"CREDENTIALS_EXPIRED", +"BUDGET_EXHAUSTED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Quota bundled with the license is exhausted.", +"An admin-configured spend cap was reached.", +"A license must be provisioned or reinstated before work can continue.", +"An admin explicitly paused the agent or this task.", +"The task was suspended because its parent task was suspended.", +"Task execution was evicted from WORKING due to flex-tier compute capacity limits, transitioning through SUSPENDED back to QUEUED awaiting capacity.", +"The delegated end-user credentials for this task have expired. The caller must reconnect or resume the task to refresh credentials.", +"The task spent the Budget set on it in `TaskSpec.budget` . Distinct from `SPEND_CAP_REACHED`, which is an admin-configured cap over an account rather than a limit this task was created or updated with. Recoverable by the caller alone: resume the task with `ResumeTask.additional_budget` to grant it more headroom and continue from where it stopped." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1TaskStatusDetails": { "description": "Represents the additional status details of a task.", "id": "GoogleCloudAiplatformV1beta1TaskStatusDetails", @@ -96370,6 +103749,187 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1TaskStatusEvent": { +"description": "Signals a task status transition.", +"id": "GoogleCloudAiplatformV1beta1TaskStatusEvent", +"properties": { +"statusDetail": { +"$ref": "GoogleCloudAiplatformV1beta1TaskStatusDetail", +"description": "Machine-readable reason and details for why the task entered this status (e.g. `SUSPENDED`)." +}, +"taskStatus": { +"description": "The new coarse task status.", +"enum": [ +"STATUS_UNSPECIFIED", +"IDLE", +"WORKING", +"REQUIRES_ACTION", +"COMPLETED", +"FAILED", +"CANCELLED", +"QUEUED", +"SUSPENDED", +"SUSPENDING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Not running; the task is awaiting input. A freshly created task (pre-dispatch) lands here, and a re-firing task rests here between firings.", +"The task is actively running steps.", +"The task is awaiting human deliberation or action (HITL), such as an ElicitationCallStep (approval / choice) or a ToolCallStep (client-executed tool). Note: REQUIRES_ACTION is an in-progress specialization of WORKING; other asynchronous background tools or subtasks may still be actively running while the task awaits the user's response.", +"Terminal: the task completed successfully.", +"Terminal: the task failed.", +"Terminal: the task was cancelled.", +"Enqueued in the schedule queue, awaiting dispatch. Scheduled or DEFERRED tasks go IDLE -> QUEUED -> WORKING, as does any task whose agent is over its admission threshold; other REALTIME tasks skip QUEUED and go IDLE -> WORKING directly.", +"Blocked on an external precondition (quota, spend cap, license, admin pause) resolved out-of-band. Unlike `REQUIRES_ACTION`, the block is not tied to a trajectory step. See `Task.status_detail` for the reason.", +"A suspend operation is currently in progress." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskSubscribedEvent": { +"description": "Server reply confirming subscription to an existing task.", +"id": "GoogleCloudAiplatformV1beta1TaskSubscribedEvent", +"properties": { +"clientId": { +"description": "The client identifier bound to this stream connection (either echoed from SubscribeTaskEvent or server-generated). Use this ID in subsequent SubscribeTaskEvent messages to maintain sequence continuity.", +"type": "string" +}, +"nextStepSeqNum": { +"description": "The next step sequence number the server will send: the position it resolved to from the subscribe request. The mirror of the same-named field on SubscribeTaskEvent -- there it is what the client asks for, here it is what the server settled on. Zero means no cursor was resolved: the request supplied neither next_step_seq_num nor ack_output_seq_num, so output replays from the oldest retained step.", +"format": "int64", +"type": "string" +}, +"status": { +"description": "The current coarse status of the task at subscription time.", +"enum": [ +"STATUS_UNSPECIFIED", +"IDLE", +"WORKING", +"REQUIRES_ACTION", +"COMPLETED", +"FAILED", +"CANCELLED", +"QUEUED", +"SUSPENDED", +"SUSPENDING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Not running; the task is awaiting input. A freshly created task (pre-dispatch) lands here, and a re-firing task rests here between firings.", +"The task is actively running steps.", +"The task is awaiting human deliberation or action (HITL), such as an ElicitationCallStep (approval / choice) or a ToolCallStep (client-executed tool). Note: REQUIRES_ACTION is an in-progress specialization of WORKING; other asynchronous background tools or subtasks may still be actively running while the task awaits the user's response.", +"Terminal: the task completed successfully.", +"Terminal: the task failed.", +"Terminal: the task was cancelled.", +"Enqueued in the schedule queue, awaiting dispatch. Scheduled or DEFERRED tasks go IDLE -> QUEUED -> WORKING, as does any task whose agent is over its admission threshold; other REALTIME tasks skip QUEUED and go IDLE -> WORKING directly.", +"Blocked on an external precondition (quota, spend cap, license, admin pause) resolved out-of-band. Unlike `REQUIRES_ACTION`, the block is not tied to a trajectory step. See `Task.status_detail` for the reason.", +"A suspend operation is currently in progress." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskTrigger": { +"description": "Defines when and how a task runs.", +"id": "GoogleCloudAiplatformV1beta1TaskTrigger", +"properties": { +"oneOff": { +"$ref": "GoogleCloudAiplatformV1beta1OneOffSchedule", +"description": "Run exactly once (at an absolute time or after a delay)." +}, +"recurring": { +"$ref": "GoogleCloudAiplatformV1beta1RecurringSchedule", +"description": "Run the task spec repeatedly." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskUpdateEvent": { +"description": "A change to a task's details. Surfaces out the Task resource fields that change during execution.", +"id": "GoogleCloudAiplatformV1beta1TaskUpdateEvent", +"properties": { +"updates": { +"description": "The task detail changes carried by this event.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1TaskUpdateEventTaskUpdate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1TaskUpdateEventTaskUpdate": { +"description": "A single task detail change.", +"id": "GoogleCloudAiplatformV1beta1TaskUpdateEventTaskUpdate", +"properties": { +"summary": { +"description": "Rolling progress/outcome summary.", +"type": "string" +}, +"title": { +"description": "Concise title.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Teammate": { +"description": "One identity an agent is allowed to contact. A message rather than a bare string so a teammate can carry more than an address -- a display name, a group rather than a person, a scope limiting which surfaces the agent may reach them on -- without a breaking change to `AllowedTeammates`. Every field is optional, but a teammate identifying nobody is meaningless: at least one identifier must be set, and `UpdateAgent` rejects a teammate with none.", +"id": "GoogleCloudAiplatformV1beta1Teammate", +"properties": { +"email": { +"description": "Optional. Email address of the teammate.", +"type": "string" +}, +"expansionMode": { +"description": "Optional. Expansion mode for group or space teammates.", +"enum": [ +"EXPANSION_MODE_UNSPECIFIED", +"INFER", +"EXPANDED", +"NON_EXPANDED" +], +"enumDescriptions": [ +"Unspecified expansion mode.", +"Infer whether to expand based on roster type (e.g., expand Google Groups, do not expand Chat Spaces).", +"Transitive expansion: the agent can contact individual members of the group.", +"Non-expanded: the agent can contact the group or space as a channel, without expanding to individual members." +], +"type": "string" +}, +"gaiaId": { +"description": "Optional. Obfuscated Gaia id of the teammate. OBFUSCATED, never a raw Gaia id -- the same form as `Principal.id` and every other Gaia id this API surfaces, so the two are comparable. A string rather than an int64 for that reason: the obfuscated form is not a number.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1Tenant": { +"description": "Represents an enterprise tenant.", +"id": "GoogleCloudAiplatformV1beta1Tenant", +"properties": { +"id": { +"description": "Optional. The unique raw ID of the tenant.", +"type": "string" +}, +"type": { +"description": "Optional. The type of the tenant.", +"enum": [ +"TYPE_UNSPECIFIED", +"WORKSPACE_CUSTOMER" +], +"enumDescriptions": [ +"Unspecified tenant type.", +"Workspace customer domain tenant." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1Tensor": { "description": "A tensor value type.", "id": "GoogleCloudAiplatformV1beta1Tensor", @@ -97501,6 +105061,52 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1ToolRefs": { +"description": "A set of tool references, each a tool's GCP resource name (`projects/.../mcpServers|endpoints/...`) with optional fine-grained method, CLI tool and resource guardrails. Wraps a repeated field so it can be used as an arm of the `ContextScope.tool_scope` oneof. LINT.IfChange(tool_refs)", +"id": "GoogleCloudAiplatformV1beta1ToolRefs", +"properties": { +"cliToolScope": { +"$ref": "GoogleCloudAiplatformV1beta1ToolRefsCliToolScope", +"description": "Optional. Optional CLI tool scope that the task is restricted to. Unset means all CLI tools are allowed. Set with an empty `cli_tools` list means all CLI tools are denied." +}, +"methods": { +"description": "Optional. Optional fine-grained method selectors for the referenced tools. Format: \"/methods/\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"resources": { +"description": "Optional. Optional resource identifiers that the task is restricted to interact with.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ResourceRef" +}, +"type": "array" +}, +"toolNames": { +"description": "Optional. Tool GCP resource names. For example: * MCP server: `projects/my-project/locations/us-central1/mcpServers/jira` * Endpoint: `projects/my-project/locations/us-central1/endpoints/drive`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ToolRefsCliToolScope": { +"description": "A CLI tool boundary restricting a subtask to designated CLI commands.", +"id": "GoogleCloudAiplatformV1beta1ToolRefsCliToolScope", +"properties": { +"cliTools": { +"description": "Optional. Allowed CLI tools for the task. Example: [\"gmail send_message\", \"calendar list_events\"].", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ToolUseExample": { "description": "A single example of the tool usage.", "id": "GoogleCloudAiplatformV1beta1ToolUseExample", @@ -98258,6 +105864,29 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1TrustedParticipant": { +"description": "A participant granted access to a CollaborativeProject.", +"id": "GoogleCloudAiplatformV1beta1TrustedParticipant", +"properties": { +"identifier": { +"description": "Required. The participant's identity. For `AGENT`, the agent's SPIFFE ID without the `principal://` prefix, the same value as the agent's `effective_identity`.", +"type": "string" +}, +"participantType": { +"description": "Required. The type of the participant.", +"enum": [ +"PARTICIPANT_TYPE_UNSPECIFIED", +"AGENT" +], +"enumDescriptions": [ +"Unspecified. Not accepted.", +"An agent, identified by its SPIFFE ID." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1TunedModel": { "description": "The Model Registry Model and Online Prediction Endpoint associated with this TuningJob.", "id": "GoogleCloudAiplatformV1beta1TunedModel", @@ -98897,6 +106526,28 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1UploadArtifactRequest": { +"description": "Request for ArtifactService.UploadArtifact.", +"id": "GoogleCloudAiplatformV1beta1UploadArtifactRequest", +"properties": { +"path": { +"description": "Required. Absolute destination path in the task's workspace, e.g. `/workspace/userdata/input.csv`, or, for a collaborative project, under `/workspace/project`, e.g. `/workspace/project/report.md`. Must be under `/workspace` and at most 1024 characters; relative paths and paths containing a `..` segment are rejected with `INVALID_ARGUMENT`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1UploadArtifactResponse": { +"description": "Response for ArtifactService.UploadArtifact.", +"id": "GoogleCloudAiplatformV1beta1UploadArtifactResponse", +"properties": { +"path": { +"description": "The file's path in the task's workspace.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1UploadModelOperationMetadata": { "description": "Details of ModelService.UploadModel operation.", "id": "GoogleCloudAiplatformV1beta1UploadModelOperationMetadata", @@ -99495,6 +107146,50 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1Verifier": { +"description": "A declarative success criterion for a goal. Harness-agnostic: the runtime follows the description to decide pass/fail and to repair on failure. A criterion may be checked automatically (`auto_verification`, `nl_criteria`, `command_check`) or by a human (`human_check`, resolved via a HITL elicitation at verification time). If `kind` is unset the Verifier carries no criterion and is ignored. On a Task with a local environment, verifiers do not access the environment: `nl_criteria` and `auto_verification` are judged on the record of the agent's work in the current turn, and `command_check` is not allowed.", +"id": "GoogleCloudAiplatformV1beta1Verifier", +"properties": { +"autoVerification": { +"$ref": "GoogleCloudAiplatformV1beta1AutoVerification", +"description": "Automated. Judged against the goal's own `spec`." +}, +"name": { +"description": "Optional. Optional label used for reporting (e.g. \"tests-green\").", +"type": "string" +}, +"nlCriteria": { +"$ref": "GoogleCloudAiplatformV1beta1NlCriteria", +"description": "Automated. A customizable natural-language rubric an autorater/agent evaluates." +}, +"required": { +"description": "Optional. If true, the goal cannot be marked COMPLETED unless this verifier passes. If false, the verifier is advisory (recorded, non-blocking).", +"type": "boolean" +}, +"state": { +"description": "Output only. The verifier's latest verdict.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"PASSED", +"FAILED", +"REMOVED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"No verdict yet, or the verifier awaits a person.", +"Failed an attempt; the agent is still working on the goal this turn.", +"Passed. Final until the client replaces the goal's spec, which puts the verifier back to `PENDING`. Verdicts judged on the old spec are not applied once the new spec has been sent to the agent.", +"Failed with no attempts left this turn. Unless the goal is then `FAILED`, the next turn judges it again.", +"The client removed this verifier. It stays in `Goal.verifiers` so later verifiers keep their index, and it is no longer judged." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1VertexAISearch": { "description": "Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder", "id": "GoogleCloudAiplatformV1beta1VertexAISearch", @@ -99769,6 +107464,21 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1WorkspaceArtifact": { +"description": "An artifact listed by ArtifactService.ListWorkspaceArtifacts: a file or directory in the workspace, or a link to an entity in a first-party or third-party store.", +"id": "GoogleCloudAiplatformV1beta1WorkspaceArtifact", +"properties": { +"linkJsonMetadata": { +"$ref": "GoogleCloudAiplatformV1beta1LinkJsonMetadata", +"description": "A link to a file, folder or site in a first-party or third-party store, such as Google Drive or OneDrive, as passed to ArtifactService.AddArtifact." +}, +"taskArtifactFile": { +"$ref": "GoogleCloudAiplatformV1beta1TaskArtifactFile", +"description": "A file or directory in the workspace." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1WriteFeatureValuesPayload": { "description": "Contains Feature values to be written for a specific entity.", "id": "GoogleCloudAiplatformV1beta1WriteFeatureValuesPayload", @@ -99851,6 +107561,46 @@ false "properties": {}, "type": "object" }, +"GoogleCloudAiplatformV1beta1XmanagerAuthConfig": { +"description": "Controls who may use an XmanagerInstance, and the OAuth client they sign in with.", +"id": "GoogleCloudAiplatformV1beta1XmanagerAuthConfig", +"properties": { +"allowedDomains": { +"description": "Optional. Email domains whose verified accounts may use the instance, for example \"example.com\". At least one of `allowed_domains` or `allowed_emails` must be specified. A maximum of 100 domains can be specified.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowedEmails": { +"description": "Optional. Individual verified emails that may use the instance. A maximum of 1000 emails can be specified.", +"items": { +"type": "string" +}, +"type": "array" +}, +"oauthClient": { +"$ref": "GoogleCloudAiplatformV1beta1XmanagerAuthConfigOAuthClient", +"description": "Required. The OAuth client that users sign in with." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1XmanagerAuthConfigOAuthClient": { +"description": "An OAuth 2.0 client of type \"Web application\" in the project of the ModelDevelopmentCluster.", +"id": "GoogleCloudAiplatformV1beta1XmanagerAuthConfigOAuthClient", +"properties": { +"id": { +"description": "Required. The OAuth client ID, ending in \".apps.googleusercontent.com\".", +"type": "string" +}, +"secretVersion": { +"description": "Required. The Secret Manager secret version that holds the OAuth client secret. Format: projects/{project}/secrets/{secret}/versions/{secret_version} The secret must be in the project of the ModelDevelopmentCluster.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1XmanagerInstance": { "description": "XmanagerInstance represents a managed Xmanager on Cloud deployment.", "id": "GoogleCloudAiplatformV1beta1XmanagerInstance", @@ -99860,6 +107610,10 @@ false "readOnly": true, "type": "string" }, +"authConfig": { +"$ref": "GoogleCloudAiplatformV1beta1XmanagerAuthConfig", +"description": "Optional. Controls authentication for the instance. If set, every caller must sign in as an individual user, and only the principals allowed here may use the instance. If unset, the instance runs without authentication." +}, "createTime": { "description": "Output only. Creation timestamp.", "format": "google-datetime", @@ -99875,7 +107629,7 @@ false "type": "string" }, "registeredClusters": { -"description": "Output only. The resource names of the ModelDevelopmentClusters registered with this instance.", +"description": "Output only. The resource names of the ModelDevelopmentClusters registered with this instance. A maximum of 100 clusters can be registered.", "items": { "type": "string" }, From 0fb49570a7c1a6e09524d214f652c362923164b3 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:23 +0000 Subject: [PATCH 04/57] feat(androidmanagement): update the api #### androidmanagement:v1 The following keys were added: - schemas.DeviceRadioState.properties.nfc.type (Total Keys: 1) - schemas.DeviceWidePolicies (Total Keys: 3) - schemas.DeviceWideRadioState (Total Keys: 3) - schemas.Policy.properties.deviceWidePolicies.$ref (Total Keys: 1) --- ...oidmanagement_v1.enterprises.policies.html | 60 +++++++++++++++---- .../documents/androidmanagement.v1.json | 58 ++++++++++++++++-- 2 files changed, 102 insertions(+), 16 deletions(-) diff --git a/docs/dyn/androidmanagement_v1.enterprises.policies.html b/docs/dyn/androidmanagement_v1.enterprises.policies.html index e6536e562d..de6b4dce32 100644 --- a/docs/dyn/androidmanagement_v1.enterprises.policies.html +++ b/docs/dyn/androidmanagement_v1.enterprises.policies.html @@ -362,9 +362,9 @@

Method Details

}, ], }, - "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. + "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device.Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. A NonComplianceDetail with MANAGEMENT_MODE is reported on other management modes. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 13 (API level 33). "wifiSsidPolicyType": "A String", # Optional. Type of the Wi-Fi SSID policy to be applied. - "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when WifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. If this is set to a non-empty list, then a NonComplianceDetail detail with API_LEVEL is reported if the Android version is less than 13 and a NonComplianceDetail with MANAGEMENT_MODE is reported for non-company-owned devices. + "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when wifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. { # Represents a Wi-Fi SSID. "wifiSsid": "A String", # Required. Wi-Fi SSID represented as a string. }, @@ -381,10 +381,16 @@

Method Details

"airplaneModeState": "A String", # Optional. Controls whether airplane mode can be toggled by the user or not. "cellularTwoGState": "A String", # Optional. Controls whether cellular 2G setting can be toggled by the user or not. "minimumWifiSecurityLevel": "A String", # Optional. The minimum required security level of Wi-Fi networks that the device can connect to. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for fully managed devices. To control NFC on work profiles on company-owned devices, use deviceWidePolicies.deviceRadioState.nfc instead. "ultraWidebandState": "A String", # Optional. Controls the state of the ultra wideband setting and whether the user can toggle it on or off. "userInitiatedAddEsimSettings": "A String", # Optional. Controls whether the user is allowed to add eSIM profiles. "wifiState": "A String", # Optional. Controls current state of Wi-Fi and if user can change its state. }, + "deviceWidePolicies": { # Policies controlling the device on company-owned devices. # Optional. Policies controlling the device on company-owned devices. + "deviceRadioState": { # Controls for device radio settings. # Optional. Covers controls for radio state. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for work profiles on company-owned devices. To control NFC on fully managed devices, use deviceRadioState.nfc instead. + }, + }, "displaySettings": { # Controls for the display settings. # Optional. Controls for the display settings. "screenBrightnessSettings": { # Controls for the screen brightness settings. # Optional. Controls the screen brightness settings. "screenBrightness": 42, # Optional. The screen brightness between 1 and 255 where 1 is the lowest and 255 is the highest brightness. A value of 0 (default) means no screen brightness set. Any other value is rejected. screenBrightnessMode must be either BRIGHTNESS_AUTOMATIC or BRIGHTNESS_FIXED to set this. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above. @@ -952,9 +958,9 @@

Method Details

}, ], }, - "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. + "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device.Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. A NonComplianceDetail with MANAGEMENT_MODE is reported on other management modes. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 13 (API level 33). "wifiSsidPolicyType": "A String", # Optional. Type of the Wi-Fi SSID policy to be applied. - "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when WifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. If this is set to a non-empty list, then a NonComplianceDetail detail with API_LEVEL is reported if the Android version is less than 13 and a NonComplianceDetail with MANAGEMENT_MODE is reported for non-company-owned devices. + "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when wifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. { # Represents a Wi-Fi SSID. "wifiSsid": "A String", # Required. Wi-Fi SSID represented as a string. }, @@ -971,10 +977,16 @@

Method Details

"airplaneModeState": "A String", # Optional. Controls whether airplane mode can be toggled by the user or not. "cellularTwoGState": "A String", # Optional. Controls whether cellular 2G setting can be toggled by the user or not. "minimumWifiSecurityLevel": "A String", # Optional. The minimum required security level of Wi-Fi networks that the device can connect to. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for fully managed devices. To control NFC on work profiles on company-owned devices, use deviceWidePolicies.deviceRadioState.nfc instead. "ultraWidebandState": "A String", # Optional. Controls the state of the ultra wideband setting and whether the user can toggle it on or off. "userInitiatedAddEsimSettings": "A String", # Optional. Controls whether the user is allowed to add eSIM profiles. "wifiState": "A String", # Optional. Controls current state of Wi-Fi and if user can change its state. }, + "deviceWidePolicies": { # Policies controlling the device on company-owned devices. # Optional. Policies controlling the device on company-owned devices. + "deviceRadioState": { # Controls for device radio settings. # Optional. Covers controls for radio state. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for work profiles on company-owned devices. To control NFC on fully managed devices, use deviceRadioState.nfc instead. + }, + }, "displaySettings": { # Controls for the display settings. # Optional. Controls for the display settings. "screenBrightnessSettings": { # Controls for the screen brightness settings. # Optional. Controls the screen brightness settings. "screenBrightness": 42, # Optional. The screen brightness between 1 and 255 where 1 is the lowest and 255 is the highest brightness. A value of 0 (default) means no screen brightness set. Any other value is rejected. screenBrightnessMode must be either BRIGHTNESS_AUTOMATIC or BRIGHTNESS_FIXED to set this. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above. @@ -1631,9 +1643,9 @@

Method Details

}, ], }, - "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. + "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device.Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. A NonComplianceDetail with MANAGEMENT_MODE is reported on other management modes. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 13 (API level 33). "wifiSsidPolicyType": "A String", # Optional. Type of the Wi-Fi SSID policy to be applied. - "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when WifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. If this is set to a non-empty list, then a NonComplianceDetail detail with API_LEVEL is reported if the Android version is less than 13 and a NonComplianceDetail with MANAGEMENT_MODE is reported for non-company-owned devices. + "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when wifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. { # Represents a Wi-Fi SSID. "wifiSsid": "A String", # Required. Wi-Fi SSID represented as a string. }, @@ -1650,10 +1662,16 @@

Method Details

"airplaneModeState": "A String", # Optional. Controls whether airplane mode can be toggled by the user or not. "cellularTwoGState": "A String", # Optional. Controls whether cellular 2G setting can be toggled by the user or not. "minimumWifiSecurityLevel": "A String", # Optional. The minimum required security level of Wi-Fi networks that the device can connect to. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for fully managed devices. To control NFC on work profiles on company-owned devices, use deviceWidePolicies.deviceRadioState.nfc instead. "ultraWidebandState": "A String", # Optional. Controls the state of the ultra wideband setting and whether the user can toggle it on or off. "userInitiatedAddEsimSettings": "A String", # Optional. Controls whether the user is allowed to add eSIM profiles. "wifiState": "A String", # Optional. Controls current state of Wi-Fi and if user can change its state. }, + "deviceWidePolicies": { # Policies controlling the device on company-owned devices. # Optional. Policies controlling the device on company-owned devices. + "deviceRadioState": { # Controls for device radio settings. # Optional. Covers controls for radio state. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for work profiles on company-owned devices. To control NFC on fully managed devices, use deviceRadioState.nfc instead. + }, + }, "displaySettings": { # Controls for the display settings. # Optional. Controls for the display settings. "screenBrightnessSettings": { # Controls for the screen brightness settings. # Optional. Controls the screen brightness settings. "screenBrightness": 42, # Optional. The screen brightness between 1 and 255 where 1 is the lowest and 255 is the highest brightness. A value of 0 (default) means no screen brightness set. Any other value is rejected. screenBrightnessMode must be either BRIGHTNESS_AUTOMATIC or BRIGHTNESS_FIXED to set this. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above. @@ -2212,9 +2230,9 @@

Method Details

}, ], }, - "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. + "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device.Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. A NonComplianceDetail with MANAGEMENT_MODE is reported on other management modes. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 13 (API level 33). "wifiSsidPolicyType": "A String", # Optional. Type of the Wi-Fi SSID policy to be applied. - "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when WifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. If this is set to a non-empty list, then a NonComplianceDetail detail with API_LEVEL is reported if the Android version is less than 13 and a NonComplianceDetail with MANAGEMENT_MODE is reported for non-company-owned devices. + "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when wifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. { # Represents a Wi-Fi SSID. "wifiSsid": "A String", # Required. Wi-Fi SSID represented as a string. }, @@ -2231,10 +2249,16 @@

Method Details

"airplaneModeState": "A String", # Optional. Controls whether airplane mode can be toggled by the user or not. "cellularTwoGState": "A String", # Optional. Controls whether cellular 2G setting can be toggled by the user or not. "minimumWifiSecurityLevel": "A String", # Optional. The minimum required security level of Wi-Fi networks that the device can connect to. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for fully managed devices. To control NFC on work profiles on company-owned devices, use deviceWidePolicies.deviceRadioState.nfc instead. "ultraWidebandState": "A String", # Optional. Controls the state of the ultra wideband setting and whether the user can toggle it on or off. "userInitiatedAddEsimSettings": "A String", # Optional. Controls whether the user is allowed to add eSIM profiles. "wifiState": "A String", # Optional. Controls current state of Wi-Fi and if user can change its state. }, + "deviceWidePolicies": { # Policies controlling the device on company-owned devices. # Optional. Policies controlling the device on company-owned devices. + "deviceRadioState": { # Controls for device radio settings. # Optional. Covers controls for radio state. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for work profiles on company-owned devices. To control NFC on fully managed devices, use deviceRadioState.nfc instead. + }, + }, "displaySettings": { # Controls for the display settings. # Optional. Controls for the display settings. "screenBrightnessSettings": { # Controls for the screen brightness settings. # Optional. Controls the screen brightness settings. "screenBrightness": 42, # Optional. The screen brightness between 1 and 255 where 1 is the lowest and 255 is the highest brightness. A value of 0 (default) means no screen brightness set. Any other value is rejected. screenBrightnessMode must be either BRIGHTNESS_AUTOMATIC or BRIGHTNESS_FIXED to set this. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above. @@ -2791,9 +2815,9 @@

Method Details

}, ], }, - "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. + "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device.Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. A NonComplianceDetail with MANAGEMENT_MODE is reported on other management modes. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 13 (API level 33). "wifiSsidPolicyType": "A String", # Optional. Type of the Wi-Fi SSID policy to be applied. - "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when WifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. If this is set to a non-empty list, then a NonComplianceDetail detail with API_LEVEL is reported if the Android version is less than 13 and a NonComplianceDetail with MANAGEMENT_MODE is reported for non-company-owned devices. + "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when wifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. { # Represents a Wi-Fi SSID. "wifiSsid": "A String", # Required. Wi-Fi SSID represented as a string. }, @@ -2810,10 +2834,16 @@

Method Details

"airplaneModeState": "A String", # Optional. Controls whether airplane mode can be toggled by the user or not. "cellularTwoGState": "A String", # Optional. Controls whether cellular 2G setting can be toggled by the user or not. "minimumWifiSecurityLevel": "A String", # Optional. The minimum required security level of Wi-Fi networks that the device can connect to. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for fully managed devices. To control NFC on work profiles on company-owned devices, use deviceWidePolicies.deviceRadioState.nfc instead. "ultraWidebandState": "A String", # Optional. Controls the state of the ultra wideband setting and whether the user can toggle it on or off. "userInitiatedAddEsimSettings": "A String", # Optional. Controls whether the user is allowed to add eSIM profiles. "wifiState": "A String", # Optional. Controls current state of Wi-Fi and if user can change its state. }, + "deviceWidePolicies": { # Policies controlling the device on company-owned devices. # Optional. Policies controlling the device on company-owned devices. + "deviceRadioState": { # Controls for device radio settings. # Optional. Covers controls for radio state. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for work profiles on company-owned devices. To control NFC on fully managed devices, use deviceRadioState.nfc instead. + }, + }, "displaySettings": { # Controls for the display settings. # Optional. Controls for the display settings. "screenBrightnessSettings": { # Controls for the screen brightness settings. # Optional. Controls the screen brightness settings. "screenBrightness": 42, # Optional. The screen brightness between 1 and 255 where 1 is the lowest and 255 is the highest brightness. A value of 0 (default) means no screen brightness set. Any other value is rejected. screenBrightnessMode must be either BRIGHTNESS_AUTOMATIC or BRIGHTNESS_FIXED to set this. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above. @@ -3386,9 +3416,9 @@

Method Details

}, ], }, - "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above. + "wifiSsidPolicy": { # Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. # Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device.Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. A NonComplianceDetail with MANAGEMENT_MODE is reported on other management modes. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 13 (API level 33). "wifiSsidPolicyType": "A String", # Optional. Type of the Wi-Fi SSID policy to be applied. - "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when WifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. If this is set to a non-empty list, then a NonComplianceDetail detail with API_LEVEL is reported if the Android version is less than 13 and a NonComplianceDetail with MANAGEMENT_MODE is reported for non-company-owned devices. + "wifiSsids": [ # Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when wifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. { # Represents a Wi-Fi SSID. "wifiSsid": "A String", # Required. Wi-Fi SSID represented as a string. }, @@ -3405,10 +3435,16 @@

Method Details

"airplaneModeState": "A String", # Optional. Controls whether airplane mode can be toggled by the user or not. "cellularTwoGState": "A String", # Optional. Controls whether cellular 2G setting can be toggled by the user or not. "minimumWifiSecurityLevel": "A String", # Optional. The minimum required security level of Wi-Fi networks that the device can connect to. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for fully managed devices. To control NFC on work profiles on company-owned devices, use deviceWidePolicies.deviceRadioState.nfc instead. "ultraWidebandState": "A String", # Optional. Controls the state of the ultra wideband setting and whether the user can toggle it on or off. "userInitiatedAddEsimSettings": "A String", # Optional. Controls whether the user is allowed to add eSIM profiles. "wifiState": "A String", # Optional. Controls current state of Wi-Fi and if user can change its state. }, + "deviceWidePolicies": { # Policies controlling the device on company-owned devices. # Optional. Policies controlling the device on company-owned devices. + "deviceRadioState": { # Controls for device radio settings. # Optional. Covers controls for radio state. + "nfc": "A String", # Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for work profiles on company-owned devices. To control NFC on fully managed devices, use deviceRadioState.nfc instead. + }, + }, "displaySettings": { # Controls for the display settings. # Optional. Controls for the display settings. "screenBrightnessSettings": { # Controls for the screen brightness settings. # Optional. Controls the screen brightness settings. "screenBrightness": 42, # Optional. The screen brightness between 1 and 255 where 1 is the lowest and 255 is the highest brightness. A value of 0 (default) means no screen brightness set. Any other value is rejected. screenBrightnessMode must be either BRIGHTNESS_AUTOMATIC or BRIGHTNESS_FIXED to set this. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above. diff --git a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json index a461824082..fc56822cab 100644 --- a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json @@ -1265,7 +1265,7 @@ } } }, -"revision": "20261028", +"revision": "20261104", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -3643,7 +3643,7 @@ false }, "wifiSsidPolicy": { "$ref": "WifiSsidPolicy", -"description": "Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above." +"description": "Optional. Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device.Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices. A NonComplianceDetail with MANAGEMENT_MODE is reported on other management modes. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 13 (API level 33)." } }, "type": "object" @@ -3698,6 +3698,20 @@ false ], "type": "string" }, +"nfc": { +"description": "Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for fully managed devices. To control NFC on work profiles on company-owned devices, use deviceWidePolicies.deviceRadioState.nfc instead.", +"enum": [ +"NFC_UNSPECIFIED", +"NFC_USER_CHOICE", +"NFC_DISABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to NFC_USER_CHOICE.", +"The user is allowed to toggle NFC between enabled and disabled. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 15.", +"NFC is disabled on the device. The user is not allowed to toggle NFC on. This is supported on fully managed devices and work profiles on company-owned devices. For other management modes, a NonComplianceDetail with MANAGEMENT_MODE is reported. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 15." +], +"type": "string" +}, "ultraWidebandState": { "description": "Optional. Controls the state of the ultra wideband setting and whether the user can toggle it on or off.", "enum": [ @@ -3798,6 +3812,38 @@ false }, "type": "object" }, +"DeviceWidePolicies": { +"description": "Policies controlling the device on company-owned devices.", +"id": "DeviceWidePolicies", +"properties": { +"deviceRadioState": { +"$ref": "DeviceWideRadioState", +"description": "Optional. Covers controls for radio state." +} +}, +"type": "object" +}, +"DeviceWideRadioState": { +"description": "Controls for device radio settings.", +"id": "DeviceWideRadioState", +"properties": { +"nfc": { +"description": "Optional. Controls whether NFC is disabled on the device and if the user can toggle NFC between enabled and disabled. This is for work profiles on company-owned devices. To control NFC on fully managed devices, use deviceRadioState.nfc instead.", +"enum": [ +"NFC_UNSPECIFIED", +"NFC_USER_CHOICE", +"NFC_DISABLED" +], +"enumDescriptions": [ +"Unspecified. Defaults to NFC_USER_CHOICE.", +"The user is allowed to toggle NFC between enabled and disabled. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 15.", +"NFC is disabled on the device. The user is not allowed to toggle NFC on. This is supported on fully managed devices and work profiles on company-owned devices. For other management modes, a NonComplianceDetail with MANAGEMENT_MODE is reported. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 15." +], +"type": "string" +} +}, +"type": "object" +}, "Display": { "description": "Device display information.", "id": "Display", @@ -6445,6 +6491,10 @@ false "$ref": "DeviceRadioState", "description": "Optional. Covers controls for radio state such as Wi-Fi, bluetooth, and more." }, +"deviceWidePolicies": { +"$ref": "DeviceWidePolicies", +"description": "Optional. Policies controlling the device on company-owned devices." +}, "displaySettings": { "$ref": "DisplaySettings", "description": "Optional. Controls for the display settings." @@ -8584,7 +8634,7 @@ false "type": "object" }, "WifiSsidPolicy": { -"description": "Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on company-owned devices running Android 13 and above.", +"description": "Restrictions on which Wi-Fi SSIDs the device can connect to. Note that this does not affect which networks can be configured on the device. Supported on Android 13 (API level 33) and higher on fully managed devices and work profiles on company-owned devices.", "id": "WifiSsidPolicy", "properties": { "wifiSsidPolicyType": { @@ -8602,7 +8652,7 @@ false "type": "string" }, "wifiSsids": { -"description": "Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when WifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST. If this is set to a non-empty list, then a NonComplianceDetail detail with API_LEVEL is reported if the Android version is less than 13 and a NonComplianceDetail with MANAGEMENT_MODE is reported for non-company-owned devices.", +"description": "Optional. List of Wi-Fi SSIDs that should be applied in the policy. This field must be non-empty when wifiSsidPolicyType is set to WIFI_SSID_ALLOWLIST.", "items": { "$ref": "WifiSsid" }, From 2fa6d603be35d3373ef85ed656b33ee43cd0b0eb Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:23 +0000 Subject: [PATCH 05/57] feat(apigateway): update the api #### apigateway:v1 The following keys were deleted: - schemas.ApigatewayApi.properties.name.readOnly (Total Keys: 1) - schemas.ApigatewayApiConfig.properties.name.readOnly (Total Keys: 1) - schemas.ApigatewayGateway.properties.name.readOnly (Total Keys: 1) #### apigateway:v1beta The following keys were deleted: - schemas.ApigatewayApi.properties.name.readOnly (Total Keys: 1) - schemas.ApigatewayApiConfig.properties.name.readOnly (Total Keys: 1) - schemas.ApigatewayGateway.properties.name.readOnly (Total Keys: 1) --- ...ay_v1.projects.locations.apis.configs.html | 22 ++++----- ...apigateway_v1.projects.locations.apis.html | 20 ++++---- ...ateway_v1.projects.locations.gateways.html | 20 ++++---- ...1beta.projects.locations.apis.configs.html | 22 ++++----- ...ateway_v1beta.projects.locations.apis.html | 20 ++++---- ...ay_v1beta.projects.locations.gateways.html | 20 ++++---- .../documents/apigateway.v1.json | 49 +++++++++---------- .../documents/apigateway.v1beta.json | 49 +++++++++---------- 8 files changed, 108 insertions(+), 114 deletions(-) diff --git a/docs/dyn/apigateway_v1.projects.locations.apis.configs.html b/docs/dyn/apigateway_v1.projects.locations.apis.configs.html index 40d5fe9f43..843cc12b75 100644 --- a/docs/dyn/apigateway_v1.projects.locations.apis.configs.html +++ b/docs/dyn/apigateway_v1.projects.locations.apis.configs.html @@ -146,7 +146,7 @@

Method Details

"path": "A String", # The file path (full or relative path). This is typically the path of the file when it is uploaded. }, ], - "name": "A String", # Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} + "name": "A String", # Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} "openapiDocuments": [ # Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. { # An OpenAPI Specification Document describing an API. "document": { # A lightweight description of a file. # The OpenAPI Specification document file. @@ -231,7 +231,7 @@

Method Details

Args: name: string, Required. Resource name of the form: `projects/*/locations/global/apis/*/configs/*` (required) - view: string, Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view. + view: string, Optional. Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view. Allowed values CONFIG_VIEW_UNSPECIFIED - BASIC - Do not include configuration source files. @@ -271,7 +271,7 @@

Method Details

"path": "A String", # The file path (full or relative path). This is typically the path of the file when it is uploaded. }, ], - "name": "A String", # Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} + "name": "A String", # Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} "openapiDocuments": [ # Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. { # An OpenAPI Specification Document describing an API. "document": { # A lightweight description of a file. # The OpenAPI Specification document file. @@ -340,10 +340,10 @@

Method Details

Args: parent: string, Required. Parent resource of the API Config, of the form: `projects/*/locations/global/apis/*` (required) - filter: string, Filter. - orderBy: string, Order by parameters. - pageSize: integer, Page size. - pageToken: string, Page token. + filter: string, Optional. Filter. + orderBy: string, Optional. Order by parameters. + pageSize: integer, Optional. Page size. + pageToken: string, Optional. Page token. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -381,7 +381,7 @@

Method Details

"path": "A String", # The file path (full or relative path). This is typically the path of the file when it is uploaded. }, ], - "name": "A String", # Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} + "name": "A String", # Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} "openapiDocuments": [ # Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. { # An OpenAPI Specification Document describing an API. "document": { # A lightweight description of a file. # The OpenAPI Specification document file. @@ -421,7 +421,7 @@

Method Details

Updates the parameters of a single ApiConfig.
 
 Args:
-  name: string, Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} (required)
+  name: string, Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -452,7 +452,7 @@ 

Method Details

"path": "A String", # The file path (full or relative path). This is typically the path of the file when it is uploaded. }, ], - "name": "A String", # Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} + "name": "A String", # Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} "openapiDocuments": [ # Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. { # An OpenAPI Specification Document describing an API. "document": { # A lightweight description of a file. # The OpenAPI Specification document file. @@ -466,7 +466,7 @@

Method Details

"updateTime": "A String", # Output only. Updated time. } - updateMask: string, Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apigateway_v1.projects.locations.apis.html b/docs/dyn/apigateway_v1.projects.locations.apis.html index f9e1fec47d..36e93068e1 100644 --- a/docs/dyn/apigateway_v1.projects.locations.apis.html +++ b/docs/dyn/apigateway_v1.projects.locations.apis.html @@ -131,7 +131,7 @@

Method Details

"a_key": "A String", }, "managedService": "A String", # Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. - "name": "A String", # Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} + "name": "A String", # Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} "state": "A String", # Output only. State of the API. "updateTime": "A String", # Output only. Updated time. } @@ -222,7 +222,7 @@

Method Details

"a_key": "A String", }, "managedService": "A String", # Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. - "name": "A String", # Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} + "name": "A String", # Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} "state": "A String", # Output only. State of the API. "updateTime": "A String", # Output only. Updated time. }
@@ -282,10 +282,10 @@

Method Details

Args: parent: string, Required. Parent resource of the API, of the form: `projects/*/locations/global` (required) - filter: string, Filter. - orderBy: string, Order by parameters. - pageSize: integer, Page size. - pageToken: string, Page token. + filter: string, Optional. Filter. + orderBy: string, Optional. Order by parameters. + pageSize: integer, Optional. Page size. + pageToken: string, Optional. Page token. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -303,7 +303,7 @@

Method Details

"a_key": "A String", }, "managedService": "A String", # Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. - "name": "A String", # Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} + "name": "A String", # Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} "state": "A String", # Output only. State of the API. "updateTime": "A String", # Output only. Updated time. }, @@ -334,7 +334,7 @@

Method Details

Updates the parameters of a single Api.
 
 Args:
-  name: string, Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} (required)
+  name: string, Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -345,12 +345,12 @@ 

Method Details

"a_key": "A String", }, "managedService": "A String", # Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. - "name": "A String", # Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} + "name": "A String", # Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} "state": "A String", # Output only. State of the API. "updateTime": "A String", # Output only. Updated time. } - updateMask: string, Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apigateway_v1.projects.locations.gateways.html b/docs/dyn/apigateway_v1.projects.locations.gateways.html index 210dc0e6ec..1af4a5edf4 100644 --- a/docs/dyn/apigateway_v1.projects.locations.gateways.html +++ b/docs/dyn/apigateway_v1.projects.locations.gateways.html @@ -128,7 +128,7 @@

Method Details

"labels": { # Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources "a_key": "A String", }, - "name": "A String", # Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} + "name": "A String", # Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} "state": "A String", # Output only. The current state of the Gateway. "streamingMode": "A String", # Optional. Immutable. Requests streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. "updateTime": "A String", # Output only. Updated time. @@ -222,7 +222,7 @@

Method Details

"labels": { # Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources "a_key": "A String", }, - "name": "A String", # Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} + "name": "A String", # Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} "state": "A String", # Output only. The current state of the Gateway. "streamingMode": "A String", # Optional. Immutable. Requests streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. "updateTime": "A String", # Output only. Updated time. @@ -283,10 +283,10 @@

Method Details

Args: parent: string, Required. Parent resource of the Gateway, of the form: `projects/*/locations/*` (required) - filter: string, Filter. - orderBy: string, Order by parameters. - pageSize: integer, Page size. - pageToken: string, Page token. + filter: string, Optional. Filter. + orderBy: string, Optional. Order by parameters. + pageSize: integer, Optional. Page size. + pageToken: string, Optional. Page token. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -306,7 +306,7 @@

Method Details

"labels": { # Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources "a_key": "A String", }, - "name": "A String", # Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} + "name": "A String", # Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} "state": "A String", # Output only. The current state of the Gateway. "streamingMode": "A String", # Optional. Immutable. Requests streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. "updateTime": "A String", # Output only. Updated time. @@ -338,7 +338,7 @@

Method Details

Updates the parameters of a single Gateway.
 
 Args:
-  name: string, Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} (required)
+  name: string, Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -351,13 +351,13 @@ 

Method Details

"labels": { # Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources "a_key": "A String", }, - "name": "A String", # Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} + "name": "A String", # Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} "state": "A String", # Output only. The current state of the Gateway. "streamingMode": "A String", # Optional. Immutable. Requests streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. "updateTime": "A String", # Output only. Updated time. } - updateMask: string, Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apigateway_v1beta.projects.locations.apis.configs.html b/docs/dyn/apigateway_v1beta.projects.locations.apis.configs.html index d468f913c0..0b59df9106 100644 --- a/docs/dyn/apigateway_v1beta.projects.locations.apis.configs.html +++ b/docs/dyn/apigateway_v1beta.projects.locations.apis.configs.html @@ -151,7 +151,7 @@

Method Details

"path": "A String", # The file path (full or relative path). This is typically the path of the file when it is uploaded. }, ], - "name": "A String", # Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} + "name": "A String", # Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} "openapiDocuments": [ # Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. { # An OpenAPI Specification Document describing an API. "document": { # A lightweight description of a file. # The OpenAPI Specification document file. @@ -236,7 +236,7 @@

Method Details

Args: name: string, Required. Resource name of the form: `projects/*/locations/global/apis/*/configs/*` (required) - view: string, Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view. + view: string, Optional. Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view. Allowed values CONFIG_VIEW_UNSPECIFIED - BASIC - Do not include configuration source files. @@ -281,7 +281,7 @@

Method Details

"path": "A String", # The file path (full or relative path). This is typically the path of the file when it is uploaded. }, ], - "name": "A String", # Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} + "name": "A String", # Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} "openapiDocuments": [ # Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. { # An OpenAPI Specification Document describing an API. "document": { # A lightweight description of a file. # The OpenAPI Specification document file. @@ -350,10 +350,10 @@

Method Details

Args: parent: string, Required. Parent resource of the API Config, of the form: `projects/*/locations/global/apis/*` (required) - filter: string, Filter. - orderBy: string, Order by parameters. - pageSize: integer, Page size. - pageToken: string, Page token. + filter: string, Optional. Filter. + orderBy: string, Optional. Order by parameters. + pageSize: integer, Optional. Page size. + pageToken: string, Optional. Page token. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -396,7 +396,7 @@

Method Details

"path": "A String", # The file path (full or relative path). This is typically the path of the file when it is uploaded. }, ], - "name": "A String", # Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} + "name": "A String", # Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} "openapiDocuments": [ # Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. { # An OpenAPI Specification Document describing an API. "document": { # A lightweight description of a file. # The OpenAPI Specification document file. @@ -436,7 +436,7 @@

Method Details

Updates the parameters of a single ApiConfig.
 
 Args:
-  name: string, Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} (required)
+  name: string, Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -472,7 +472,7 @@ 

Method Details

"path": "A String", # The file path (full or relative path). This is typically the path of the file when it is uploaded. }, ], - "name": "A String", # Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} + "name": "A String", # Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} "openapiDocuments": [ # Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. { # An OpenAPI Specification Document describing an API. "document": { # A lightweight description of a file. # The OpenAPI Specification document file. @@ -486,7 +486,7 @@

Method Details

"updateTime": "A String", # Output only. Updated time. } - updateMask: string, Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apigateway_v1beta.projects.locations.apis.html b/docs/dyn/apigateway_v1beta.projects.locations.apis.html index 8a09c35569..e57a0975fa 100644 --- a/docs/dyn/apigateway_v1beta.projects.locations.apis.html +++ b/docs/dyn/apigateway_v1beta.projects.locations.apis.html @@ -131,7 +131,7 @@

Method Details

"a_key": "A String", }, "managedService": "A String", # Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. - "name": "A String", # Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} + "name": "A String", # Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} "state": "A String", # Output only. State of the API. "updateTime": "A String", # Output only. Updated time. } @@ -222,7 +222,7 @@

Method Details

"a_key": "A String", }, "managedService": "A String", # Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. - "name": "A String", # Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} + "name": "A String", # Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} "state": "A String", # Output only. State of the API. "updateTime": "A String", # Output only. Updated time. }
@@ -282,10 +282,10 @@

Method Details

Args: parent: string, Required. Parent resource of the API, of the form: `projects/*/locations/global` (required) - filter: string, Filter. - orderBy: string, Order by parameters. - pageSize: integer, Page size. - pageToken: string, Page token. + filter: string, Optional. Filter. + orderBy: string, Optional. Order by parameters. + pageSize: integer, Optional. Page size. + pageToken: string, Optional. Page token. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -303,7 +303,7 @@

Method Details

"a_key": "A String", }, "managedService": "A String", # Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. - "name": "A String", # Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} + "name": "A String", # Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} "state": "A String", # Output only. State of the API. "updateTime": "A String", # Output only. Updated time. }, @@ -334,7 +334,7 @@

Method Details

Updates the parameters of a single Api.
 
 Args:
-  name: string, Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} (required)
+  name: string, Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -345,12 +345,12 @@ 

Method Details

"a_key": "A String", }, "managedService": "A String", # Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. - "name": "A String", # Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} + "name": "A String", # Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} "state": "A String", # Output only. State of the API. "updateTime": "A String", # Output only. Updated time. } - updateMask: string, Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apigateway_v1beta.projects.locations.gateways.html b/docs/dyn/apigateway_v1beta.projects.locations.gateways.html index 00f7f4d8a8..0e65e02c84 100644 --- a/docs/dyn/apigateway_v1beta.projects.locations.gateways.html +++ b/docs/dyn/apigateway_v1beta.projects.locations.gateways.html @@ -128,7 +128,7 @@

Method Details

"labels": { # Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources "a_key": "A String", }, - "name": "A String", # Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} + "name": "A String", # Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} "state": "A String", # Output only. The current state of the Gateway. "streamingMode": "A String", # Optional. Immutable. Requests streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. "updateTime": "A String", # Output only. Updated time. @@ -222,7 +222,7 @@

Method Details

"labels": { # Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources "a_key": "A String", }, - "name": "A String", # Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} + "name": "A String", # Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} "state": "A String", # Output only. The current state of the Gateway. "streamingMode": "A String", # Optional. Immutable. Requests streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. "updateTime": "A String", # Output only. Updated time. @@ -283,10 +283,10 @@

Method Details

Args: parent: string, Required. Parent resource of the Gateway, of the form: `projects/*/locations/*` (required) - filter: string, Filter. - orderBy: string, Order by parameters. - pageSize: integer, Page size. - pageToken: string, Page token. + filter: string, Optional. Filter. + orderBy: string, Optional. Order by parameters. + pageSize: integer, Optional. Page size. + pageToken: string, Optional. Page token. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -306,7 +306,7 @@

Method Details

"labels": { # Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources "a_key": "A String", }, - "name": "A String", # Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} + "name": "A String", # Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} "state": "A String", # Output only. The current state of the Gateway. "streamingMode": "A String", # Optional. Immutable. Requests streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. "updateTime": "A String", # Output only. Updated time. @@ -338,7 +338,7 @@

Method Details

Updates the parameters of a single Gateway.
 
 Args:
-  name: string, Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} (required)
+  name: string, Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -351,13 +351,13 @@ 

Method Details

"labels": { # Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources "a_key": "A String", }, - "name": "A String", # Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} + "name": "A String", # Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} "state": "A String", # Output only. The current state of the Gateway. "streamingMode": "A String", # Optional. Immutable. Requests streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. "updateTime": "A String", # Output only. Updated time. } - updateMask: string, Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/googleapiclient/discovery_cache/documents/apigateway.v1.json b/googleapiclient/discovery_cache/documents/apigateway.v1.json index a55625657c..f6b9249a09 100644 --- a/googleapiclient/discovery_cache/documents/apigateway.v1.json +++ b/googleapiclient/discovery_cache/documents/apigateway.v1.json @@ -308,23 +308,23 @@ ], "parameters": { "filter": { -"description": "Filter.", +"description": "Optional. Filter.", "location": "query", "type": "string" }, "orderBy": { -"description": "Order by parameters.", +"description": "Optional. Order by parameters.", "location": "query", "type": "string" }, "pageSize": { -"description": "Page size.", +"description": "Optional. Page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Page token.", +"description": "Optional. Page token.", "location": "query", "type": "string" }, @@ -354,14 +354,14 @@ ], "parameters": { "name": { -"description": "Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", +"description": "Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -513,7 +513,7 @@ "type": "string" }, "view": { -"description": "Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view.", +"description": "Optional. Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view.", "enum": [ "CONFIG_VIEW_UNSPECIFIED", "BASIC", @@ -577,23 +577,23 @@ ], "parameters": { "filter": { -"description": "Filter.", +"description": "Optional. Filter.", "location": "query", "type": "string" }, "orderBy": { -"description": "Order by parameters.", +"description": "Optional. Order by parameters.", "location": "query", "type": "string" }, "pageSize": { -"description": "Page size.", +"description": "Optional. Page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Page token.", +"description": "Optional. Page token.", "location": "query", "type": "string" }, @@ -623,14 +623,14 @@ ], "parameters": { "name": { -"description": "Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", +"description": "Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -833,23 +833,23 @@ ], "parameters": { "filter": { -"description": "Filter.", +"description": "Optional. Filter.", "location": "query", "type": "string" }, "orderBy": { -"description": "Order by parameters.", +"description": "Optional. Order by parameters.", "location": "query", "type": "string" }, "pageSize": { -"description": "Page size.", +"description": "Optional. Page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Page token.", +"description": "Optional. Page token.", "location": "query", "type": "string" }, @@ -879,14 +879,14 @@ ], "parameters": { "name": { -"description": "Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", +"description": "Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1094,7 +1094,7 @@ } } }, -"revision": "20261014", +"revision": "20261028", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1123,8 +1123,7 @@ "type": "string" }, "name": { -"description": "Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", -"readOnly": true, +"description": "Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", "type": "string" }, "state": { @@ -1197,8 +1196,7 @@ "type": "array" }, "name": { -"description": "Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", -"readOnly": true, +"description": "Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", "type": "string" }, "openapiDocuments": { @@ -1435,8 +1433,7 @@ "type": "object" }, "name": { -"description": "Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", -"readOnly": true, +"description": "Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", "type": "string" }, "state": { diff --git a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json index 4c2d979170..ed9867868e 100644 --- a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json +++ b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json @@ -308,23 +308,23 @@ ], "parameters": { "filter": { -"description": "Filter.", +"description": "Optional. Filter.", "location": "query", "type": "string" }, "orderBy": { -"description": "Order by parameters.", +"description": "Optional. Order by parameters.", "location": "query", "type": "string" }, "pageSize": { -"description": "Page size.", +"description": "Optional. Page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Page token.", +"description": "Optional. Page token.", "location": "query", "type": "string" }, @@ -354,14 +354,14 @@ ], "parameters": { "name": { -"description": "Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", +"description": "Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -513,7 +513,7 @@ "type": "string" }, "view": { -"description": "Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view.", +"description": "Optional. Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view.", "enum": [ "CONFIG_VIEW_UNSPECIFIED", "BASIC", @@ -577,23 +577,23 @@ ], "parameters": { "filter": { -"description": "Filter.", +"description": "Optional. Filter.", "location": "query", "type": "string" }, "orderBy": { -"description": "Order by parameters.", +"description": "Optional. Order by parameters.", "location": "query", "type": "string" }, "pageSize": { -"description": "Page size.", +"description": "Optional. Page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Page token.", +"description": "Optional. Page token.", "location": "query", "type": "string" }, @@ -623,14 +623,14 @@ ], "parameters": { "name": { -"description": "Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", +"description": "Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -833,23 +833,23 @@ ], "parameters": { "filter": { -"description": "Filter.", +"description": "Optional. Filter.", "location": "query", "type": "string" }, "orderBy": { -"description": "Order by parameters.", +"description": "Optional. Order by parameters.", "location": "query", "type": "string" }, "pageSize": { -"description": "Page size.", +"description": "Optional. Page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Page token.", +"description": "Optional. Page token.", "location": "query", "type": "string" }, @@ -879,14 +879,14 @@ ], "parameters": { "name": { -"description": "Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", +"description": "Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The request fails if `update_mask` is missing or empty.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1094,7 +1094,7 @@ } } }, -"revision": "20261014", +"revision": "20261028", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1123,8 +1123,7 @@ "type": "string" }, "name": { -"description": "Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", -"readOnly": true, +"description": "Identifier. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", "type": "string" }, "state": { @@ -1201,8 +1200,7 @@ "type": "array" }, "name": { -"description": "Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", -"readOnly": true, +"description": "Identifier. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", "type": "string" }, "openapiDocuments": { @@ -1451,8 +1449,7 @@ "type": "object" }, "name": { -"description": "Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", -"readOnly": true, +"description": "Identifier. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", "type": "string" }, "state": { From dff3668b5daed56648be47a3d562a122e4520a02 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:23 +0000 Subject: [PATCH 06/57] feat(apihub): update the api #### apihub:v1 The following keys were added: - resources.projects.resources.locations.resources.generatedSpecApis.methods.generateSpec (Total Keys: 12) - resources.projects.resources.locations.resources.generatedSpecApis.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.generatedSpecApis.methods.list (Total Keys: 18) - schemas.GoogleCloudApihubV1GenerateSpecRequest (Total Keys: 3) - schemas.GoogleCloudApihubV1GenerateSpecResponse (Total Keys: 3) - schemas.GoogleCloudApihubV1GeneratedSpecApi (Total Keys: 34) - schemas.GoogleCloudApihubV1ListGeneratedSpecApisResponse (Total Keys: 5) - schemas.GoogleTypeInterval (Total Keys: 6) --- ...rojects.locations.apis.versions.specs.html | 28 +- ....projects.locations.generatedSpecApis.html | 218 ++++++++++++++ ...ts.locations.hostProjectRegistrations.html | 4 +- docs/dyn/apihub_v1.projects.locations.html | 13 +- .../discovery_cache/documents/apihub.v1.json | 273 +++++++++++++++++- 5 files changed, 513 insertions(+), 23 deletions(-) create mode 100644 docs/dyn/apihub_v1.projects.locations.generatedSpecApis.html diff --git a/docs/dyn/apihub_v1.projects.locations.apis.versions.specs.html b/docs/dyn/apihub_v1.projects.locations.apis.versions.specs.html index ceef13ea50..596670c28b 100644 --- a/docs/dyn/apihub_v1.projects.locations.apis.versions.specs.html +++ b/docs/dyn/apihub_v1.projects.locations.apis.versions.specs.html @@ -128,7 +128,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -165,7 +165,7 @@

Method Details

}, }, "contents": { # The spec contents. # Optional. Input only. The contents of the uploaded spec. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "createTime": "A String", # Output only. The time at which the spec was created. @@ -283,7 +283,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -320,7 +320,7 @@

Method Details

}, }, "contents": { # The spec contents. # Optional. Input only. The contents of the uploaded spec. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "createTime": "A String", # Output only. The time at which the spec was created. @@ -466,7 +466,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -497,7 +497,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -534,7 +534,7 @@

Method Details

}, }, "contents": { # The spec contents. # Optional. Input only. The contents of the uploaded spec. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "createTime": "A String", # Output only. The time at which the spec was created. @@ -650,7 +650,7 @@

Method Details

An object of the form: { # The spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }
@@ -708,7 +708,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -745,7 +745,7 @@

Method Details

}, }, "contents": { # The spec contents. # Optional. Input only. The contents of the uploaded spec. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "createTime": "A String", # Output only. The time at which the spec was created. @@ -880,7 +880,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -917,7 +917,7 @@

Method Details

}, }, "contents": { # The spec contents. # Optional. Input only. The contents of the uploaded spec. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "createTime": "A String", # Output only. The time at which the spec was created. @@ -1035,7 +1035,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -1072,7 +1072,7 @@

Method Details

}, }, "contents": { # The spec contents. # Optional. Input only. The contents of the uploaded spec. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "createTime": "A String", # Output only. The time at which the spec was created. diff --git a/docs/dyn/apihub_v1.projects.locations.generatedSpecApis.html b/docs/dyn/apihub_v1.projects.locations.generatedSpecApis.html new file mode 100644 index 0000000000..65c335b535 --- /dev/null +++ b/docs/dyn/apihub_v1.projects.locations.generatedSpecApis.html @@ -0,0 +1,218 @@ + + + +

API hub API . projects . locations . generatedSpecApis

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ generateSpec(name, body=None, x__xgafv=None)

+

Merges the per-day stored specs across the requested window and returns the merged OpenAPI document. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.

+

+ get(name, x__xgafv=None)

+

Gets a single GeneratedSpecApi by resource name. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists the APIs the pipeline is tracking, ordered by `update_time desc`. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ generateSpec(name, body=None, x__xgafv=None) +
Merges the per-day stored specs across the requested window and returns the merged OpenAPI document. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.
+
+Args:
+  name: string, Required. The resource name of the GeneratedSpecApi to generate from. Format: `projects/{project}/locations/{location}/generatedSpecApis/{generated_spec_api}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for GenerateSpec.
+  "observationWindow": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # Required. The observation window. The server quantizes to day boundaries and caps the span at 90 days.
+    "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
+    "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for GenerateSpec.
+  "generatedSpec": { # The spec contents. # The merged OpenAPI document for the requested window.
+    "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData.
+    "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets a single GeneratedSpecApi by resource name. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.
+
+Args:
+  name: string, Required. The resource name of the GeneratedSpecApi to retrieve. Format: `projects/{project}/locations/{location}/generatedSpecApis/{generated_spec_api}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An API the pipeline is tracking for spec generation.
+  "api": "A String", # Output only. The full resource name of the associated catalog API. Format: `projects/{project}/locations/{location}/apis/{api}`
+  "createTime": "A String", # Output only. The time at which the resource was created.
+  "deployment": "A String", # Output only. The full resource name of the associated catalog Deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}`
+  "displayName": "A String", # Output only. Human-readable display name; server-derived.
+  "lastSpecGeneratedTime": "A String", # Output only. The time at which the most recent spec was generated. Unset while `state == SPEC_API_REGISTERED`.
+  "name": "A String", # Identifier. The full resource name. The trailing segment is the pipeline-generated identifier. Format: `projects/{project}/locations/{location}/generatedSpecApis/{generated_spec_api}`
+  "source": { # User-facing collapse of the source-side identity tuple. # Output only. Where the pipeline observed this API.
+    "sourceDisplayName": "A String", # Output only. Per-source instance label (e.g. "/" for Apigee X).
+    "type": "A String", # Output only. The source type.
+    "typeDisplayName": "A String", # Output only. Server-supplied label (e.g. "Apigee X").
+  },
+  "spec": "A String", # Output only. The full resource name of the associated catalog Spec; populated only when `state == SPEC_ASSOCIATED`. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
+  "state": "A String", # Output only. The current lifecycle state.
+  "updateTime": "A String", # Output only. The time at which the resource was last updated.
+  "version": "A String", # Output only. The full resource name of the associated catalog Version. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
+}
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the APIs the pipeline is tracking, ordered by `update_time desc`. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.
+
+Args:
+  parent: string, Required. The parent resource, which owns this collection of tracked APIs. Format: `projects/{project}/locations/{location}` (required)
+  filter: string, Optional. An AIP-160 filter. This release supports the fields `state` and `source.source_type`, the `=` comparison operator only, and `AND` conjunction only. Examples: - `state = "SPEC_GENERATED"` - `state = "SPEC_ASSOCIATED" AND source.source_type = APIGEE_X`
+  pageSize: integer, Optional. The maximum number of results to return. The service may return fewer. If unspecified, at most 50 will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
+  pageToken: string, Optional. A page token, received from a previous `ListGeneratedSpecApis` call. Provide this to retrieve the subsequent page. When paginating, all other parameters (except `page_size`) provided to `ListGeneratedSpecApis` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ListGeneratedSpecApis.
+  "generatedSpecApis": [ # The tracked APIs for the requested parent, ordered by `update_time desc`.
+    { # An API the pipeline is tracking for spec generation.
+      "api": "A String", # Output only. The full resource name of the associated catalog API. Format: `projects/{project}/locations/{location}/apis/{api}`
+      "createTime": "A String", # Output only. The time at which the resource was created.
+      "deployment": "A String", # Output only. The full resource name of the associated catalog Deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}`
+      "displayName": "A String", # Output only. Human-readable display name; server-derived.
+      "lastSpecGeneratedTime": "A String", # Output only. The time at which the most recent spec was generated. Unset while `state == SPEC_API_REGISTERED`.
+      "name": "A String", # Identifier. The full resource name. The trailing segment is the pipeline-generated identifier. Format: `projects/{project}/locations/{location}/generatedSpecApis/{generated_spec_api}`
+      "source": { # User-facing collapse of the source-side identity tuple. # Output only. Where the pipeline observed this API.
+        "sourceDisplayName": "A String", # Output only. Per-source instance label (e.g. "/" for Apigee X).
+        "type": "A String", # Output only. The source type.
+        "typeDisplayName": "A String", # Output only. Server-supplied label (e.g. "Apigee X").
+      },
+      "spec": "A String", # Output only. The full resource name of the associated catalog Spec; populated only when `state == SPEC_ASSOCIATED`. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
+      "state": "A String", # Output only. The current lifecycle state.
+      "updateTime": "A String", # Output only. The time at which the resource was last updated.
+      "version": "A String", # Output only. The full resource name of the associated catalog Version. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
+    },
+  ],
+  "nextPageToken": "A String", # A token to retrieve the next page of results; empty when there are no more results.
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/apihub_v1.projects.locations.hostProjectRegistrations.html b/docs/dyn/apihub_v1.projects.locations.hostProjectRegistrations.html index 1dd7c9ffd1..df693b02e3 100644 --- a/docs/dyn/apihub_v1.projects.locations.hostProjectRegistrations.html +++ b/docs/dyn/apihub_v1.projects.locations.hostProjectRegistrations.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, hostProjectRegistrationId=None, x__xgafv=None)

-

Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can be registered as a host project only once. Subsequent register calls for the same project will fail.

+

Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can have only one host project registration at a time. Subsequent register calls for the same project will fail until the existing registration is deleted.

get(name, x__xgafv=None)

Get a host project registration.

@@ -97,7 +97,7 @@

Method Details

create(parent, body=None, hostProjectRegistrationId=None, x__xgafv=None) -
Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can be registered as a host project only once. Subsequent register calls for the same project will fail.
+  
Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can have only one host project registration at a time. Subsequent register calls for the same project will fail until the existing registration is deleted.
 
 Args:
   parent: string, Required. The parent resource for the host project. Format: `projects/{project}/locations/{location}` (required)
diff --git a/docs/dyn/apihub_v1.projects.locations.html b/docs/dyn/apihub_v1.projects.locations.html
index 1411488f5c..555dbfe982 100644
--- a/docs/dyn/apihub_v1.projects.locations.html
+++ b/docs/dyn/apihub_v1.projects.locations.html
@@ -119,6 +119,11 @@ 

Instance Methods

Returns the externalApis Resource.

+

+ generatedSpecApis() +

+

Returns the generatedSpecApis Resource.

+

hostProjectRegistrations()

@@ -748,7 +753,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -785,7 +790,7 @@

Method Details

}, }, "contents": { # The spec contents. # Optional. Input only. The contents of the uploaded spec. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "createTime": "A String", # Output only. The time at which the spec was created. @@ -3343,7 +3348,7 @@

Method Details

}, "specContentType": "A String", # Required. The type of the spec content. "specContents": { # The spec contents. # Optional. The additional spec contents. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "updateTime": "A String", # Output only. The time at which the spec content was last updated. @@ -3380,7 +3385,7 @@

Method Details

}, }, "contents": { # The spec contents. # Optional. Input only. The contents of the uploaded spec. - "contents": "A String", # Required. The contents of the spec. + "contents": "A String", # Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData. "mimeType": "A String", # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc. }, "createTime": "A String", # Output only. The time at which the spec was created. diff --git a/googleapiclient/discovery_cache/documents/apihub.v1.json b/googleapiclient/discovery_cache/documents/apihub.v1.json index c534f6fb9d..64937dd7cc 100644 --- a/googleapiclient/discovery_cache/documents/apihub.v1.json +++ b/googleapiclient/discovery_cache/documents/apihub.v1.json @@ -2499,10 +2499,114 @@ } } }, +"generatedSpecApis": { +"methods": { +"generateSpec": { +"description": "Merges the per-day stored specs across the requested window and returns the merged OpenAPI document. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/generatedSpecApis/{generatedSpecApisId}:generateSpec", +"httpMethod": "POST", +"id": "apihub.projects.locations.generatedSpecApis.generateSpec", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the GeneratedSpecApi to generate from. Format: `projects/{project}/locations/{location}/generatedSpecApis/{generated_spec_api}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/generatedSpecApis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:generateSpec", +"request": { +"$ref": "GoogleCloudApihubV1GenerateSpecRequest" +}, +"response": { +"$ref": "GoogleCloudApihubV1GenerateSpecResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apihub.readonly", +"https://www.googleapis.com/auth/apihub.readwrite", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a single GeneratedSpecApi by resource name. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/generatedSpecApis/{generatedSpecApisId}", +"httpMethod": "GET", +"id": "apihub.projects.locations.generatedSpecApis.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the GeneratedSpecApi to retrieve. Format: `projects/{project}/locations/{location}/generatedSpecApis/{generated_spec_api}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/generatedSpecApis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudApihubV1GeneratedSpecApi" +}, +"scopes": [ +"https://www.googleapis.com/auth/apihub.readonly", +"https://www.googleapis.com/auth/apihub.readwrite", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the APIs the pipeline is tracking, ordered by `update_time desc`. Preview: this method is in Public Preview. Behavior and the API surface may change until the Spec Generation feature reaches General Availability.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/generatedSpecApis", +"httpMethod": "GET", +"id": "apihub.projects.locations.generatedSpecApis.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An AIP-160 filter. This release supports the fields `state` and `source.source_type`, the `=` comparison operator only, and `AND` conjunction only. Examples: - `state = \"SPEC_GENERATED\"` - `state = \"SPEC_ASSOCIATED\" AND source.source_type = APIGEE_X`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return. The service may return fewer. If unspecified, at most 50 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 `ListGeneratedSpecApis` call. Provide this to retrieve the subsequent page. When paginating, all other parameters (except `page_size`) provided to `ListGeneratedSpecApis` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource, which owns this collection of tracked APIs. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/generatedSpecApis", +"response": { +"$ref": "GoogleCloudApihubV1ListGeneratedSpecApisResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/apihub.readonly", +"https://www.googleapis.com/auth/apihub.readwrite", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "hostProjectRegistrations": { "methods": { "create": { -"description": "Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can be registered as a host project only once. Subsequent register calls for the same project will fail.", +"description": "Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can have only one host project registration at a time. Subsequent register calls for the same project will fail until the existing registration is deleted.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hostProjectRegistrations", "httpMethod": "POST", "id": "apihub.projects.locations.hostProjectRegistrations.create", @@ -3495,7 +3599,7 @@ } } }, -"revision": "20261022", +"revision": "20261104", "rootUrl": "https://apihub.googleapis.com/", "schemas": { "Empty": { @@ -5449,6 +5553,134 @@ }, "type": "object" }, +"GoogleCloudApihubV1GenerateSpecRequest": { +"description": "Request for GenerateSpec.", +"id": "GoogleCloudApihubV1GenerateSpecRequest", +"properties": { +"observationWindow": { +"$ref": "GoogleTypeInterval", +"description": "Required. The observation window. The server quantizes to day boundaries and caps the span at 90 days." +} +}, +"type": "object" +}, +"GoogleCloudApihubV1GenerateSpecResponse": { +"description": "Response for GenerateSpec.", +"id": "GoogleCloudApihubV1GenerateSpecResponse", +"properties": { +"generatedSpec": { +"$ref": "GoogleCloudApihubV1SpecContents", +"description": "The merged OpenAPI document for the requested window." +} +}, +"type": "object" +}, +"GoogleCloudApihubV1GeneratedSpecApi": { +"description": "An API the pipeline is tracking for spec generation.", +"id": "GoogleCloudApihubV1GeneratedSpecApi", +"properties": { +"api": { +"description": "Output only. The full resource name of the associated catalog API. Format: `projects/{project}/locations/{location}/apis/{api}`", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time at which the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployment": { +"description": "Output only. The full resource name of the associated catalog Deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}`", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. Human-readable display name; server-derived.", +"readOnly": true, +"type": "string" +}, +"lastSpecGeneratedTime": { +"description": "Output only. The time at which the most recent spec was generated. Unset while `state == SPEC_API_REGISTERED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The full resource name. The trailing segment is the pipeline-generated identifier. Format: `projects/{project}/locations/{location}/generatedSpecApis/{generated_spec_api}`", +"type": "string" +}, +"source": { +"$ref": "GoogleCloudApihubV1GeneratedSpecApiSource", +"description": "Output only. Where the pipeline observed this API.", +"readOnly": true +}, +"spec": { +"description": "Output only. The full resource name of the associated catalog Spec; populated only when `state == SPEC_ASSOCIATED`. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current lifecycle state.", +"enum": [ +"STATE_UNSPECIFIED", +"SPEC_API_REGISTERED", +"SPEC_GENERATED", +"SPEC_ASSOCIATED" +], +"enumDescriptions": [ +"The default value. This value is unused.", +"Observed; no spec written yet.", +"At least one generated spec exists.", +"User-linked to a catalog Spec; spec set." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time at which the resource was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Output only. The full resource name of the associated catalog Version. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudApihubV1GeneratedSpecApiSource": { +"description": "User-facing collapse of the source-side identity tuple.", +"id": "GoogleCloudApihubV1GeneratedSpecApiSource", +"properties": { +"sourceDisplayName": { +"description": "Output only. Per-source instance label (e.g. \"/\" for Apigee X).", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The source type.", +"enum": [ +"TYPE_UNSPECIFIED", +"APIGEE_X" +], +"enumDescriptions": [ +"The default value. This value is unused.", +"Apigee X." +], +"readOnly": true, +"type": "string" +}, +"typeDisplayName": { +"description": "Output only. Server-supplied label (e.g. \"Apigee X\").", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudApihubV1GoogleServiceAccountConfig": { "description": "Config for Google service account authentication.", "id": "GoogleCloudApihubV1GoogleServiceAccountConfig", @@ -6007,6 +6239,24 @@ }, "type": "object" }, +"GoogleCloudApihubV1ListGeneratedSpecApisResponse": { +"description": "Response for ListGeneratedSpecApis.", +"id": "GoogleCloudApihubV1ListGeneratedSpecApisResponse", +"properties": { +"generatedSpecApis": { +"description": "The tracked APIs for the requested parent, ordered by `update_time desc`.", +"items": { +"$ref": "GoogleCloudApihubV1GeneratedSpecApi" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results; empty when there are no more results.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudApihubV1ListHostProjectRegistrationsResponse": { "description": "The ListHostProjectRegistrations method's response.", "id": "GoogleCloudApihubV1ListHostProjectRegistrationsResponse", @@ -7273,7 +7523,7 @@ "id": "GoogleCloudApihubV1SpecContents", "properties": { "contents": { -"description": "Required. The contents of the spec.", +"description": "Required. The contents of the spec. The contents should be base64 encoded while calling the OnePlatform APIs like CreateSpec, UpdateSpec and CollectApiData.", "format": "byte", "type": "string" }, @@ -7795,6 +8045,23 @@ } }, "type": "object" +}, +"GoogleTypeInterval": { +"description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", +"id": "GoogleTypeInterval", +"properties": { +"endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" } }, "servicePath": "", From 8bf45c0e7b2c61a5027a1a2568ac575f4882e511 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:23 +0000 Subject: [PATCH 07/57] feat(artifactregistry): update the api #### artifactregistry:v1 The following keys were added: - schemas.PrewarmedArtifact.properties.createTime (Total Keys: 3) - schemas.PrewarmedArtifact.properties.errorMessage (Total Keys: 2) - schemas.PrewarmedArtifact.properties.sizeBytes (Total Keys: 3) - schemas.PrewarmedArtifact.properties.state (Total Keys: 2) --- ...ry_v1.projects.locations.repositories.html | 12 +++++- ...tions.repositories.prewarmedArtifacts.html | 6 ++- .../documents/artifactregistry.v1.json | 38 ++++++++++++++++++- 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/docs/dyn/artifactregistry_v1.projects.locations.repositories.html b/docs/dyn/artifactregistry_v1.projects.locations.repositories.html index d3a51fb9e3..85949af1ce 100644 --- a/docs/dyn/artifactregistry_v1.projects.locations.repositories.html +++ b/docs/dyn/artifactregistry_v1.projects.locations.repositories.html @@ -216,9 +216,13 @@

Method Details

An object of the form: { # The response for checking an artifact for streaming. - "prewarmedArtifact": { # PrewarmedArtifact represents a streamed artifact. This is not a request message, so field_behavior annotations are not required. # The prewarmed artifact that was checked. + "prewarmedArtifact": { # PrewarmedArtifact represents a streamed artifact. # The prewarmed artifact that was checked. + "createTime": "A String", # Output only. The time the artifact was first prewarmed. + "errorMessage": "A String", # Output only. The error message if the state is `FAILED`. "expirationTime": "A String", # The expiration time of the prewarmed artifact. "location": "A String", # The location of the prewarmed artifact. + "sizeBytes": "A String", # Output only. The compressed size of the prewarmed artifact in bytes. This is the size counted against the prewarm storage quota. + "state": "A String", # Output only. The caching state of the prewarmed artifact. "uri": "A String", # URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf }, }
@@ -1168,9 +1172,13 @@

Method Details

An object of the form: { # The response for removing an artifact from streaming. - "prewarmedArtifact": { # PrewarmedArtifact represents a streamed artifact. This is not a request message, so field_behavior annotations are not required. # The prewarmed artifact that was removed. + "prewarmedArtifact": { # PrewarmedArtifact represents a streamed artifact. # The prewarmed artifact that was removed. + "createTime": "A String", # Output only. The time the artifact was first prewarmed. + "errorMessage": "A String", # Output only. The error message if the state is `FAILED`. "expirationTime": "A String", # The expiration time of the prewarmed artifact. "location": "A String", # The location of the prewarmed artifact. + "sizeBytes": "A String", # Output only. The compressed size of the prewarmed artifact in bytes. This is the size counted against the prewarm storage quota. + "state": "A String", # Output only. The caching state of the prewarmed artifact. "uri": "A String", # URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf }, }
diff --git a/docs/dyn/artifactregistry_v1.projects.locations.repositories.prewarmedArtifacts.html b/docs/dyn/artifactregistry_v1.projects.locations.repositories.prewarmedArtifacts.html index 16bb7e4ed9..1ec2dcc165 100644 --- a/docs/dyn/artifactregistry_v1.projects.locations.repositories.prewarmedArtifacts.html +++ b/docs/dyn/artifactregistry_v1.projects.locations.repositories.prewarmedArtifacts.html @@ -109,9 +109,13 @@

Method Details

{ # The response for listing artifacts for streaming. "nextPageToken": "A String", # The token to retrieve the next page of prewarmed artifacts, or empty if there are no more streamings to return. "prewarmedArtifacts": [ # The prewarmed artifacts. - { # PrewarmedArtifact represents a streamed artifact. This is not a request message, so field_behavior annotations are not required. + { # PrewarmedArtifact represents a streamed artifact. + "createTime": "A String", # Output only. The time the artifact was first prewarmed. + "errorMessage": "A String", # Output only. The error message if the state is `FAILED`. "expirationTime": "A String", # The expiration time of the prewarmed artifact. "location": "A String", # The location of the prewarmed artifact. + "sizeBytes": "A String", # Output only. The compressed size of the prewarmed artifact in bytes. This is the size counted against the prewarm storage quota. + "state": "A String", # Output only. The caching state of the prewarmed artifact. "uri": "A String", # URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf }, ], diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json index 4f6ed5425f..2a86757712 100644 --- a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json +++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json @@ -2714,7 +2714,7 @@ } } }, -"revision": "20260925", +"revision": "20261031", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -4452,9 +4452,20 @@ "type": "object" }, "PrewarmedArtifact": { -"description": "PrewarmedArtifact represents a streamed artifact. This is not a request message, so field_behavior annotations are not required.", +"description": "PrewarmedArtifact represents a streamed artifact.", "id": "PrewarmedArtifact", "properties": { +"createTime": { +"description": "Output only. The time the artifact was first prewarmed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"errorMessage": { +"description": "Output only. The error message if the state is `FAILED`.", +"readOnly": true, +"type": "string" +}, "expirationTime": { "description": "The expiration time of the prewarmed artifact.", "format": "google-datetime", @@ -4464,6 +4475,29 @@ "description": "The location of the prewarmed artifact.", "type": "string" }, +"sizeBytes": { +"description": "Output only. The compressed size of the prewarmed artifact in bytes. This is the size counted against the prewarm storage quota.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The caching state of the prewarmed artifact.", +"enum": [ +"STATE_UNSPECIFIED", +"CACHING", +"ACTIVE", +"FAILED" +], +"enumDescriptions": [ +"State not specified.", +"The artifact is currently being cached.", +"The artifact is cached and ready for streaming.", +"Caching the artifact failed. See `error_message` for details." +], +"readOnly": true, +"type": "string" +}, "uri": { "description": "URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf", "type": "string" From af673535c25a9ad89a93cb6f82752db25eb021f3 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:23 +0000 Subject: [PATCH 08/57] feat(auditmanager): update the api #### auditmanager:v1 The following keys were added: - schemas.AuditReport.properties.cloudControlParameterStates (Total Keys: 3) - schemas.AuditSchedule.properties.parameterOverrides (Total Keys: 2) - schemas.CloudControlParameterStates (Total Keys: 5) - schemas.GenerateAuditReportRequest.properties.parameterOverrides (Total Keys: 2) - schemas.GenerateAuditScopeReportRequest.properties.parameterOverrides (Total Keys: 2) - schemas.ParamValue (Total Keys: 8) - schemas.Parameter (Total Keys: 14) - schemas.StringList (Total Keys: 4) --- ...ger_v1.folders.locations.auditReports.html | 66 +++++++++ ...r_v1.folders.locations.auditSchedules.html | 120 ++++++++++++++++ ...1.folders.locations.auditScopeReports.html | 20 +++ ....organizations.locations.auditReports.html | 66 +++++++++ ...rganizations.locations.auditSchedules.html | 120 ++++++++++++++++ ...nizations.locations.auditScopeReports.html | 20 +++ ...er_v1.projects.locations.auditReports.html | 66 +++++++++ ..._v1.projects.locations.auditSchedules.html | 120 ++++++++++++++++ ....projects.locations.auditScopeReports.html | 20 +++ .../documents/auditmanager.v1.json | 134 +++++++++++++++++- 10 files changed, 751 insertions(+), 1 deletion(-) diff --git a/docs/dyn/auditmanager_v1.folders.locations.auditReports.html b/docs/dyn/auditmanager_v1.folders.locations.auditReports.html index 2d51010b38..12f038456d 100644 --- a/docs/dyn/auditmanager_v1.folders.locations.auditReports.html +++ b/docs/dyn/auditmanager_v1.folders.locations.auditReports.html @@ -108,6 +108,26 @@

Method Details

"complianceFramework": "A String", # Required. The framework that's used for the audit report. For example, `NIST_800_53`. "complianceStandard": "A String", # Optional. Deprecated. Compliance standard for the audit report. Use the `compliance_framework` field instead. "gcsUri": "A String", # URL for the Cloud Storage bucket where the report and evidence is uploaded. You must select a bucket that was provided during the enrollment process. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "validateOnly": True or False, # Optional. If `true`, only validates the request and does not generate the audit report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without triggering expensive Long-Running Operations (LROs) or consuming resource quotas. } @@ -156,6 +176,29 @@

Method Details

An object of the form: { # An audit report. + "cloudControlParameterStates": { # Output only. Parameter values provided by the user and values for tunable parameters, stored in the DB, keyed by control name. + "a_key": { # Collection of parameter states for a cloud control. + "parameterStates": [ # Output only. The parameter states for the cloud control. + { # State of a parameter for a cloud control. + "isOverridden": True or False, # Output only. Whether this parameter was overridden by the user. + "parameter": { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. # Output only. The parameter key and value. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + }, + ], + }, + }, "complianceFramework": "A String", # Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`. "complianceStandard": "A String", # Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead. "controlDetails": [ # Output only. Overall status of the controls. @@ -223,6 +266,29 @@

Method Details

{ # Response message for ListAuditReports. "auditReports": [ # Output only. Audit reports. { # An audit report. + "cloudControlParameterStates": { # Output only. Parameter values provided by the user and values for tunable parameters, stored in the DB, keyed by control name. + "a_key": { # Collection of parameter states for a cloud control. + "parameterStates": [ # Output only. The parameter states for the cloud control. + { # State of a parameter for a cloud control. + "isOverridden": True or False, # Output only. Whether this parameter was overridden by the user. + "parameter": { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. # Output only. The parameter key and value. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + }, + ], + }, + }, "complianceFramework": "A String", # Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`. "complianceStandard": "A String", # Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead. "controlDetails": [ # Output only. Overall status of the controls. diff --git a/docs/dyn/auditmanager_v1.folders.locations.auditSchedules.html b/docs/dyn/auditmanager_v1.folders.locations.auditSchedules.html index 275a410854..4c949d5492 100644 --- a/docs/dyn/auditmanager_v1.folders.locations.auditSchedules.html +++ b/docs/dyn/auditmanager_v1.folders.locations.auditSchedules.html @@ -116,6 +116,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -146,6 +166,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -181,6 +221,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -220,6 +280,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -270,6 +350,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -300,6 +400,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. diff --git a/docs/dyn/auditmanager_v1.folders.locations.auditScopeReports.html b/docs/dyn/auditmanager_v1.folders.locations.auditScopeReports.html index 4a19c91203..691e3f6e62 100644 --- a/docs/dyn/auditmanager_v1.folders.locations.auditScopeReports.html +++ b/docs/dyn/auditmanager_v1.folders.locations.auditScopeReports.html @@ -98,6 +98,26 @@

Method Details

{ # Request message for GenerateAuditScopeReport. "complianceFramework": "A String", # Required. Framework (set of controls) that the audit scope report is generated against. For example, `NIST_800_53`. "complianceStandard": "A String", # Optional. Deprecated. The standard (industry or regulatory requirements) that the audit scope report is run against. Use the `compliance_framework` field instead. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit scope report. "validateOnly": True or False, # Optional. If `true`, only validates the request and does not generate the audit scope report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas. } diff --git a/docs/dyn/auditmanager_v1.organizations.locations.auditReports.html b/docs/dyn/auditmanager_v1.organizations.locations.auditReports.html index 0761212e3d..1d700fbd6f 100644 --- a/docs/dyn/auditmanager_v1.organizations.locations.auditReports.html +++ b/docs/dyn/auditmanager_v1.organizations.locations.auditReports.html @@ -108,6 +108,26 @@

Method Details

"complianceFramework": "A String", # Required. The framework that's used for the audit report. For example, `NIST_800_53`. "complianceStandard": "A String", # Optional. Deprecated. Compliance standard for the audit report. Use the `compliance_framework` field instead. "gcsUri": "A String", # URL for the Cloud Storage bucket where the report and evidence is uploaded. You must select a bucket that was provided during the enrollment process. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "validateOnly": True or False, # Optional. If `true`, only validates the request and does not generate the audit report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without triggering expensive Long-Running Operations (LROs) or consuming resource quotas. } @@ -156,6 +176,29 @@

Method Details

An object of the form: { # An audit report. + "cloudControlParameterStates": { # Output only. Parameter values provided by the user and values for tunable parameters, stored in the DB, keyed by control name. + "a_key": { # Collection of parameter states for a cloud control. + "parameterStates": [ # Output only. The parameter states for the cloud control. + { # State of a parameter for a cloud control. + "isOverridden": True or False, # Output only. Whether this parameter was overridden by the user. + "parameter": { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. # Output only. The parameter key and value. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + }, + ], + }, + }, "complianceFramework": "A String", # Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`. "complianceStandard": "A String", # Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead. "controlDetails": [ # Output only. Overall status of the controls. @@ -223,6 +266,29 @@

Method Details

{ # Response message for ListAuditReports. "auditReports": [ # Output only. Audit reports. { # An audit report. + "cloudControlParameterStates": { # Output only. Parameter values provided by the user and values for tunable parameters, stored in the DB, keyed by control name. + "a_key": { # Collection of parameter states for a cloud control. + "parameterStates": [ # Output only. The parameter states for the cloud control. + { # State of a parameter for a cloud control. + "isOverridden": True or False, # Output only. Whether this parameter was overridden by the user. + "parameter": { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. # Output only. The parameter key and value. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + }, + ], + }, + }, "complianceFramework": "A String", # Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`. "complianceStandard": "A String", # Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead. "controlDetails": [ # Output only. Overall status of the controls. diff --git a/docs/dyn/auditmanager_v1.organizations.locations.auditSchedules.html b/docs/dyn/auditmanager_v1.organizations.locations.auditSchedules.html index 3ed82ccb02..1bcabd7da4 100644 --- a/docs/dyn/auditmanager_v1.organizations.locations.auditSchedules.html +++ b/docs/dyn/auditmanager_v1.organizations.locations.auditSchedules.html @@ -116,6 +116,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -146,6 +166,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -181,6 +221,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -220,6 +280,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -270,6 +350,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -300,6 +400,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. diff --git a/docs/dyn/auditmanager_v1.organizations.locations.auditScopeReports.html b/docs/dyn/auditmanager_v1.organizations.locations.auditScopeReports.html index b458463dcd..1bd2ac92cc 100644 --- a/docs/dyn/auditmanager_v1.organizations.locations.auditScopeReports.html +++ b/docs/dyn/auditmanager_v1.organizations.locations.auditScopeReports.html @@ -98,6 +98,26 @@

Method Details

{ # Request message for GenerateAuditScopeReport. "complianceFramework": "A String", # Required. Framework (set of controls) that the audit scope report is generated against. For example, `NIST_800_53`. "complianceStandard": "A String", # Optional. Deprecated. The standard (industry or regulatory requirements) that the audit scope report is run against. Use the `compliance_framework` field instead. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit scope report. "validateOnly": True or False, # Optional. If `true`, only validates the request and does not generate the audit scope report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas. } diff --git a/docs/dyn/auditmanager_v1.projects.locations.auditReports.html b/docs/dyn/auditmanager_v1.projects.locations.auditReports.html index 243ff0427a..b5f66119fc 100644 --- a/docs/dyn/auditmanager_v1.projects.locations.auditReports.html +++ b/docs/dyn/auditmanager_v1.projects.locations.auditReports.html @@ -108,6 +108,26 @@

Method Details

"complianceFramework": "A String", # Required. The framework that's used for the audit report. For example, `NIST_800_53`. "complianceStandard": "A String", # Optional. Deprecated. Compliance standard for the audit report. Use the `compliance_framework` field instead. "gcsUri": "A String", # URL for the Cloud Storage bucket where the report and evidence is uploaded. You must select a bucket that was provided during the enrollment process. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "validateOnly": True or False, # Optional. If `true`, only validates the request and does not generate the audit report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without triggering expensive Long-Running Operations (LROs) or consuming resource quotas. } @@ -156,6 +176,29 @@

Method Details

An object of the form: { # An audit report. + "cloudControlParameterStates": { # Output only. Parameter values provided by the user and values for tunable parameters, stored in the DB, keyed by control name. + "a_key": { # Collection of parameter states for a cloud control. + "parameterStates": [ # Output only. The parameter states for the cloud control. + { # State of a parameter for a cloud control. + "isOverridden": True or False, # Output only. Whether this parameter was overridden by the user. + "parameter": { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. # Output only. The parameter key and value. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + }, + ], + }, + }, "complianceFramework": "A String", # Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`. "complianceStandard": "A String", # Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead. "controlDetails": [ # Output only. Overall status of the controls. @@ -223,6 +266,29 @@

Method Details

{ # Response message for ListAuditReports. "auditReports": [ # Output only. Audit reports. { # An audit report. + "cloudControlParameterStates": { # Output only. Parameter values provided by the user and values for tunable parameters, stored in the DB, keyed by control name. + "a_key": { # Collection of parameter states for a cloud control. + "parameterStates": [ # Output only. The parameter states for the cloud control. + { # State of a parameter for a cloud control. + "isOverridden": True or False, # Output only. Whether this parameter was overridden by the user. + "parameter": { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. # Output only. The parameter key and value. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + }, + ], + }, + }, "complianceFramework": "A String", # Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`. "complianceStandard": "A String", # Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead. "controlDetails": [ # Output only. Overall status of the controls. diff --git a/docs/dyn/auditmanager_v1.projects.locations.auditSchedules.html b/docs/dyn/auditmanager_v1.projects.locations.auditSchedules.html index e90f9f8a81..72b310155f 100644 --- a/docs/dyn/auditmanager_v1.projects.locations.auditSchedules.html +++ b/docs/dyn/auditmanager_v1.projects.locations.auditSchedules.html @@ -116,6 +116,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -146,6 +166,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -181,6 +221,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -220,6 +280,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -270,6 +350,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. @@ -300,6 +400,26 @@

Method Details

"lastTriggerTime": "A String", # Output only. Timestamp when the audit run was last triggered. "name": "A String", # Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule} "nextRunTime": "A String", # Output only. Calculated timestamp for the next scheduled run. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit report. "scheduleConfig": { # Timing and frequency parameters for recurring audit runs. # Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule. "endTime": "A String", # Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely. diff --git a/docs/dyn/auditmanager_v1.projects.locations.auditScopeReports.html b/docs/dyn/auditmanager_v1.projects.locations.auditScopeReports.html index 9a1f160f8c..5ac898fda4 100644 --- a/docs/dyn/auditmanager_v1.projects.locations.auditScopeReports.html +++ b/docs/dyn/auditmanager_v1.projects.locations.auditScopeReports.html @@ -98,6 +98,26 @@

Method Details

{ # Request message for GenerateAuditScopeReport. "complianceFramework": "A String", # Required. Framework (set of controls) that the audit scope report is generated against. For example, `NIST_800_53`. "complianceStandard": "A String", # Optional. Deprecated. The standard (industry or regulatory requirements) that the audit scope report is run against. Use the `compliance_framework` field instead. + "parameterOverrides": { # Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{"organizations/123/locations/global/cloudControls/control-1": {parameters: [...]}}` + "a_key": { # Wrapper message to associate a list of CSC internal parameter overrides with a control name. + "parameters": [ # The list of parameter overrides. + { # Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control. + "name": "A String", # Required. The name or key of the parameter. + "parameterValue": { # The possible parameter value types. # Required. The value of the parameter. + "boolValue": True or False, # Optional. A boolean value. + "numberValue": 3.14, # Optional. A double value. + "oneofValue": # Object with schema name: Parameter # Optional. Sub-parameter values. + "stringListValue": { # A list of strings for the parameter value. # Optional. A repeated string. + "values": [ # Required. The strings in the list. + "A String", + ], + }, + "stringValue": "A String", # Optional. A string value. + }, + }, + ], + }, + }, "reportFormat": "A String", # Required. Format for the audit scope report. "validateOnly": True or False, # Optional. If `true`, only validates the request and does not generate the audit scope report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas. } diff --git a/googleapiclient/discovery_cache/documents/auditmanager.v1.json b/googleapiclient/discovery_cache/documents/auditmanager.v1.json index 0f97d13120..69e874bd11 100644 --- a/googleapiclient/discovery_cache/documents/auditmanager.v1.json +++ b/googleapiclient/discovery_cache/documents/auditmanager.v1.json @@ -1890,13 +1890,21 @@ } } }, -"revision": "20261016", +"revision": "20261028", "rootUrl": "https://auditmanager.googleapis.com/", "schemas": { "AuditReport": { "description": "An audit report.", "id": "AuditReport", "properties": { +"cloudControlParameterStates": { +"additionalProperties": { +"$ref": "CloudControlParameterStates" +}, +"description": "Output only. Parameter values provided by the user and values for tunable parameters, stored in the DB, keyed by control name.", +"readOnly": true, +"type": "object" +}, "complianceFramework": { "description": "Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`.", "readOnly": true, @@ -2016,6 +2024,13 @@ "readOnly": true, "type": "string" }, +"parameterOverrides": { +"additionalProperties": { +"$ref": "ParameterOverrides" +}, +"description": "Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{\"organizations/123/locations/global/cloudControls/control-1\": {parameters: [...]}}`", +"type": "object" +}, "reportFormat": { "description": "Required. Format for the audit report.", "enum": [ @@ -2085,6 +2100,21 @@ "properties": {}, "type": "object" }, +"CloudControlParameterStates": { +"description": "Collection of parameter states for a cloud control.", +"id": "CloudControlParameterStates", +"properties": { +"parameterStates": { +"description": "Output only. The parameter states for the cloud control.", +"items": { +"$ref": "ParameterState" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, "Control": { "description": "A control.", "id": "Control", @@ -2317,6 +2347,13 @@ "description": "URL for the Cloud Storage bucket where the report and evidence is uploaded. You must select a bucket that was provided during the enrollment process.", "type": "string" }, +"parameterOverrides": { +"additionalProperties": { +"$ref": "ParameterOverrides" +}, +"description": "Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{\"organizations/123/locations/global/cloudControls/control-1\": {parameters: [...]}}`", +"type": "object" +}, "reportFormat": { "description": "Required. Format for the audit report.", "enum": [ @@ -2349,6 +2386,13 @@ "description": "Optional. Deprecated. The standard (industry or regulatory requirements) that the audit scope report is run against. Use the `compliance_framework` field instead.", "type": "string" }, +"parameterOverrides": { +"additionalProperties": { +"$ref": "ParameterOverrides" +}, +"description": "Optional. Maps dynamic parameter overrides by Cloud Control resource name at execution time. For example, `{\"organizations/123/locations/global/cloudControls/control-1\": {parameters: [...]}}`", +"type": "object" +}, "reportFormat": { "description": "Required. Format for the audit scope report.", "enum": [ @@ -2608,6 +2652,80 @@ }, "type": "object" }, +"ParamValue": { +"description": "The possible parameter value types.", +"id": "ParamValue", +"properties": { +"boolValue": { +"description": "Optional. A boolean value.", +"type": "boolean" +}, +"numberValue": { +"description": "Optional. A double value.", +"format": "double", +"type": "number" +}, +"oneofValue": { +"$ref": "Parameter", +"description": "Optional. Sub-parameter values." +}, +"stringListValue": { +"$ref": "StringList", +"description": "Optional. A repeated string." +}, +"stringValue": { +"description": "Optional. A string value.", +"type": "string" +} +}, +"type": "object" +}, +"Parameter": { +"description": "Parameters are key-value pairs that let you provide your custom location requirements, environment requirements, or other settings that are relevant to the cloud control.", +"id": "Parameter", +"properties": { +"name": { +"description": "Required. The name or key of the parameter.", +"type": "string" +}, +"parameterValue": { +"$ref": "ParamValue", +"description": "Required. The value of the parameter." +} +}, +"type": "object" +}, +"ParameterOverrides": { +"description": "Wrapper message to associate a list of CSC internal parameter overrides with a control name.", +"id": "ParameterOverrides", +"properties": { +"parameters": { +"description": "The list of parameter overrides.", +"items": { +"$ref": "Parameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"ParameterState": { +"description": "State of a parameter for a cloud control.", +"id": "ParameterState", +"properties": { +"isOverridden": { +"description": "Output only. Whether this parameter was overridden by the user.", +"readOnly": true, +"type": "boolean" +}, +"parameter": { +"$ref": "Parameter", +"description": "Output only. The parameter key and value.", +"readOnly": true +} +}, +"type": "object" +}, "ReportGenerationProgress": { "description": "Details about the current status of the report-generation process.", "id": "ReportGenerationProgress", @@ -2815,6 +2933,20 @@ } }, "type": "object" +}, +"StringList": { +"description": "A list of strings for the parameter value.", +"id": "StringList", +"properties": { +"values": { +"description": "Required. The strings in the list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" } }, "servicePath": "", From e6cd25cc72c92f1ee3330c15cf5a25824eb092cc Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:24 +0000 Subject: [PATCH 09/57] feat(backupdr): update the api #### backupdr:v1 The following keys were added: - resources.projects.resources.locations.resources.restoreTemplates.methods.create (Total Keys: 16) - resources.projects.resources.locations.resources.restoreTemplates.methods.delete (Total Keys: 15) - resources.projects.resources.locations.resources.restoreTemplates.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.restoreTemplates.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.restoreTemplates.methods.patch (Total Keys: 19) - resources.projects.resources.locations.resources.restoreTemplates.methods.run (Total Keys: 12) - resources.projects.resources.locations.resources.restoreTemplates.resources.executions.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.restoreTemplates.resources.executions.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.restoreTemplates.resources.executions.methods.triggerRestoreCleanup (Total Keys: 12) - resources.projects.resources.locations.resources.restoreVerificationPlans.methods.create (Total Keys: 16) - resources.projects.resources.locations.resources.restoreVerificationPlans.methods.delete (Total Keys: 15) - resources.projects.resources.locations.resources.restoreVerificationPlans.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.restoreVerificationPlans.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.create (Total Keys: 16) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.delete (Total Keys: 13) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.triggerRestoreVerification (Total Keys: 12) - schemas.Backup.properties.verificationSummary (Total Keys: 2) - schemas.BackupSelectionConfig (Total Keys: 3) - schemas.CleanupPhaseInfo (Total Keys: 22) - schemas.ExecutionSummary (Total Keys: 6) - schemas.ListRestoreTemplateExecutionsResponse (Total Keys: 7) - schemas.ListRestoreTemplatesResponse (Total Keys: 7) - schemas.ListRestoreVerificationPlanAssociationsResponse (Total Keys: 7) - schemas.ListRestoreVerificationPlansResponse (Total Keys: 7) - schemas.PostRestoreConfig (Total Keys: 5) - schemas.PostRestorePhaseInfo (Total Keys: 16) - schemas.PreRestoreConfig (Total Keys: 5) - schemas.PreRestorePhaseInfo (Total Keys: 16) - schemas.PreparePhaseInfo (Total Keys: 20) - schemas.RestorePhaseInfo (Total Keys: 20) - schemas.RestoreTemplate (Total Keys: 51) - schemas.RestoreVerificationCleanupRule (Total Keys: 5) - schemas.RestoreVerificationPlan (Total Keys: 36) - schemas.RunRestoreTemplateRequest (Total Keys: 4) - schemas.TriggerRestoreCleanupRequest (Total Keys: 3) - schemas.TriggerRestoreVerificationRequest (Total Keys: 3) - schemas.TriggerSummary (Total Keys: 12) - schemas.VerificationConfig (Total Keys: 5) - schemas.VerificationPhaseInfo (Total Keys: 16) - schemas.VerificationSummary (Total Keys: 9) #### backupdr:v1beta The following keys were added: - resources.projects.resources.locations.resources.restoreTemplates.methods.create (Total Keys: 16) - resources.projects.resources.locations.resources.restoreTemplates.methods.delete (Total Keys: 15) - resources.projects.resources.locations.resources.restoreTemplates.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.restoreTemplates.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.restoreTemplates.methods.patch (Total Keys: 19) - resources.projects.resources.locations.resources.restoreTemplates.methods.run (Total Keys: 12) - resources.projects.resources.locations.resources.restoreTemplates.resources.executions.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.restoreTemplates.resources.executions.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.restoreTemplates.resources.executions.methods.triggerRestoreCleanup (Total Keys: 12) - resources.projects.resources.locations.resources.restoreVerificationPlans.methods.create (Total Keys: 16) - resources.projects.resources.locations.resources.restoreVerificationPlans.methods.delete (Total Keys: 15) - resources.projects.resources.locations.resources.restoreVerificationPlans.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.restoreVerificationPlans.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.create (Total Keys: 16) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.delete (Total Keys: 13) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.restoreVerificationPlans.resources.associations.methods.triggerRestoreVerification (Total Keys: 12) - schemas.Backup.properties.verificationSummary (Total Keys: 2) - schemas.BackupRule.properties.backupVault (Total Keys: 3) - schemas.BackupSelectionConfig (Total Keys: 3) - schemas.CleanupPhaseInfo (Total Keys: 22) - schemas.ExecutionSummary (Total Keys: 6) - schemas.ListRestoreTemplateExecutionsResponse (Total Keys: 7) - schemas.ListRestoreTemplatesResponse (Total Keys: 7) - schemas.ListRestoreVerificationPlanAssociationsResponse (Total Keys: 7) - schemas.ListRestoreVerificationPlansResponse (Total Keys: 7) - schemas.PostRestoreConfig (Total Keys: 5) - schemas.PostRestorePhaseInfo (Total Keys: 16) - schemas.PreRestoreConfig (Total Keys: 5) - schemas.PreRestorePhaseInfo (Total Keys: 16) - schemas.PreparePhaseInfo (Total Keys: 20) - schemas.RestorePhaseInfo (Total Keys: 20) - schemas.RestoreTemplate (Total Keys: 51) - schemas.RestoreVerificationCleanupRule (Total Keys: 5) - schemas.RestoreVerificationPlan (Total Keys: 36) - schemas.RunRestoreTemplateRequest (Total Keys: 4) - schemas.TriggerRestoreCleanupRequest (Total Keys: 3) - schemas.TriggerRestoreVerificationRequest (Total Keys: 3) - schemas.TriggerSummary (Total Keys: 12) - schemas.VerificationConfig (Total Keys: 5) - schemas.VerificationPhaseInfo (Total Keys: 16) - schemas.VerificationSummary (Total Keys: 9) --- ...ions.backupVaults.dataSources.backups.html | 20 + docs/dyn/backupdr_v1.projects.locations.html | 10 + ...locations.restoreTemplates.executions.html | 456 + ...1.projects.locations.restoreTemplates.html | 469 + ...restoreVerificationPlans.associations.html | 359 + ...ts.locations.restoreVerificationPlans.html | 302 + ...v1beta.projects.locations.backupPlans.html | 8 + ...jects.locations.backupPlans.revisions.html | 4 + ...ions.backupVaults.dataSources.backups.html | 20 + .../backupdr_v1beta.projects.locations.html | 10 + ...locations.restoreTemplates.executions.html | 456 + ...a.projects.locations.restoreTemplates.html | 469 + ...restoreVerificationPlans.associations.html | 359 + ...ts.locations.restoreVerificationPlans.html | 302 + .../documents/backupdr.v1.json | 7856 +++++++++------- .../documents/backupdr.v1beta.json | 7869 ++++++++++------- 16 files changed, 12823 insertions(+), 6146 deletions(-) create mode 100644 docs/dyn/backupdr_v1.projects.locations.restoreTemplates.executions.html create mode 100644 docs/dyn/backupdr_v1.projects.locations.restoreTemplates.html create mode 100644 docs/dyn/backupdr_v1.projects.locations.restoreVerificationPlans.associations.html create mode 100644 docs/dyn/backupdr_v1.projects.locations.restoreVerificationPlans.html create mode 100644 docs/dyn/backupdr_v1beta.projects.locations.restoreTemplates.executions.html create mode 100644 docs/dyn/backupdr_v1beta.projects.locations.restoreTemplates.html create mode 100644 docs/dyn/backupdr_v1beta.projects.locations.restoreVerificationPlans.associations.html create mode 100644 docs/dyn/backupdr_v1beta.projects.locations.restoreVerificationPlans.html diff --git a/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.backups.html b/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.backups.html index 82af151340..110189cae4 100644 --- a/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.backups.html +++ b/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.backups.html @@ -437,6 +437,11 @@

Method Details

], "state": "A String", # Output only. The Backup resource instance state. "updateTime": "A String", # Output only. The time when the instance was updated. + "verificationSummary": { # VerificationSummary contains the status and timestamp of the latest Automated Verification test. # Output only. The restore verification status of the backup. + "lastVerificationExecution": "A String", # Output only. The last verification execution. + "lastVerificationState": "A String", # Output only. The state of the last verification. + "lastVerificationTime": "A String", # Output only. The time when the backup was last verified. + }, }, ], "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. @@ -744,6 +749,11 @@

Method Details

], "state": "A String", # Output only. The Backup resource instance state. "updateTime": "A String", # Output only. The time when the instance was updated. + "verificationSummary": { # VerificationSummary contains the status and timestamp of the latest Automated Verification test. # Output only. The restore verification status of the backup. + "lastVerificationExecution": "A String", # Output only. The last verification execution. + "lastVerificationState": "A String", # Output only. The state of the last verification. + "lastVerificationTime": "A String", # Output only. The time when the backup was last verified. + }, }
@@ -1040,6 +1050,11 @@

Method Details

], "state": "A String", # Output only. The Backup resource instance state. "updateTime": "A String", # Output only. The time when the instance was updated. + "verificationSummary": { # VerificationSummary contains the status and timestamp of the latest Automated Verification test. # Output only. The restore verification status of the backup. + "lastVerificationExecution": "A String", # Output only. The last verification execution. + "lastVerificationState": "A String", # Output only. The state of the last verification. + "lastVerificationTime": "A String", # Output only. The time when the backup was last verified. + }, }, ], "nextPageToken": "A String", # A token identifying a page of results the server should return. @@ -1340,6 +1355,11 @@

Method Details

], "state": "A String", # Output only. The Backup resource instance state. "updateTime": "A String", # Output only. The time when the instance was updated. + "verificationSummary": { # VerificationSummary contains the status and timestamp of the latest Automated Verification test. # Output only. The restore verification status of the backup. + "lastVerificationExecution": "A String", # Output only. The last verification execution. + "lastVerificationState": "A String", # Output only. The state of the last verification. + "lastVerificationTime": "A String", # Output only. The time when the backup was last verified. + }, } requestId: 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). diff --git a/docs/dyn/backupdr_v1.projects.locations.html b/docs/dyn/backupdr_v1.projects.locations.html index 3227bcccb8..e6917534e2 100644 --- a/docs/dyn/backupdr_v1.projects.locations.html +++ b/docs/dyn/backupdr_v1.projects.locations.html @@ -119,6 +119,16 @@

Instance Methods

Returns the resourceBackupConfigs Resource.

+

+ restoreTemplates() +

+

Returns the restoreTemplates Resource.

+ +

+ restoreVerificationPlans() +

+

Returns the restoreVerificationPlans Resource.

+

serviceConfig()

diff --git a/docs/dyn/backupdr_v1.projects.locations.restoreTemplates.executions.html b/docs/dyn/backupdr_v1.projects.locations.restoreTemplates.executions.html new file mode 100644 index 0000000000..9f898541c4 --- /dev/null +++ b/docs/dyn/backupdr_v1.projects.locations.restoreTemplates.executions.html @@ -0,0 +1,456 @@ + + + +

Backup and DR Service API . projects . locations . restoreTemplates . executions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

Gets details of a RestoreTemplateExecution.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists RestoreTemplateExecutions in a given project, location and restore template.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ triggerRestoreCleanup(name, body=None, x__xgafv=None)

+

Triggers cleanup of restored resources created during execution.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(name, x__xgafv=None) +
Gets details of a RestoreTemplateExecution.
+
+Args:
+  name: string, Required. The name of the restore template execution to retrieve. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}/executions/{execution_id}' (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `RestoreTemplateExecution` represents a single historical or active execution run.
+  "cleanupPhaseInfo": { # Info for Cleanup phase execution. # Output only. Info for the cleanup phase.
+    "cleanupDuration": "A String", # Output only. Time taken to perform the cleanup of restored resource.
+    "cleanupTime": "A String", # Output only. The time when the resources will be cleaned up.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "failureCleanupRule": { # Defines the specific cleanup action. # Output only. Snapshot of cleanup rule provided for this execution when execution is failed.
+      "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+      "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "startTime": "A String", # Output only. Start time of the phase.
+    "successCleanupRule": { # Defines the specific cleanup action. # Output only. Snapshot of cleanup rule provided for this execution when execution is successful.
+      "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+      "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+    },
+  },
+  "createTime": "A String", # Output only. Create time of the execution.
+  "name": "A String", # Identifier. Resource name of the execution.
+  "phase": "A String", # Output only. The current active phase.
+  "postRestorePhaseInfo": { # Info for Post-Restore phase execution. # Output only. Info for the post-restore phase.
+    "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for post-restore actions.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "postRestoreConfig": { # Configuration for Post-Restore. # Output only. Snapshot of config that will be executed after successful restore operation.
+      "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+      "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+    },
+    "startTime": "A String", # Output only. Start time of the phase.
+  },
+  "preRestorePhaseInfo": { # Info for Pre-Restore phase execution. # Output only. Info for the pre-restore phase.
+    "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for pre-restore actions.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "preRestoreConfig": { # Configuration for Pre-Restore. # Output only. Snapshot of config that will be executed before restore operation.
+      "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+      "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+    },
+    "startTime": "A String", # Output only. Start time of the phase.
+  },
+  "preparePhaseInfo": { # Info for Prepare phase execution. # Output only. Info for the prepare phase.
+    "backup": "A String", # Output only. The source backup used for the restore. The fully qualified URI of the backupdr backup.
+    "backupSelectionConfig": { # Configuration for selecting a backup. # Output only. Snapshot of config used in this execution.
+      "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+    },
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "isBackupExplicitlyPassed": True or False, # Output only. Indicates whether the backup was explicitly passed in the request.
+    "phaseState": "A String", # Output only. The state of this phase.
+    "restoreVerificationPlanAssociation": "A String", # Output only. The restore verification plan association associated with the execution.
+    "startTime": "A String", # Output only. Start time of the phase.
+  },
+  "resourceType": "A String", # Output only. The workload resource type being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+  "restorePhaseInfo": { # Info for Restore phase execution. # Output only. Info for the restore phase.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "restoreDuration": "A String", # Output only. Time taken to restore the resource.
+    "restoreProperties": { # Output only. Snapshot of environment config used during restore of this RestoreTemplateExecution.
+      "a_key": "", # Properties of the object.
+    },
+    "restoreResource": "A String", # Output only. The resource created or restored by this execution.
+    "startTime": "A String", # Output only. Start time of the phase.
+  },
+  "state": "A String", # Output only. State of the execution.
+  "type": "A String", # Output only. The type of the execution.
+  "updateTime": "A String", # Output only. Update time of the execution.
+  "verificationPhaseInfo": { # Info for Verification phase execution. # Output only. Info for the verification phase.
+    "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for verification.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "startTime": "A String", # Output only. Start time of the phase.
+    "verificationConfig": { # Configuration for Verification. # Output only. Snapshot of config that will be executed after successful post restore validation.
+      "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+      "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+    },
+  },
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists RestoreTemplateExecutions in a given project, location and restore template.
+
+Args:
+  parent: string, Required. The project, location, and restore template for which to retrieve executions information. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}`. (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Optional. Hint for how to order the results.
+  pageSize: integer, Optional. Requested page size.
+  pageToken: string, Optional. A token identifying a page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for listing RestoreTemplateExecutions.
+  "nextPageToken": "A String", # A token identifying a page of results.
+  "restoreTemplateExecutions": [ # The list of RestoreTemplateExecution instances.
+    { # A `RestoreTemplateExecution` represents a single historical or active execution run.
+      "cleanupPhaseInfo": { # Info for Cleanup phase execution. # Output only. Info for the cleanup phase.
+        "cleanupDuration": "A String", # Output only. Time taken to perform the cleanup of restored resource.
+        "cleanupTime": "A String", # Output only. The time when the resources will be cleaned up.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "failureCleanupRule": { # Defines the specific cleanup action. # Output only. Snapshot of cleanup rule provided for this execution when execution is failed.
+          "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+          "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "startTime": "A String", # Output only. Start time of the phase.
+        "successCleanupRule": { # Defines the specific cleanup action. # Output only. Snapshot of cleanup rule provided for this execution when execution is successful.
+          "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+          "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+        },
+      },
+      "createTime": "A String", # Output only. Create time of the execution.
+      "name": "A String", # Identifier. Resource name of the execution.
+      "phase": "A String", # Output only. The current active phase.
+      "postRestorePhaseInfo": { # Info for Post-Restore phase execution. # Output only. Info for the post-restore phase.
+        "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for post-restore actions.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "postRestoreConfig": { # Configuration for Post-Restore. # Output only. Snapshot of config that will be executed after successful restore operation.
+          "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+          "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+        },
+        "startTime": "A String", # Output only. Start time of the phase.
+      },
+      "preRestorePhaseInfo": { # Info for Pre-Restore phase execution. # Output only. Info for the pre-restore phase.
+        "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for pre-restore actions.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "preRestoreConfig": { # Configuration for Pre-Restore. # Output only. Snapshot of config that will be executed before restore operation.
+          "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+          "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+        },
+        "startTime": "A String", # Output only. Start time of the phase.
+      },
+      "preparePhaseInfo": { # Info for Prepare phase execution. # Output only. Info for the prepare phase.
+        "backup": "A String", # Output only. The source backup used for the restore. The fully qualified URI of the backupdr backup.
+        "backupSelectionConfig": { # Configuration for selecting a backup. # Output only. Snapshot of config used in this execution.
+          "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+        },
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "isBackupExplicitlyPassed": True or False, # Output only. Indicates whether the backup was explicitly passed in the request.
+        "phaseState": "A String", # Output only. The state of this phase.
+        "restoreVerificationPlanAssociation": "A String", # Output only. The restore verification plan association associated with the execution.
+        "startTime": "A String", # Output only. Start time of the phase.
+      },
+      "resourceType": "A String", # Output only. The workload resource type being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+      "restorePhaseInfo": { # Info for Restore phase execution. # Output only. Info for the restore phase.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "restoreDuration": "A String", # Output only. Time taken to restore the resource.
+        "restoreProperties": { # Output only. Snapshot of environment config used during restore of this RestoreTemplateExecution.
+          "a_key": "", # Properties of the object.
+        },
+        "restoreResource": "A String", # Output only. The resource created or restored by this execution.
+        "startTime": "A String", # Output only. Start time of the phase.
+      },
+      "state": "A String", # Output only. State of the execution.
+      "type": "A String", # Output only. The type of the execution.
+      "updateTime": "A String", # Output only. Update time of the execution.
+      "verificationPhaseInfo": { # Info for Verification phase execution. # Output only. Info for the verification phase.
+        "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for verification.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "startTime": "A String", # Output only. Start time of the phase.
+        "verificationConfig": { # Configuration for Verification. # Output only. Snapshot of config that will be executed after successful post restore validation.
+          "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+          "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+        },
+      },
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ triggerRestoreCleanup(name, body=None, x__xgafv=None) +
Triggers cleanup of restored resources created during execution.
+
+Args:
+  name: string, Required. Name of the restore template execution. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}/executions/{execution_id}' (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for triggering a restore cleanup.
+  "requestId": "A String", # Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/backupdr_v1.projects.locations.restoreTemplates.html b/docs/dyn/backupdr_v1.projects.locations.restoreTemplates.html new file mode 100644 index 0000000000..51fc1349fa --- /dev/null +++ b/docs/dyn/backupdr_v1.projects.locations.restoreTemplates.html @@ -0,0 +1,469 @@ + + + +

Backup and DR Service API . projects . locations . restoreTemplates

+

Instance Methods

+

+ executions() +

+

Returns the executions Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, restoreTemplateId=None, x__xgafv=None)

+

Creates a new RestoreTemplate in a given project and location.

+

+ delete(name, force=None, requestId=None, x__xgafv=None)

+

Deletes a RestoreTemplate.

+

+ get(name, x__xgafv=None)

+

Gets details of a RestoreTemplate.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists RestoreTemplates in a given project and location.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)

+

Updates the settings of a RestoreTemplate.

+

+ run(name, body=None, x__xgafv=None)

+

Runs a RestoreTemplate.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, restoreTemplateId=None, x__xgafv=None) +
Creates a new RestoreTemplate in a given project and location.
+
+Args:
+  parent: string, Required. The restore template project and location in the format 'projects/{project_id}/locations/{location}'. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
+  "backupSelectionConfig": { # Configuration for selecting a backup. # Required. Backup selection configuration.
+    "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+  },
+  "createTime": "A String", # Output only. The time when the restore template was created.
+  "description": "A String", # Optional. User-provided description of the restore template.
+  "etag": "A String", # Optional. Etag for concurrency control.
+  "executionSummary": { # Summary of the last execution. # Output only. Summary of the last execution.
+    "lastExecution": "A String", # Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "lastExecutionState": "A String", # Output only. The state of the last execution.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name of the RestoreTemplate.
+  "postRestoreConfig": { # Configuration for Post-Restore. # Optional. Post-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+  "preRestoreConfig": { # Configuration for Pre-Restore. # Optional. Pre-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+  "resourceType": "A String", # Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+  "restoreProperties": { # Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
+    "a_key": "", # Properties of the object.
+  },
+  "state": "A String", # Output only. The state of the restore template.
+  "updateTime": "A String", # Output only. The time when the restore template was last updated.
+  "verificationConfig": { # Configuration for Verification. # Optional. Verification configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+}
+
+  requestId: 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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  restoreTemplateId: string, Required. The ID of the restore template to create. The ID must be unique for the specified project and location.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, force=None, requestId=None, x__xgafv=None) +
Deletes a RestoreTemplate.
+
+Args:
+  name: string, Required. The name of the restore template to delete. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}' (required)
+  force: boolean, Optional. If set to true, any child RestoreTemplateExecutions will also be deleted. If false and the RestoreTemplate has any child executions, the request will fail.
+  requestId: 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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets details of a RestoreTemplate.
+
+Args:
+  name: string, Required. The name of the restore template to retrieve. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}' (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
+  "backupSelectionConfig": { # Configuration for selecting a backup. # Required. Backup selection configuration.
+    "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+  },
+  "createTime": "A String", # Output only. The time when the restore template was created.
+  "description": "A String", # Optional. User-provided description of the restore template.
+  "etag": "A String", # Optional. Etag for concurrency control.
+  "executionSummary": { # Summary of the last execution. # Output only. Summary of the last execution.
+    "lastExecution": "A String", # Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "lastExecutionState": "A String", # Output only. The state of the last execution.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name of the RestoreTemplate.
+  "postRestoreConfig": { # Configuration for Post-Restore. # Optional. Post-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+  "preRestoreConfig": { # Configuration for Pre-Restore. # Optional. Pre-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+  "resourceType": "A String", # Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+  "restoreProperties": { # Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
+    "a_key": "", # Properties of the object.
+  },
+  "state": "A String", # Output only. The state of the restore template.
+  "updateTime": "A String", # Output only. The time when the restore template was last updated.
+  "verificationConfig": { # Configuration for Verification. # Optional. Verification configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists RestoreTemplates in a given project and location.
+
+Args:
+  parent: string, Required. The project and location from which to list the restore templates. Format: `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Field match expression used to filter the results.
+  orderBy: string, Optional. Field by which to sort the results.
+  pageSize: integer, Optional. The maximum number of items to return.
+  pageToken: string, Optional. A page token, received from a previous `ListRestoreTemplates` call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for listing RestoreTemplates.
+  "nextPageToken": "A String", # A token which may be sent as `page_token` in a subsequent `ListRestoreTemplates` call.
+  "restoreTemplates": [ # The list of RestoreTemplates.
+    { # A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
+      "backupSelectionConfig": { # Configuration for selecting a backup. # Required. Backup selection configuration.
+        "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+      },
+      "createTime": "A String", # Output only. The time when the restore template was created.
+      "description": "A String", # Optional. User-provided description of the restore template.
+      "etag": "A String", # Optional. Etag for concurrency control.
+      "executionSummary": { # Summary of the last execution. # Output only. Summary of the last execution.
+        "lastExecution": "A String", # Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+        "lastExecutionState": "A String", # Output only. The state of the last execution.
+      },
+      "labels": { # Optional. User-defined labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The resource name of the RestoreTemplate.
+      "postRestoreConfig": { # Configuration for Post-Restore. # Optional. Post-restore configuration.
+        "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+        "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+      },
+      "preRestoreConfig": { # Configuration for Pre-Restore. # Optional. Pre-restore configuration.
+        "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+        "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+      },
+      "resourceType": "A String", # Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+      "restoreProperties": { # Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
+        "a_key": "", # Properties of the object.
+      },
+      "state": "A String", # Output only. The state of the restore template.
+      "updateTime": "A String", # Output only. The time when the restore template was last updated.
+      "verificationConfig": { # Configuration for Verification. # Optional. Verification configuration.
+        "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+        "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+      },
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None) +
Updates the settings of a RestoreTemplate.
+
+Args:
+  name: string, Identifier. The resource name of the RestoreTemplate. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
+  "backupSelectionConfig": { # Configuration for selecting a backup. # Required. Backup selection configuration.
+    "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+  },
+  "createTime": "A String", # Output only. The time when the restore template was created.
+  "description": "A String", # Optional. User-provided description of the restore template.
+  "etag": "A String", # Optional. Etag for concurrency control.
+  "executionSummary": { # Summary of the last execution. # Output only. Summary of the last execution.
+    "lastExecution": "A String", # Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "lastExecutionState": "A String", # Output only. The state of the last execution.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name of the RestoreTemplate.
+  "postRestoreConfig": { # Configuration for Post-Restore. # Optional. Post-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+  "preRestoreConfig": { # Configuration for Pre-Restore. # Optional. Pre-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+  "resourceType": "A String", # Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+  "restoreProperties": { # Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
+    "a_key": "", # Properties of the object.
+  },
+  "state": "A String", # Output only. The state of the restore template.
+  "updateTime": "A String", # Output only. The time when the restore template was last updated.
+  "verificationConfig": { # Configuration for Verification. # Optional. Verification configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
+  },
+}
+
+  requestId: 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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Optional. The list of fields to update. Field mask is used to specify the fields to be overwritten in the RestoreTemplate resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.
+  validateOnly: boolean, Optional. Only validate the request, but do not perform mutations. The default is 'false'.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ run(name, body=None, x__xgafv=None) +
Runs a RestoreTemplate.
+
+Args:
+  name: string, Required. The name of the restore template to run. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}' (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for running a RestoreTemplate.
+  "backup": "A String", # Optional. The resource name of the Backup to restore from. If not specified, the latest backup matching the backup selection configuration in the RestoreTemplate will be used. Format: 'projects/{project}/locations/{location}/backupVaults/{backup_vault}/dataSources/{data_source}/backups/{backup}'
+  "requestId": "A 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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/backupdr_v1.projects.locations.restoreVerificationPlans.associations.html b/docs/dyn/backupdr_v1.projects.locations.restoreVerificationPlans.associations.html new file mode 100644 index 0000000000..3cfc7877f2 --- /dev/null +++ b/docs/dyn/backupdr_v1.projects.locations.restoreVerificationPlans.associations.html @@ -0,0 +1,359 @@ + + + +

Backup and DR Service API . projects . locations . restoreVerificationPlans . associations

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, restoreVerificationPlanAssociationId=None, x__xgafv=None)

+

Creates a new RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.

+

+ delete(name, requestId=None, x__xgafv=None)

+

Deletes a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.

+

+ get(name, x__xgafv=None)

+

Gets details of a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists RestoreVerificationPlanAssociations in a given RestoreVerificationPlan.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ triggerRestoreVerification(name, body=None, x__xgafv=None)

+

Triggers a new Restore Verification for the association in a given RestoreVerificationPlan.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, restoreVerificationPlanAssociationId=None, x__xgafv=None) +
Creates a new RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.
+
+Args:
+  parent: string, Required. The parent resource where this association will be created. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A `RestoreVerificationPlanAssociation` binds a specific workload to a `RestoreVerificationPlan`.
+  "createTime": "A String", # Output only. The time when the association was created.
+  "description": "A String", # Optional. The description of the `RestoreVerificationPlanAssociation` resource.
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Output only. Identifier. The resource name of RestoreVerificationPlanAssociation in below format Format : projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}
+  "resourceType": "A String", # Required. Immutable. The type of the Google Cloud resource (e.g., `compute.googleapis.com/Instance`, `sqladmin.googleapis.com/Instance`).
+  "restoreTemplate": "A String", # Required. Immutable. The canonical name of the RestoreTemplate to trigger.
+  "state": "A String", # Output only. The `State` for the `RestoreVerificationPlanAssociation`.
+  "triggerSummary": { # `TriggerSummary` contains the results of the most recent automated restore initiation and the next scheduled execution time. # Output only. Results of the most recent automated restore initiation and the next scheduled execution time.
+    "lastTriggerError": { # 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). # Output only. The error status of the most recent failed trigger.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "lastTriggerTime": "A String", # Output only. The time of the most recent trigger initiation.
+    "lastVerificationExecution": "A String", # Output only. The resource name of the most recent initiated RestoreTemplateExecution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "nextTriggerTime": "A String", # Output only. The scheduled time of the next trigger initiation.
+  },
+  "updateTime": "A String", # Output only. The time when the association was updated.
+}
+
+  requestId: 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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  restoreVerificationPlanAssociationId: string, Required. The ID to use for the association, which will become the final component of the association's resource name. This value should be 1-63 characters, and valid characters are /[a-z0-9_-]/.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, requestId=None, x__xgafv=None) +
Deletes a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.
+
+Args:
+  name: string, Required. The resource name of the RestoreVerificationPlanAssociation to delete. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}` (required)
+  requestId: 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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets details of a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.
+
+Args:
+  name: string, Required. The resource name of the RestoreVerificationPlanAssociation to retrieve. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `RestoreVerificationPlanAssociation` binds a specific workload to a `RestoreVerificationPlan`.
+  "createTime": "A String", # Output only. The time when the association was created.
+  "description": "A String", # Optional. The description of the `RestoreVerificationPlanAssociation` resource.
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Output only. Identifier. The resource name of RestoreVerificationPlanAssociation in below format Format : projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}
+  "resourceType": "A String", # Required. Immutable. The type of the Google Cloud resource (e.g., `compute.googleapis.com/Instance`, `sqladmin.googleapis.com/Instance`).
+  "restoreTemplate": "A String", # Required. Immutable. The canonical name of the RestoreTemplate to trigger.
+  "state": "A String", # Output only. The `State` for the `RestoreVerificationPlanAssociation`.
+  "triggerSummary": { # `TriggerSummary` contains the results of the most recent automated restore initiation and the next scheduled execution time. # Output only. Results of the most recent automated restore initiation and the next scheduled execution time.
+    "lastTriggerError": { # 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). # Output only. The error status of the most recent failed trigger.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "lastTriggerTime": "A String", # Output only. The time of the most recent trigger initiation.
+    "lastVerificationExecution": "A String", # Output only. The resource name of the most recent initiated RestoreTemplateExecution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "nextTriggerTime": "A String", # Output only. The scheduled time of the next trigger initiation.
+  },
+  "updateTime": "A String", # Output only. The time when the association was updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists RestoreVerificationPlanAssociations in a given RestoreVerificationPlan.
+
+Args:
+  parent: string, Required. The parent RestoreVerificationPlan name. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}` (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Optional. Hint for how to order the results.
+  pageSize: integer, Optional. The maximum number of associations to return. The service may return fewer than this value. If unspecified, at most 500 associations will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
+  pageToken: string, Optional. A page token, received from a previous `ListRestoreVerificationPlanAssociations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRestoreVerificationPlanAssociations` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListRestoreVerificationPlanAssociations.
+  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+  "restoreVerificationPlanAssociations": [ # The list of RestoreVerificationPlanAssociations.
+    { # A `RestoreVerificationPlanAssociation` binds a specific workload to a `RestoreVerificationPlan`.
+      "createTime": "A String", # Output only. The time when the association was created.
+      "description": "A String", # Optional. The description of the `RestoreVerificationPlanAssociation` resource.
+      "labels": { # Optional. User-defined labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of RestoreVerificationPlanAssociation in below format Format : projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}
+      "resourceType": "A String", # Required. Immutable. The type of the Google Cloud resource (e.g., `compute.googleapis.com/Instance`, `sqladmin.googleapis.com/Instance`).
+      "restoreTemplate": "A String", # Required. Immutable. The canonical name of the RestoreTemplate to trigger.
+      "state": "A String", # Output only. The `State` for the `RestoreVerificationPlanAssociation`.
+      "triggerSummary": { # `TriggerSummary` contains the results of the most recent automated restore initiation and the next scheduled execution time. # Output only. Results of the most recent automated restore initiation and the next scheduled execution time.
+        "lastTriggerError": { # 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). # Output only. The error status of the most recent failed trigger.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "lastTriggerTime": "A String", # Output only. The time of the most recent trigger initiation.
+        "lastVerificationExecution": "A String", # Output only. The resource name of the most recent initiated RestoreTemplateExecution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+        "nextTriggerTime": "A String", # Output only. The scheduled time of the next trigger initiation.
+      },
+      "updateTime": "A String", # Output only. The time when the association was updated.
+    },
+  ],
+  "unreachable": [ # Unordered list. Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ triggerRestoreVerification(name, body=None, x__xgafv=None) +
Triggers a new Restore Verification for the association in a given RestoreVerificationPlan.
+
+Args:
+  name: string, Required. The resource name of the RestoreVerificationPlanAssociation to trigger. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for TriggerRestoreVerification.
+  "requestId": "A 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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/backupdr_v1.projects.locations.restoreVerificationPlans.html b/docs/dyn/backupdr_v1.projects.locations.restoreVerificationPlans.html new file mode 100644 index 0000000000..bbadecfef1 --- /dev/null +++ b/docs/dyn/backupdr_v1.projects.locations.restoreVerificationPlans.html @@ -0,0 +1,302 @@ + + + +

Backup and DR Service API . projects . locations . restoreVerificationPlans

+

Instance Methods

+

+ associations() +

+

Returns the associations Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, restoreVerificationPlanId=None, x__xgafv=None)

+

Creates a new RestoreVerificationPlan in a given project and location.

+

+ delete(name, force=None, requestId=None, x__xgafv=None)

+

Deletes a single RestoreVerificationPlan. If the `force` flag is set to `true`, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.

+

+ get(name, x__xgafv=None)

+

Gets details of a single RestoreVerificationPlan. Returns the requested RestoreVerificationPlan.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists RestoreVerificationPlans in a given project and location.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, restoreVerificationPlanId=None, x__xgafv=None) +
Creates a new RestoreVerificationPlan in a given project and location.
+
+Args:
+  parent: string, Required. The `RestoreVerificationPlan` project and location in the format `projects/{project}/locations/{location}`. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A `RestoreVerificationPlan` specifies the scheduling and clean-up template for automated restore verification. It contains a `RestoreVerificationSchedule` to dictate when the verifications should run, and a `CleanupConfig` for post-verification resource deletion.
+  "createTime": "A String", # Output only. When the `RestoreVerificationPlan` was created.
+  "description": "A String", # Optional. The description of the `RestoreVerificationPlan` resource. The description allows for additional details about `RestoreVerificationPlan` and its use cases to be provided. An example description is the following: "This is a restore verification plan that performs a daily verification and cleans up the resources immediately after." The description must be at most 2048 characters.
+  "failureCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification fails.
+    "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+    "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Output only. Identifier. The resource name of the `RestoreVerificationPlan`. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`
+  "schedule": "A String", # Required. Describes the schedule on which the restore verification will be executed. The schedule is specified as a [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) string.
+  "state": "A String", # Output only. The `State` for the `RestoreVerificationPlan`.
+  "successCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification succeeds.
+    "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+    "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+  },
+  "timeZone": "A String", # Optional. Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](https://en.wikipedia.org/wiki/Tz_database), like "America/New_York" or "UTC". Defaults to `UTC` if not specified.
+  "updateTime": "A String", # Output only. When the `RestoreVerificationPlan` was last updated.
+}
+
+  requestId: 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).
+  restoreVerificationPlanId: string, Required. The name of the `RestoreVerificationPlan` to create. The name must be unique for the specified project and location. The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, `^[a-z]([-a-z0-9]*[a-z0-9])?$`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, force=None, requestId=None, x__xgafv=None) +
Deletes a single RestoreVerificationPlan. If the `force` flag is set to `true`, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.
+
+Args:
+  name: string, Required. The resource name of the `RestoreVerificationPlan` to delete. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}` (required)
+  force: boolean, Optional. If set to true, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets details of a single RestoreVerificationPlan. Returns the requested RestoreVerificationPlan.
+
+Args:
+  name: string, Required. The resource name of the `RestoreVerificationPlan` to retrieve. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `RestoreVerificationPlan` specifies the scheduling and clean-up template for automated restore verification. It contains a `RestoreVerificationSchedule` to dictate when the verifications should run, and a `CleanupConfig` for post-verification resource deletion.
+  "createTime": "A String", # Output only. When the `RestoreVerificationPlan` was created.
+  "description": "A String", # Optional. The description of the `RestoreVerificationPlan` resource. The description allows for additional details about `RestoreVerificationPlan` and its use cases to be provided. An example description is the following: "This is a restore verification plan that performs a daily verification and cleans up the resources immediately after." The description must be at most 2048 characters.
+  "failureCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification fails.
+    "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+    "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Output only. Identifier. The resource name of the `RestoreVerificationPlan`. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`
+  "schedule": "A String", # Required. Describes the schedule on which the restore verification will be executed. The schedule is specified as a [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) string.
+  "state": "A String", # Output only. The `State` for the `RestoreVerificationPlan`.
+  "successCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification succeeds.
+    "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+    "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+  },
+  "timeZone": "A String", # Optional. Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](https://en.wikipedia.org/wiki/Tz_database), like "America/New_York" or "UTC". Defaults to `UTC` if not specified.
+  "updateTime": "A String", # Output only. When the `RestoreVerificationPlan` was last updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists RestoreVerificationPlans in a given project and location.
+
+Args:
+  parent: string, Required. The project and location for which to retrieve `RestoreVerificationPlans` information. Format: `projects/{project}/locations/{location}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve restore verification plans for all locations, use "-" for the `{location}` value. (required)
+  filter: string, Optional. Field match expression used to filter the results.
+  orderBy: string, Optional. Field by which to sort the results.
+  pageSize: integer, Optional. The maximum number of `RestoreVerificationPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.
+  pageToken: string, Optional. The value of next_page_token received from a previous `ListRestoreVerificationPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListRestoreVerificationPlans` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for getting a list of `RestoreVerificationPlans`.
+  "nextPageToken": "A String", # A token which may be sent as page_token in a subsequent `ListRestoreVerificationPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.
+  "restoreVerificationPlans": [ # The list of `RestoreVerificationPlans` in the project for the specified location. If the `{location}` value in the request is "-", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return restore verification plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.
+    { # A `RestoreVerificationPlan` specifies the scheduling and clean-up template for automated restore verification. It contains a `RestoreVerificationSchedule` to dictate when the verifications should run, and a `CleanupConfig` for post-verification resource deletion.
+      "createTime": "A String", # Output only. When the `RestoreVerificationPlan` was created.
+      "description": "A String", # Optional. The description of the `RestoreVerificationPlan` resource. The description allows for additional details about `RestoreVerificationPlan` and its use cases to be provided. An example description is the following: "This is a restore verification plan that performs a daily verification and cleans up the resources immediately after." The description must be at most 2048 characters.
+      "failureCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification fails.
+        "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+        "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+      },
+      "labels": { # Optional. User-defined labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the `RestoreVerificationPlan`. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`
+      "schedule": "A String", # Required. Describes the schedule on which the restore verification will be executed. The schedule is specified as a [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) string.
+      "state": "A String", # Output only. The `State` for the `RestoreVerificationPlan`.
+      "successCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification succeeds.
+        "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+        "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+      },
+      "timeZone": "A String", # Optional. Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](https://en.wikipedia.org/wiki/Tz_database), like "America/New_York" or "UTC". Defaults to `UTC` if not specified.
+      "updateTime": "A String", # Output only. When the `RestoreVerificationPlan` was last updated.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/backupdr_v1beta.projects.locations.backupPlans.html b/docs/dyn/backupdr_v1beta.projects.locations.backupPlans.html index af82b793ce..891488ca27 100644 --- a/docs/dyn/backupdr_v1beta.projects.locations.backupPlans.html +++ b/docs/dyn/backupdr_v1beta.projects.locations.backupPlans.html @@ -119,6 +119,8 @@

Method Details

"backupRules": [ # Optional. The backup rules for this `BackupPlan`. { # `BackupRule` binds the backup schedule to a retention policy. "backupRetentionDays": 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. + "backupVault": "A String", # Optional. Resource name of backup vault which will be used as storage location for backups generated by this rule. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault} + "backupVaultServiceAccount": "A String", # Output only. The service account used by the BackupVault to take backups. "ruleId": "A String", # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/. "standardSchedule": { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time. "backupWindow": { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window. @@ -256,6 +258,8 @@

Method Details

"backupRules": [ # Optional. The backup rules for this `BackupPlan`. { # `BackupRule` binds the backup schedule to a retention policy. "backupRetentionDays": 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. + "backupVault": "A String", # Optional. Resource name of backup vault which will be used as storage location for backups generated by this rule. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault} + "backupVaultServiceAccount": "A String", # Output only. The service account used by the BackupVault to take backups. "ruleId": "A String", # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/. "standardSchedule": { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time. "backupWindow": { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window. @@ -333,6 +337,8 @@

Method Details

"backupRules": [ # Optional. The backup rules for this `BackupPlan`. { # `BackupRule` binds the backup schedule to a retention policy. "backupRetentionDays": 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. + "backupVault": "A String", # Optional. Resource name of backup vault which will be used as storage location for backups generated by this rule. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault} + "backupVaultServiceAccount": "A String", # Output only. The service account used by the BackupVault to take backups. "ruleId": "A String", # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/. "standardSchedule": { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time. "backupWindow": { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window. @@ -419,6 +425,8 @@

Method Details

"backupRules": [ # Optional. The backup rules for this `BackupPlan`. { # `BackupRule` binds the backup schedule to a retention policy. "backupRetentionDays": 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. + "backupVault": "A String", # Optional. Resource name of backup vault which will be used as storage location for backups generated by this rule. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault} + "backupVaultServiceAccount": "A String", # Output only. The service account used by the BackupVault to take backups. "ruleId": "A String", # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/. "standardSchedule": { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time. "backupWindow": { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window. diff --git a/docs/dyn/backupdr_v1beta.projects.locations.backupPlans.revisions.html b/docs/dyn/backupdr_v1beta.projects.locations.backupPlans.revisions.html index 9d67f24e58..336d13d986 100644 --- a/docs/dyn/backupdr_v1beta.projects.locations.backupPlans.revisions.html +++ b/docs/dyn/backupdr_v1beta.projects.locations.backupPlans.revisions.html @@ -111,6 +111,8 @@

Method Details

"backupRules": [ # Optional. The backup rules for this `BackupPlan`. { # `BackupRule` binds the backup schedule to a retention policy. "backupRetentionDays": 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. + "backupVault": "A String", # Optional. Resource name of backup vault which will be used as storage location for backups generated by this rule. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault} + "backupVaultServiceAccount": "A String", # Output only. The service account used by the BackupVault to take backups. "ruleId": "A String", # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/. "standardSchedule": { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time. "backupWindow": { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window. @@ -192,6 +194,8 @@

Method Details

"backupRules": [ # Optional. The backup rules for this `BackupPlan`. { # `BackupRule` binds the backup schedule to a retention policy. "backupRetentionDays": 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. + "backupVault": "A String", # Optional. Resource name of backup vault which will be used as storage location for backups generated by this rule. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault} + "backupVaultServiceAccount": "A String", # Output only. The service account used by the BackupVault to take backups. "ruleId": "A String", # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/. "standardSchedule": { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time. "backupWindow": { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window. diff --git a/docs/dyn/backupdr_v1beta.projects.locations.backupVaults.dataSources.backups.html b/docs/dyn/backupdr_v1beta.projects.locations.backupVaults.dataSources.backups.html index ef0c569be6..54adc09630 100644 --- a/docs/dyn/backupdr_v1beta.projects.locations.backupVaults.dataSources.backups.html +++ b/docs/dyn/backupdr_v1beta.projects.locations.backupVaults.dataSources.backups.html @@ -431,6 +431,11 @@

Method Details

], "state": "A String", # Output only. The Backup resource instance state. "updateTime": "A String", # Output only. The time when the instance was updated. + "verificationSummary": { # VerificationSummary contains the status and timestamp of the latest Automated Verification test. # Output only. The restore verification status of the backup. + "lastVerificationExecution": "A String", # Output only. The last verification execution. + "lastVerificationState": "A String", # Output only. The state of the last verification. + "lastVerificationTime": "A String", # Output only. The time when the backup was last verified. + }, }, ], "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. @@ -732,6 +737,11 @@

Method Details

], "state": "A String", # Output only. The Backup resource instance state. "updateTime": "A String", # Output only. The time when the instance was updated. + "verificationSummary": { # VerificationSummary contains the status and timestamp of the latest Automated Verification test. # Output only. The restore verification status of the backup. + "lastVerificationExecution": "A String", # Output only. The last verification execution. + "lastVerificationState": "A String", # Output only. The state of the last verification. + "lastVerificationTime": "A String", # Output only. The time when the backup was last verified. + }, }
@@ -1022,6 +1032,11 @@

Method Details

], "state": "A String", # Output only. The Backup resource instance state. "updateTime": "A String", # Output only. The time when the instance was updated. + "verificationSummary": { # VerificationSummary contains the status and timestamp of the latest Automated Verification test. # Output only. The restore verification status of the backup. + "lastVerificationExecution": "A String", # Output only. The last verification execution. + "lastVerificationState": "A String", # Output only. The state of the last verification. + "lastVerificationTime": "A String", # Output only. The time when the backup was last verified. + }, }, ], "nextPageToken": "A String", # A token identifying a page of results the server should return. @@ -1316,6 +1331,11 @@

Method Details

], "state": "A String", # Output only. The Backup resource instance state. "updateTime": "A String", # Output only. The time when the instance was updated. + "verificationSummary": { # VerificationSummary contains the status and timestamp of the latest Automated Verification test. # Output only. The restore verification status of the backup. + "lastVerificationExecution": "A String", # Output only. The last verification execution. + "lastVerificationState": "A String", # Output only. The state of the last verification. + "lastVerificationTime": "A String", # Output only. The time when the backup was last verified. + }, } requestId: 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). diff --git a/docs/dyn/backupdr_v1beta.projects.locations.html b/docs/dyn/backupdr_v1beta.projects.locations.html index 82988baf60..60366d6d43 100644 --- a/docs/dyn/backupdr_v1beta.projects.locations.html +++ b/docs/dyn/backupdr_v1beta.projects.locations.html @@ -119,6 +119,16 @@

Instance Methods

Returns the resourceBackupConfigs Resource.

+

+ restoreTemplates() +

+

Returns the restoreTemplates Resource.

+ +

+ restoreVerificationPlans() +

+

Returns the restoreVerificationPlans Resource.

+

serviceConfig()

diff --git a/docs/dyn/backupdr_v1beta.projects.locations.restoreTemplates.executions.html b/docs/dyn/backupdr_v1beta.projects.locations.restoreTemplates.executions.html new file mode 100644 index 0000000000..7544dbf7f5 --- /dev/null +++ b/docs/dyn/backupdr_v1beta.projects.locations.restoreTemplates.executions.html @@ -0,0 +1,456 @@ + + + +

Backup and DR Service API . projects . locations . restoreTemplates . executions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

Gets details of a RestoreTemplateExecution.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists RestoreTemplateExecutions in a given project, location and restore template.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ triggerRestoreCleanup(name, body=None, x__xgafv=None)

+

Triggers cleanup of restored resources created during execution.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(name, x__xgafv=None) +
Gets details of a RestoreTemplateExecution.
+
+Args:
+  name: string, Required. The name of the restore template execution to retrieve. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}/executions/{execution_id}' (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `RestoreTemplateExecution` represents a single historical or active execution run.
+  "cleanupPhaseInfo": { # Info for Cleanup phase execution. # Output only. Info for the cleanup phase.
+    "cleanupDuration": "A String", # Output only. Time taken to perform the cleanup of restored resource.
+    "cleanupTime": "A String", # Output only. The time when the resources will be cleaned up.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "failureCleanupRule": { # Defines the specific cleanup action. # Output only. Snapshot of cleanup rule provided for this execution when execution is failed.
+      "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+      "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "startTime": "A String", # Output only. Start time of the phase.
+    "successCleanupRule": { # Defines the specific cleanup action. # Output only. Snapshot of cleanup rule provided for this execution when execution is successful.
+      "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+      "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+    },
+  },
+  "createTime": "A String", # Output only. Create time of the execution.
+  "name": "A String", # Identifier. Resource name of the execution.
+  "phase": "A String", # Output only. The current active phase.
+  "postRestorePhaseInfo": { # Info for Post-Restore phase execution. # Output only. Info for the post-restore phase.
+    "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for post-restore actions.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "postRestoreConfig": { # Configuration for Post-Restore. # Output only. Snapshot of config that will be executed after successful restore operation.
+      "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+      "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+    },
+    "startTime": "A String", # Output only. Start time of the phase.
+  },
+  "preRestorePhaseInfo": { # Info for Pre-Restore phase execution. # Output only. Info for the pre-restore phase.
+    "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for pre-restore actions.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "preRestoreConfig": { # Configuration for Pre-Restore. # Output only. Snapshot of config that will be executed before restore operation.
+      "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+      "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+    },
+    "startTime": "A String", # Output only. Start time of the phase.
+  },
+  "preparePhaseInfo": { # Info for Prepare phase execution. # Output only. Info for the prepare phase.
+    "backup": "A String", # Output only. The source backup used for the restore. The fully qualified URI of the backupdr backup.
+    "backupSelectionConfig": { # Configuration for selecting a backup. # Output only. Snapshot of config used in this execution.
+      "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+    },
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "isBackupExplicitlyPassed": True or False, # Output only. Indicates whether the backup was explicitly passed in the request.
+    "phaseState": "A String", # Output only. The state of this phase.
+    "restoreVerificationPlanAssociation": "A String", # Output only. The restore verification plan association associated with the execution.
+    "startTime": "A String", # Output only. Start time of the phase.
+  },
+  "resourceType": "A String", # Output only. The workload resource type being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+  "restorePhaseInfo": { # Info for Restore phase execution. # Output only. Info for the restore phase.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "restoreDuration": "A String", # Output only. Time taken to restore the resource.
+    "restoreProperties": { # Output only. Snapshot of environment config used during restore of this RestoreTemplateExecution.
+      "a_key": "", # Properties of the object.
+    },
+    "restoreResource": "A String", # Output only. The resource created or restored by this execution.
+    "startTime": "A String", # Output only. Start time of the phase.
+  },
+  "state": "A String", # Output only. State of the execution.
+  "type": "A String", # Output only. The type of the execution.
+  "updateTime": "A String", # Output only. Update time of the execution.
+  "verificationPhaseInfo": { # Info for Verification phase execution. # Output only. Info for the verification phase.
+    "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for verification.
+    "endTime": "A String", # Output only. End time of the phase.
+    "error": { # 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). # Output only. Error details if the phase failed.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "phaseState": "A String", # Output only. The state of this phase.
+    "startTime": "A String", # Output only. Start time of the phase.
+    "verificationConfig": { # Configuration for Verification. # Output only. Snapshot of config that will be executed after successful post restore validation.
+      "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+      "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+    },
+  },
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists RestoreTemplateExecutions in a given project, location and restore template.
+
+Args:
+  parent: string, Required. The project, location, and restore template for which to retrieve executions information. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}`. (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Optional. Hint for how to order the results.
+  pageSize: integer, Optional. Requested page size.
+  pageToken: string, Optional. A token identifying a page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for listing RestoreTemplateExecutions.
+  "nextPageToken": "A String", # A token identifying a page of results.
+  "restoreTemplateExecutions": [ # The list of RestoreTemplateExecution instances.
+    { # A `RestoreTemplateExecution` represents a single historical or active execution run.
+      "cleanupPhaseInfo": { # Info for Cleanup phase execution. # Output only. Info for the cleanup phase.
+        "cleanupDuration": "A String", # Output only. Time taken to perform the cleanup of restored resource.
+        "cleanupTime": "A String", # Output only. The time when the resources will be cleaned up.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "failureCleanupRule": { # Defines the specific cleanup action. # Output only. Snapshot of cleanup rule provided for this execution when execution is failed.
+          "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+          "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "startTime": "A String", # Output only. Start time of the phase.
+        "successCleanupRule": { # Defines the specific cleanup action. # Output only. Snapshot of cleanup rule provided for this execution when execution is successful.
+          "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+          "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+        },
+      },
+      "createTime": "A String", # Output only. Create time of the execution.
+      "name": "A String", # Identifier. Resource name of the execution.
+      "phase": "A String", # Output only. The current active phase.
+      "postRestorePhaseInfo": { # Info for Post-Restore phase execution. # Output only. Info for the post-restore phase.
+        "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for post-restore actions.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "postRestoreConfig": { # Configuration for Post-Restore. # Output only. Snapshot of config that will be executed after successful restore operation.
+          "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+          "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+        },
+        "startTime": "A String", # Output only. Start time of the phase.
+      },
+      "preRestorePhaseInfo": { # Info for Pre-Restore phase execution. # Output only. Info for the pre-restore phase.
+        "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for pre-restore actions.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "preRestoreConfig": { # Configuration for Pre-Restore. # Output only. Snapshot of config that will be executed before restore operation.
+          "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+          "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+        },
+        "startTime": "A String", # Output only. Start time of the phase.
+      },
+      "preparePhaseInfo": { # Info for Prepare phase execution. # Output only. Info for the prepare phase.
+        "backup": "A String", # Output only. The source backup used for the restore. The fully qualified URI of the backupdr backup.
+        "backupSelectionConfig": { # Configuration for selecting a backup. # Output only. Snapshot of config used in this execution.
+          "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+        },
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "isBackupExplicitlyPassed": True or False, # Output only. Indicates whether the backup was explicitly passed in the request.
+        "phaseState": "A String", # Output only. The state of this phase.
+        "restoreVerificationPlanAssociation": "A String", # Output only. The restore verification plan association associated with the execution.
+        "startTime": "A String", # Output only. Start time of the phase.
+      },
+      "resourceType": "A String", # Output only. The workload resource type being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+      "restorePhaseInfo": { # Info for Restore phase execution. # Output only. Info for the restore phase.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "restoreDuration": "A String", # Output only. Time taken to restore the resource.
+        "restoreProperties": { # Output only. Snapshot of environment config used during restore of this RestoreTemplateExecution.
+          "a_key": "", # Properties of the object.
+        },
+        "restoreResource": "A String", # Output only. The resource created or restored by this execution.
+        "startTime": "A String", # Output only. Start time of the phase.
+      },
+      "state": "A String", # Output only. State of the execution.
+      "type": "A String", # Output only. The type of the execution.
+      "updateTime": "A String", # Output only. Update time of the execution.
+      "verificationPhaseInfo": { # Info for Verification phase execution. # Output only. Info for the verification phase.
+        "cloudRunExecution": "A String", # Output only. The fully qualified URI of the Cloud Run Execution triggered for verification.
+        "endTime": "A String", # Output only. End time of the phase.
+        "error": { # 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). # Output only. Error details if the phase failed.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "phaseState": "A String", # Output only. The state of this phase.
+        "startTime": "A String", # Output only. Start time of the phase.
+        "verificationConfig": { # Configuration for Verification. # Output only. Snapshot of config that will be executed after successful post restore validation.
+          "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+          "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+        },
+      },
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ triggerRestoreCleanup(name, body=None, x__xgafv=None) +
Triggers cleanup of restored resources created during execution.
+
+Args:
+  name: string, Required. Name of the restore template execution. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}/executions/{execution_id}' (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for triggering a restore cleanup.
+  "requestId": "A String", # Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/backupdr_v1beta.projects.locations.restoreTemplates.html b/docs/dyn/backupdr_v1beta.projects.locations.restoreTemplates.html new file mode 100644 index 0000000000..f6c5133cb9 --- /dev/null +++ b/docs/dyn/backupdr_v1beta.projects.locations.restoreTemplates.html @@ -0,0 +1,469 @@ + + + +

Backup and DR Service API . projects . locations . restoreTemplates

+

Instance Methods

+

+ executions() +

+

Returns the executions Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, restoreTemplateId=None, x__xgafv=None)

+

Creates a new RestoreTemplate in a given project and location.

+

+ delete(name, force=None, requestId=None, x__xgafv=None)

+

Deletes a RestoreTemplate.

+

+ get(name, x__xgafv=None)

+

Gets details of a RestoreTemplate.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists RestoreTemplates in a given project and location.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)

+

Updates the settings of a RestoreTemplate.

+

+ run(name, body=None, x__xgafv=None)

+

Runs a RestoreTemplate.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, restoreTemplateId=None, x__xgafv=None) +
Creates a new RestoreTemplate in a given project and location.
+
+Args:
+  parent: string, Required. The restore template project and location in the format 'projects/{project_id}/locations/{location}'. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
+  "backupSelectionConfig": { # Configuration for selecting a backup. # Required. Backup selection configuration.
+    "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+  },
+  "createTime": "A String", # Output only. The time when the restore template was created.
+  "description": "A String", # Optional. User-provided description of the restore template.
+  "etag": "A String", # Optional. Etag for concurrency control.
+  "executionSummary": { # Summary of the last execution. # Output only. Summary of the last execution.
+    "lastExecution": "A String", # Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "lastExecutionState": "A String", # Output only. The state of the last execution.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name of the RestoreTemplate.
+  "postRestoreConfig": { # Configuration for Post-Restore. # Optional. Post-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+  "preRestoreConfig": { # Configuration for Pre-Restore. # Optional. Pre-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+  "resourceType": "A String", # Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+  "restoreProperties": { # Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
+    "a_key": "", # Properties of the object.
+  },
+  "state": "A String", # Output only. The state of the restore template.
+  "updateTime": "A String", # Output only. The time when the restore template was last updated.
+  "verificationConfig": { # Configuration for Verification. # Optional. Verification configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+}
+
+  requestId: 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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  restoreTemplateId: string, Required. The ID of the restore template to create. The ID must be unique for the specified project and location.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, force=None, requestId=None, x__xgafv=None) +
Deletes a RestoreTemplate.
+
+Args:
+  name: string, Required. The name of the restore template to delete. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}' (required)
+  force: boolean, Optional. If set to true, any child RestoreTemplateExecutions will also be deleted. If false and the RestoreTemplate has any child executions, the request will fail.
+  requestId: 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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets details of a RestoreTemplate.
+
+Args:
+  name: string, Required. The name of the restore template to retrieve. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}' (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
+  "backupSelectionConfig": { # Configuration for selecting a backup. # Required. Backup selection configuration.
+    "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+  },
+  "createTime": "A String", # Output only. The time when the restore template was created.
+  "description": "A String", # Optional. User-provided description of the restore template.
+  "etag": "A String", # Optional. Etag for concurrency control.
+  "executionSummary": { # Summary of the last execution. # Output only. Summary of the last execution.
+    "lastExecution": "A String", # Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "lastExecutionState": "A String", # Output only. The state of the last execution.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name of the RestoreTemplate.
+  "postRestoreConfig": { # Configuration for Post-Restore. # Optional. Post-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+  "preRestoreConfig": { # Configuration for Pre-Restore. # Optional. Pre-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+  "resourceType": "A String", # Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+  "restoreProperties": { # Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
+    "a_key": "", # Properties of the object.
+  },
+  "state": "A String", # Output only. The state of the restore template.
+  "updateTime": "A String", # Output only. The time when the restore template was last updated.
+  "verificationConfig": { # Configuration for Verification. # Optional. Verification configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists RestoreTemplates in a given project and location.
+
+Args:
+  parent: string, Required. The project and location from which to list the restore templates. Format: `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Field match expression used to filter the results.
+  orderBy: string, Optional. Field by which to sort the results.
+  pageSize: integer, Optional. The maximum number of items to return.
+  pageToken: string, Optional. A page token, received from a previous `ListRestoreTemplates` call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for listing RestoreTemplates.
+  "nextPageToken": "A String", # A token which may be sent as `page_token` in a subsequent `ListRestoreTemplates` call.
+  "restoreTemplates": [ # The list of RestoreTemplates.
+    { # A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
+      "backupSelectionConfig": { # Configuration for selecting a backup. # Required. Backup selection configuration.
+        "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+      },
+      "createTime": "A String", # Output only. The time when the restore template was created.
+      "description": "A String", # Optional. User-provided description of the restore template.
+      "etag": "A String", # Optional. Etag for concurrency control.
+      "executionSummary": { # Summary of the last execution. # Output only. Summary of the last execution.
+        "lastExecution": "A String", # Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+        "lastExecutionState": "A String", # Output only. The state of the last execution.
+      },
+      "labels": { # Optional. User-defined labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The resource name of the RestoreTemplate.
+      "postRestoreConfig": { # Configuration for Post-Restore. # Optional. Post-restore configuration.
+        "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+        "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+      },
+      "preRestoreConfig": { # Configuration for Pre-Restore. # Optional. Pre-restore configuration.
+        "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+        "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+      },
+      "resourceType": "A String", # Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+      "restoreProperties": { # Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
+        "a_key": "", # Properties of the object.
+      },
+      "state": "A String", # Output only. The state of the restore template.
+      "updateTime": "A String", # Output only. The time when the restore template was last updated.
+      "verificationConfig": { # Configuration for Verification. # Optional. Verification configuration.
+        "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+        "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+      },
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None) +
Updates the settings of a RestoreTemplate.
+
+Args:
+  name: string, Identifier. The resource name of the RestoreTemplate. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
+  "backupSelectionConfig": { # Configuration for selecting a backup. # Required. Backup selection configuration.
+    "dataSource": "A String", # Required. Immutable. The fully qualified URI of the backupdr data source.
+  },
+  "createTime": "A String", # Output only. The time when the restore template was created.
+  "description": "A String", # Optional. User-provided description of the restore template.
+  "etag": "A String", # Optional. Etag for concurrency control.
+  "executionSummary": { # Summary of the last execution. # Output only. Summary of the last execution.
+    "lastExecution": "A String", # Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "lastExecutionState": "A String", # Output only. The state of the last execution.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name of the RestoreTemplate.
+  "postRestoreConfig": { # Configuration for Post-Restore. # Optional. Post-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+  "preRestoreConfig": { # Configuration for Pre-Restore. # Optional. Pre-restore configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+  "resourceType": "A String", # Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
+  "restoreProperties": { # Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
+    "a_key": "", # Properties of the object.
+  },
+  "state": "A String", # Output only. The state of the restore template.
+  "updateTime": "A String", # Output only. The time when the restore template was last updated.
+  "verificationConfig": { # Configuration for Verification. # Optional. Verification configuration.
+    "cloudRunJob": "A String", # Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
+    "timeout": "A String", # Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).
+  },
+}
+
+  requestId: 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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Optional. The list of fields to update. Field mask is used to specify the fields to be overwritten in the RestoreTemplate resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.
+  validateOnly: boolean, Optional. Only validate the request, but do not perform mutations. The default is 'false'.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ run(name, body=None, x__xgafv=None) +
Runs a RestoreTemplate.
+
+Args:
+  name: string, Required. The name of the restore template to run. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}' (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for running a RestoreTemplate.
+  "backup": "A String", # Optional. The resource name of the Backup to restore from. If not specified, the latest backup matching the backup selection configuration in the RestoreTemplate will be used. Format: 'projects/{project}/locations/{location}/backupVaults/{backup_vault}/dataSources/{data_source}/backups/{backup}'
+  "requestId": "A 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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/backupdr_v1beta.projects.locations.restoreVerificationPlans.associations.html b/docs/dyn/backupdr_v1beta.projects.locations.restoreVerificationPlans.associations.html new file mode 100644 index 0000000000..89b744a07a --- /dev/null +++ b/docs/dyn/backupdr_v1beta.projects.locations.restoreVerificationPlans.associations.html @@ -0,0 +1,359 @@ + + + +

Backup and DR Service API . projects . locations . restoreVerificationPlans . associations

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, restoreVerificationPlanAssociationId=None, x__xgafv=None)

+

Creates a new RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.

+

+ delete(name, requestId=None, x__xgafv=None)

+

Deletes a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.

+

+ get(name, x__xgafv=None)

+

Gets details of a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists RestoreVerificationPlanAssociations in a given RestoreVerificationPlan.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ triggerRestoreVerification(name, body=None, x__xgafv=None)

+

Triggers a new Restore Verification for the association in a given RestoreVerificationPlan.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, restoreVerificationPlanAssociationId=None, x__xgafv=None) +
Creates a new RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.
+
+Args:
+  parent: string, Required. The parent resource where this association will be created. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A `RestoreVerificationPlanAssociation` binds a specific workload to a `RestoreVerificationPlan`.
+  "createTime": "A String", # Output only. The time when the association was created.
+  "description": "A String", # Optional. The description of the `RestoreVerificationPlanAssociation` resource.
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Output only. Identifier. The resource name of RestoreVerificationPlanAssociation in below format Format : projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}
+  "resourceType": "A String", # Required. Immutable. The type of the Google Cloud resource (e.g., `compute.googleapis.com/Instance`, `sqladmin.googleapis.com/Instance`).
+  "restoreTemplate": "A String", # Required. Immutable. The canonical name of the RestoreTemplate to trigger.
+  "state": "A String", # Output only. The `State` for the `RestoreVerificationPlanAssociation`.
+  "triggerSummary": { # `TriggerSummary` contains the results of the most recent automated restore initiation and the next scheduled execution time. # Output only. Results of the most recent automated restore initiation and the next scheduled execution time.
+    "lastTriggerError": { # 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). # Output only. The error status of the most recent failed trigger.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "lastTriggerTime": "A String", # Output only. The time of the most recent trigger initiation.
+    "lastVerificationExecution": "A String", # Output only. The resource name of the most recent initiated RestoreTemplateExecution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "nextTriggerTime": "A String", # Output only. The scheduled time of the next trigger initiation.
+  },
+  "updateTime": "A String", # Output only. The time when the association was updated.
+}
+
+  requestId: 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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  restoreVerificationPlanAssociationId: string, Required. The ID to use for the association, which will become the final component of the association's resource name. This value should be 1-63 characters, and valid characters are /[a-z0-9_-]/.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, requestId=None, x__xgafv=None) +
Deletes a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.
+
+Args:
+  name: string, Required. The resource name of the RestoreVerificationPlanAssociation to delete. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}` (required)
+  requestId: 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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets details of a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.
+
+Args:
+  name: string, Required. The resource name of the RestoreVerificationPlanAssociation to retrieve. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `RestoreVerificationPlanAssociation` binds a specific workload to a `RestoreVerificationPlan`.
+  "createTime": "A String", # Output only. The time when the association was created.
+  "description": "A String", # Optional. The description of the `RestoreVerificationPlanAssociation` resource.
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Output only. Identifier. The resource name of RestoreVerificationPlanAssociation in below format Format : projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}
+  "resourceType": "A String", # Required. Immutable. The type of the Google Cloud resource (e.g., `compute.googleapis.com/Instance`, `sqladmin.googleapis.com/Instance`).
+  "restoreTemplate": "A String", # Required. Immutable. The canonical name of the RestoreTemplate to trigger.
+  "state": "A String", # Output only. The `State` for the `RestoreVerificationPlanAssociation`.
+  "triggerSummary": { # `TriggerSummary` contains the results of the most recent automated restore initiation and the next scheduled execution time. # Output only. Results of the most recent automated restore initiation and the next scheduled execution time.
+    "lastTriggerError": { # 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). # Output only. The error status of the most recent failed trigger.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # 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.
+    },
+    "lastTriggerTime": "A String", # Output only. The time of the most recent trigger initiation.
+    "lastVerificationExecution": "A String", # Output only. The resource name of the most recent initiated RestoreTemplateExecution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+    "nextTriggerTime": "A String", # Output only. The scheduled time of the next trigger initiation.
+  },
+  "updateTime": "A String", # Output only. The time when the association was updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists RestoreVerificationPlanAssociations in a given RestoreVerificationPlan.
+
+Args:
+  parent: string, Required. The parent RestoreVerificationPlan name. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}` (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Optional. Hint for how to order the results.
+  pageSize: integer, Optional. The maximum number of associations to return. The service may return fewer than this value. If unspecified, at most 500 associations will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
+  pageToken: string, Optional. A page token, received from a previous `ListRestoreVerificationPlanAssociations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRestoreVerificationPlanAssociations` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListRestoreVerificationPlanAssociations.
+  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+  "restoreVerificationPlanAssociations": [ # The list of RestoreVerificationPlanAssociations.
+    { # A `RestoreVerificationPlanAssociation` binds a specific workload to a `RestoreVerificationPlan`.
+      "createTime": "A String", # Output only. The time when the association was created.
+      "description": "A String", # Optional. The description of the `RestoreVerificationPlanAssociation` resource.
+      "labels": { # Optional. User-defined labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of RestoreVerificationPlanAssociation in below format Format : projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}
+      "resourceType": "A String", # Required. Immutable. The type of the Google Cloud resource (e.g., `compute.googleapis.com/Instance`, `sqladmin.googleapis.com/Instance`).
+      "restoreTemplate": "A String", # Required. Immutable. The canonical name of the RestoreTemplate to trigger.
+      "state": "A String", # Output only. The `State` for the `RestoreVerificationPlanAssociation`.
+      "triggerSummary": { # `TriggerSummary` contains the results of the most recent automated restore initiation and the next scheduled execution time. # Output only. Results of the most recent automated restore initiation and the next scheduled execution time.
+        "lastTriggerError": { # 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). # Output only. The error status of the most recent failed trigger.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "lastTriggerTime": "A String", # Output only. The time of the most recent trigger initiation.
+        "lastVerificationExecution": "A String", # Output only. The resource name of the most recent initiated RestoreTemplateExecution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
+        "nextTriggerTime": "A String", # Output only. The scheduled time of the next trigger initiation.
+      },
+      "updateTime": "A String", # Output only. The time when the association was updated.
+    },
+  ],
+  "unreachable": [ # Unordered list. Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ triggerRestoreVerification(name, body=None, x__xgafv=None) +
Triggers a new Restore Verification for the association in a given RestoreVerificationPlan.
+
+Args:
+  name: string, Required. The resource name of the RestoreVerificationPlanAssociation to trigger. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for TriggerRestoreVerification.
+  "requestId": "A 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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/backupdr_v1beta.projects.locations.restoreVerificationPlans.html b/docs/dyn/backupdr_v1beta.projects.locations.restoreVerificationPlans.html new file mode 100644 index 0000000000..6f395c47dc --- /dev/null +++ b/docs/dyn/backupdr_v1beta.projects.locations.restoreVerificationPlans.html @@ -0,0 +1,302 @@ + + + +

Backup and DR Service API . projects . locations . restoreVerificationPlans

+

Instance Methods

+

+ associations() +

+

Returns the associations Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, restoreVerificationPlanId=None, x__xgafv=None)

+

Creates a new RestoreVerificationPlan in a given project and location.

+

+ delete(name, force=None, requestId=None, x__xgafv=None)

+

Deletes a single RestoreVerificationPlan. If the `force` flag is set to `true`, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.

+

+ get(name, x__xgafv=None)

+

Gets details of a single RestoreVerificationPlan. Returns the requested RestoreVerificationPlan.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists RestoreVerificationPlans in a given project and location.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, restoreVerificationPlanId=None, x__xgafv=None) +
Creates a new RestoreVerificationPlan in a given project and location.
+
+Args:
+  parent: string, Required. The `RestoreVerificationPlan` project and location in the format `projects/{project}/locations/{location}`. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A `RestoreVerificationPlan` specifies the scheduling and clean-up template for automated restore verification. It contains a `RestoreVerificationSchedule` to dictate when the verifications should run, and a `CleanupConfig` for post-verification resource deletion.
+  "createTime": "A String", # Output only. When the `RestoreVerificationPlan` was created.
+  "description": "A String", # Optional. The description of the `RestoreVerificationPlan` resource. The description allows for additional details about `RestoreVerificationPlan` and its use cases to be provided. An example description is the following: "This is a restore verification plan that performs a daily verification and cleans up the resources immediately after." The description must be at most 2048 characters.
+  "failureCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification fails.
+    "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+    "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Output only. Identifier. The resource name of the `RestoreVerificationPlan`. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`
+  "schedule": "A String", # Required. Describes the schedule on which the restore verification will be executed. The schedule is specified as a [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) string.
+  "state": "A String", # Output only. The `State` for the `RestoreVerificationPlan`.
+  "successCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification succeeds.
+    "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+    "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+  },
+  "timeZone": "A String", # Optional. Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](https://en.wikipedia.org/wiki/Tz_database), like "America/New_York" or "UTC". Defaults to `UTC` if not specified.
+  "updateTime": "A String", # Output only. When the `RestoreVerificationPlan` was last updated.
+}
+
+  requestId: 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).
+  restoreVerificationPlanId: string, Required. The name of the `RestoreVerificationPlan` to create. The name must be unique for the specified project and location. The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, `^[a-z]([-a-z0-9]*[a-z0-9])?$`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, force=None, requestId=None, x__xgafv=None) +
Deletes a single RestoreVerificationPlan. If the `force` flag is set to `true`, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.
+
+Args:
+  name: string, Required. The resource name of the `RestoreVerificationPlan` to delete. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}` (required)
+  force: boolean, Optional. If set to true, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets details of a single RestoreVerificationPlan. Returns the requested RestoreVerificationPlan.
+
+Args:
+  name: string, Required. The resource name of the `RestoreVerificationPlan` to retrieve. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `RestoreVerificationPlan` specifies the scheduling and clean-up template for automated restore verification. It contains a `RestoreVerificationSchedule` to dictate when the verifications should run, and a `CleanupConfig` for post-verification resource deletion.
+  "createTime": "A String", # Output only. When the `RestoreVerificationPlan` was created.
+  "description": "A String", # Optional. The description of the `RestoreVerificationPlan` resource. The description allows for additional details about `RestoreVerificationPlan` and its use cases to be provided. An example description is the following: "This is a restore verification plan that performs a daily verification and cleans up the resources immediately after." The description must be at most 2048 characters.
+  "failureCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification fails.
+    "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+    "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+  },
+  "labels": { # Optional. User-defined labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Output only. Identifier. The resource name of the `RestoreVerificationPlan`. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`
+  "schedule": "A String", # Required. Describes the schedule on which the restore verification will be executed. The schedule is specified as a [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) string.
+  "state": "A String", # Output only. The `State` for the `RestoreVerificationPlan`.
+  "successCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification succeeds.
+    "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+    "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+  },
+  "timeZone": "A String", # Optional. Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](https://en.wikipedia.org/wiki/Tz_database), like "America/New_York" or "UTC". Defaults to `UTC` if not specified.
+  "updateTime": "A String", # Output only. When the `RestoreVerificationPlan` was last updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists RestoreVerificationPlans in a given project and location.
+
+Args:
+  parent: string, Required. The project and location for which to retrieve `RestoreVerificationPlans` information. Format: `projects/{project}/locations/{location}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve restore verification plans for all locations, use "-" for the `{location}` value. (required)
+  filter: string, Optional. Field match expression used to filter the results.
+  orderBy: string, Optional. Field by which to sort the results.
+  pageSize: integer, Optional. The maximum number of `RestoreVerificationPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.
+  pageToken: string, Optional. The value of next_page_token received from a previous `ListRestoreVerificationPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListRestoreVerificationPlans` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for getting a list of `RestoreVerificationPlans`.
+  "nextPageToken": "A String", # A token which may be sent as page_token in a subsequent `ListRestoreVerificationPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.
+  "restoreVerificationPlans": [ # The list of `RestoreVerificationPlans` in the project for the specified location. If the `{location}` value in the request is "-", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return restore verification plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.
+    { # A `RestoreVerificationPlan` specifies the scheduling and clean-up template for automated restore verification. It contains a `RestoreVerificationSchedule` to dictate when the verifications should run, and a `CleanupConfig` for post-verification resource deletion.
+      "createTime": "A String", # Output only. When the `RestoreVerificationPlan` was created.
+      "description": "A String", # Optional. The description of the `RestoreVerificationPlan` resource. The description allows for additional details about `RestoreVerificationPlan` and its use cases to be provided. An example description is the following: "This is a restore verification plan that performs a daily verification and cleans up the resources immediately after." The description must be at most 2048 characters.
+      "failureCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification fails.
+        "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+        "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+      },
+      "labels": { # Optional. User-defined labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the `RestoreVerificationPlan`. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`
+      "schedule": "A String", # Required. Describes the schedule on which the restore verification will be executed. The schedule is specified as a [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) string.
+      "state": "A String", # Output only. The `State` for the `RestoreVerificationPlan`.
+      "successCleanupRule": { # Defines the specific cleanup action. # Optional. The cleanup rule to apply if the restore verification succeeds.
+        "cleanupDelay": "A String", # Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).
+        "skipCleanup": True or False, # Optional. If set to true, the restored resource will not be cleaned up.
+      },
+      "timeZone": "A String", # Optional. Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](https://en.wikipedia.org/wiki/Tz_database), like "America/New_York" or "UTC". Defaults to `UTC` if not specified.
+      "updateTime": "A String", # Output only. When the `RestoreVerificationPlan` was last updated.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/backupdr.v1.json b/googleapiclient/discovery_cache/documents/backupdr.v1.json index 6325a1b82d..0c7b11fcee 100644 --- a/googleapiclient/discovery_cache/documents/backupdr.v1.json +++ b/googleapiclient/discovery_cache/documents/backupdr.v1.json @@ -3099,28 +3099,38 @@ } } }, -"serviceConfig": { +"restoreTemplates": { "methods": { -"initialize": { -"description": "Initializes the service related config for a project.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceConfig:initialize", +"create": { +"description": "Creates a new RestoreTemplate in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates", "httpMethod": "POST", -"id": "backupdr.projects.locations.serviceConfig.initialize", +"id": "backupdr.projects.locations.restoreTemplates.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The resource name of the serviceConfig used to initialize the service. The location must be the location of the BackupVault. Format: `projects/{project_id}/locations/{location}/serviceConfig`.", +"parent": { +"description": "Required. The restore template project and location in the format 'projects/{project_id}/locations/{location}'.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/serviceConfig$", +"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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"restoreTemplateId": { +"description": "Required. The ID of the restore template to create. The ID must be unique for the specified project and location.", +"location": "query", +"type": "string" } }, -"path": "v1/{+name}:initialize", +"path": "v1/{+parent}/restoreTemplates", "request": { -"$ref": "InitializeServiceRequest" +"$ref": "RestoreTemplate" }, "response": { "$ref": "Operation" @@ -3129,698 +3139,2182 @@ "https://www.googleapis.com/auth/cloud-backupdr", "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"trial": { -"methods": { -"end": { -"description": "Ends the trial for a project", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trial:end", -"httpMethod": "POST", -"id": "backupdr.projects.locations.trial.end", +"delete": { +"description": "Deletes a RestoreTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.restoreTemplates.delete", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The parent resource where the trial has been created. Format: projects/{project}/locations/{location}", +"force": { +"description": "Optional. If set to true, any child RestoreTemplateExecutions will also be deleted. If false and the RestoreTemplate has any child executions, the request will fail.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the restore template to delete. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}'", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1/{+parent}/trial:end", -"request": { -"$ref": "EndTrialRequest" +"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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} }, +"path": "v1/{+name}", "response": { -"$ref": "Trial" +"$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-backupdr", "https://www.googleapis.com/auth/cloud-platform" ] }, -"subscribe": { -"description": "Subscribes to a trial for a project", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trial:subscribe", -"httpMethod": "POST", -"id": "backupdr.projects.locations.trial.subscribe", +"get": { +"description": "Gets details of a RestoreTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreTemplates.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The project where this trial will be created. Format: projects/{project}/locations/{location} Supported Locations are - us, eu and asia.", +"name": { +"description": "Required. The name of the restore template to retrieve. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}'", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", "required": true, "type": "string" } }, -"path": "v1/{+parent}/trial:subscribe", -"request": { -"$ref": "SubscribeTrialRequest" -}, +"path": "v1/{+name}", "response": { -"$ref": "Trial" +"$ref": "RestoreTemplate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-backupdr", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} -} -} -} }, -"revision": "20261024", -"rootUrl": "https://backupdr.googleapis.com/", -"schemas": { -"AbandonBackupRequest": { -"description": "request message for AbandonBackup.", -"id": "AbandonBackupRequest", -"properties": { -"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).", +"list": { +"description": "Lists RestoreTemplates in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreTemplates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Field match expression used to filter the results.", +"location": "query", "type": "string" -} }, -"type": "object" +"orderBy": { +"description": "Optional. Field by which to sort the results.", +"location": "query", +"type": "string" }, -"AcceleratorConfig": { -"description": "A specification of the type and number of accelerator cards attached to the instance.", -"id": "AcceleratorConfig", -"properties": { -"acceleratorCount": { -"description": "Optional. The number of the guest accelerator cards exposed to this instance.", +"pageSize": { +"description": "Optional. The maximum number of items to return.", "format": "int32", +"location": "query", "type": "integer" }, -"acceleratorType": { -"description": "Optional. Full or partial URL of the accelerator type resource to attach to this instance.", +"pageToken": { +"description": "Optional. A page token, received from a previous `ListRestoreTemplates` call.", +"location": "query", "type": "string" -} }, -"type": "object" -}, -"AccessConfig": { -"description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", -"id": "AccessConfig", -"properties": { -"externalIpv6": { -"description": "Optional. The external IPv6 address of this access configuration.", +"parent": { +"description": "Required. The project and location from which to list the restore templates. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, "type": "string" +} }, -"externalIpv6PrefixLength": { -"description": "Optional. The prefix length of the external IPv6 range.", -"format": "int32", -"type": "integer" +"path": "v1/{+parent}/restoreTemplates", +"response": { +"$ref": "ListRestoreTemplatesResponse" }, -"name": { -"description": "Optional. The name of this access configuration.", -"type": "string" +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] }, -"natIP": { -"description": "Optional. The external IP address of this access configuration.", +"patch": { +"description": "Updates the settings of a RestoreTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}", +"httpMethod": "PATCH", +"id": "backupdr.projects.locations.restoreTemplates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the RestoreTemplate.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", +"required": true, "type": "string" }, -"networkTier": { -"description": "Optional. This signifies the networking tier used for configuring this access", -"enum": [ -"NETWORK_TIER_UNSPECIFIED", -"PREMIUM", -"STANDARD" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"High quality, Google-grade network tier, support for all networking products.", -"Public internet quality, only limited support for other networking products." -], +"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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", "type": "string" }, -"publicPtrDomainName": { -"description": "Optional. The DNS domain name for the public PTR record.", +"updateMask": { +"description": "Optional. The list of fields to update. Field mask is used to specify the fields to be overwritten in the RestoreTemplate resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.", +"format": "google-fieldmask", +"location": "query", "type": "string" }, -"setPublicPtr": { -"description": "Optional. Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name.", +"validateOnly": { +"description": "Optional. Only validate the request, but do not perform mutations. The default is 'false'.", +"location": "query", "type": "boolean" -}, -"type": { -"description": "Optional. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", -"enum": [ -"ACCESS_TYPE_UNSPECIFIED", -"ONE_TO_ONE_NAT", -"DIRECT_IPV6" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"ONE_TO_ONE_NAT", -"Direct IPv6 access." -], -"type": "string" } }, -"type": "object" -}, -"AdvancedMachineFeatures": { -"description": "Specifies options for controlling advanced machine features.", -"id": "AdvancedMachineFeatures", -"properties": { -"enableNestedVirtualization": { -"description": "Optional. Whether to enable nested virtualization or not (default is false).", -"type": "boolean" +"path": "v1/{+name}", +"request": { +"$ref": "RestoreTemplate" }, -"enableUefiNetworking": { -"description": "Optional. Whether to enable UEFI networking for instance creation.", -"type": "boolean" +"response": { +"$ref": "Operation" }, -"threadsPerCore": { -"description": "Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", -"format": "int32", -"type": "integer" +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] }, -"visibleCoreCount": { -"description": "Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", -"format": "int32", -"type": "integer" +"run": { +"description": "Runs a RestoreTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}:run", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreTemplates.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the restore template to run. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", +"required": true, +"type": "string" } }, -"type": "object" +"path": "v1/{+name}:run", +"request": { +"$ref": "RunRestoreTemplateRequest" }, -"AliasIpRange": { -"description": "An alias IP range attached to an instance's network interface.", -"id": "AliasIpRange", -"properties": { -"ipCidrRange": { -"description": "Optional. The IP alias ranges to allocate for this interface.", -"type": "string" +"response": { +"$ref": "Operation" }, -"subnetworkRangeName": { -"description": "Optional. The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", -"type": "string" +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] } }, -"type": "object" -}, -"AllocationAffinity": { -"description": "Specifies the reservations that this instance can consume from.", -"id": "AllocationAffinity", -"properties": { -"consumeReservationType": { -"description": "Optional. Specifies the type of reservation from which this instance can consume", -"enum": [ -"TYPE_UNSPECIFIED", -"NO_RESERVATION", +"resources": { +"executions": { +"methods": { +"get": { +"description": "Gets details of a RestoreTemplateExecution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreTemplates.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the restore template execution to retrieve. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}/executions/{execution_id}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "RestoreTemplateExecution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RestoreTemplateExecutions in a given project, location and restore template.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}/executions", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreTemplates.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project, location, and restore template for which to retrieve executions information. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/executions", +"response": { +"$ref": "ListRestoreTemplateExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"triggerRestoreCleanup": { +"description": "Triggers cleanup of restored resources created during execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}/executions/{executionsId}:triggerRestoreCleanup", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreTemplates.executions.triggerRestoreCleanup", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the restore template execution. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}/executions/{execution_id}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:triggerRestoreCleanup", +"request": { +"$ref": "TriggerRestoreCleanupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"restoreVerificationPlans": { +"methods": { +"create": { +"description": "Creates a new RestoreVerificationPlan in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreVerificationPlans.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The `RestoreVerificationPlan` project and location in the format `projects/{project}/locations/{location}`. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**.", +"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" +}, +"restoreVerificationPlanId": { +"description": "Required. The name of the `RestoreVerificationPlan` to create. The name must be unique for the specified project and location. The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, `^[a-z]([-a-z0-9]*[a-z0-9])?$`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/restoreVerificationPlans", +"request": { +"$ref": "RestoreVerificationPlan" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single RestoreVerificationPlan. If the `force` flag is set to `true`, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.restoreVerificationPlans.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the `RestoreVerificationPlan` to delete. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single RestoreVerificationPlan. Returns the requested RestoreVerificationPlan.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreVerificationPlans.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the `RestoreVerificationPlan` to retrieve. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "RestoreVerificationPlan" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RestoreVerificationPlans in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreVerificationPlans.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Field match expression used to filter the results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field by which to sort the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of `RestoreVerificationPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value of next_page_token received from a previous `ListRestoreVerificationPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListRestoreVerificationPlans` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location for which to retrieve `RestoreVerificationPlans` information. Format: `projects/{project}/locations/{location}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve restore verification plans for all locations, use \"-\" for the `{location}` value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/restoreVerificationPlans", +"response": { +"$ref": "ListRestoreVerificationPlansResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"associations": { +"methods": { +"create": { +"description": "Creates a new RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this association will be created. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+$", +"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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"restoreVerificationPlanAssociationId": { +"description": "Required. The ID to use for the association, which will become the final component of the association's resource name. This value should be 1-63 characters, and valid characters are /[a-z0-9_-]/.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/associations", +"request": { +"$ref": "RestoreVerificationPlanAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations/{associationsId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the RestoreVerificationPlanAssociation to delete. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+/associations/[^/]+$", +"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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations/{associationsId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the RestoreVerificationPlanAssociation to retrieve. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+/associations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "RestoreVerificationPlanAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RestoreVerificationPlanAssociations in a given RestoreVerificationPlan.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of associations to return. The service may return fewer than this value. If unspecified, at most 500 associations 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 `ListRestoreVerificationPlanAssociations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRestoreVerificationPlanAssociations` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent RestoreVerificationPlan name. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/associations", +"response": { +"$ref": "ListRestoreVerificationPlanAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"triggerRestoreVerification": { +"description": "Triggers a new Restore Verification for the association in a given RestoreVerificationPlan.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations/{associationsId}:triggerRestoreVerification", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.triggerRestoreVerification", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the RestoreVerificationPlanAssociation to trigger. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+/associations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:triggerRestoreVerification", +"request": { +"$ref": "TriggerRestoreVerificationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"serviceConfig": { +"methods": { +"initialize": { +"description": "Initializes the service related config for a project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceConfig:initialize", +"httpMethod": "POST", +"id": "backupdr.projects.locations.serviceConfig.initialize", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the serviceConfig used to initialize the service. The location must be the location of the BackupVault. Format: `projects/{project_id}/locations/{location}/serviceConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/serviceConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:initialize", +"request": { +"$ref": "InitializeServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"trial": { +"methods": { +"end": { +"description": "Ends the trial for a project", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trial:end", +"httpMethod": "POST", +"id": "backupdr.projects.locations.trial.end", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where the trial has been created. Format: projects/{project}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/trial:end", +"request": { +"$ref": "EndTrialRequest" +}, +"response": { +"$ref": "Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"subscribe": { +"description": "Subscribes to a trial for a project", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trial:subscribe", +"httpMethod": "POST", +"id": "backupdr.projects.locations.trial.subscribe", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project where this trial will be created. Format: projects/{project}/locations/{location} Supported Locations are - us, eu and asia.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/trial:subscribe", +"request": { +"$ref": "SubscribeTrialRequest" +}, +"response": { +"$ref": "Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20261028", +"rootUrl": "https://backupdr.googleapis.com/", +"schemas": { +"AbandonBackupRequest": { +"description": "request message for AbandonBackup.", +"id": "AbandonBackupRequest", +"properties": { +"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).", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorConfig": { +"description": "A specification of the type and number of accelerator cards attached to the instance.", +"id": "AcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "Optional. The number of the guest accelerator cards exposed to this instance.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Optional. Full or partial URL of the accelerator type resource to attach to this instance.", +"type": "string" +} +}, +"type": "object" +}, +"AccessConfig": { +"description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", +"id": "AccessConfig", +"properties": { +"externalIpv6": { +"description": "Optional. The external IPv6 address of this access configuration.", +"type": "string" +}, +"externalIpv6PrefixLength": { +"description": "Optional. The prefix length of the external IPv6 range.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Optional. The name of this access configuration.", +"type": "string" +}, +"natIP": { +"description": "Optional. The external IP address of this access configuration.", +"type": "string" +}, +"networkTier": { +"description": "Optional. This signifies the networking tier used for configuring this access", +"enum": [ +"NETWORK_TIER_UNSPECIFIED", +"PREMIUM", +"STANDARD" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products." +], +"type": "string" +}, +"publicPtrDomainName": { +"description": "Optional. The DNS domain name for the public PTR record.", +"type": "string" +}, +"setPublicPtr": { +"description": "Optional. Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name.", +"type": "boolean" +}, +"type": { +"description": "Optional. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", +"enum": [ +"ACCESS_TYPE_UNSPECIFIED", +"ONE_TO_ONE_NAT", +"DIRECT_IPV6" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"ONE_TO_ONE_NAT", +"Direct IPv6 access." +], +"type": "string" +} +}, +"type": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features.", +"id": "AdvancedMachineFeatures", +"properties": { +"enableNestedVirtualization": { +"description": "Optional. Whether to enable nested virtualization or not (default is false).", +"type": "boolean" +}, +"enableUefiNetworking": { +"description": "Optional. Whether to enable UEFI networking for instance creation.", +"type": "boolean" +}, +"threadsPerCore": { +"description": "Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", +"format": "int32", +"type": "integer" +}, +"visibleCoreCount": { +"description": "Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AliasIpRange": { +"description": "An alias IP range attached to an instance's network interface.", +"id": "AliasIpRange", +"properties": { +"ipCidrRange": { +"description": "Optional. The IP alias ranges to allocate for this interface.", +"type": "string" +}, +"subnetworkRangeName": { +"description": "Optional. The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationAffinity": { +"description": "Specifies the reservations that this instance can consume from.", +"id": "AllocationAffinity", +"properties": { +"consumeReservationType": { +"description": "Optional. Specifies the type of reservation from which this instance can consume", +"enum": [ +"TYPE_UNSPECIFIED", +"NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Do not consume from any allocated capacity.", -"Consume any allocation available.", -"Must consume from a specific reservation. Must specify key value fields for specifying the reservations." +"Default value. This value is unused.", +"Do not consume from any allocated capacity.", +"Consume any allocation available.", +"Must consume from a specific reservation. Must specify key value fields for specifying the reservations." +], +"type": "string" +}, +"key": { +"description": "Optional. Corresponds to the label key of a reservation resource.", +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of a reservation resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AlloyDBClusterBackupPlanAssociationProperties": { +"description": "Properties for an AlloyDB cluster backup plan association.", +"id": "AlloyDBClusterBackupPlanAssociationProperties", +"properties": { +"clusterUid": { +"description": "Output only. The cluster UID of the AlloyDB cluster.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AlloyDBClusterDataSourceProperties": { +"description": "AlloyDBClusterDataSourceProperties represents the properties of a AlloyDB cluster resource that are stored in the DataSource. .", +"id": "AlloyDBClusterDataSourceProperties", +"properties": { +"clusterUid": { +"description": "Output only. The cluster UID of the AlloyDB cluster backed up by the datasource.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the AlloyDB cluster backed up by the datasource.", +"readOnly": true, +"type": "string" +}, +"pitrWindows": { +"description": "Output only. Point in time recovery windows. The order is guaranteed to be ascending by start time.", +"items": { +"$ref": "AlloyDbPitrWindow" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"AlloyDBClusterDataSourceReferenceProperties": { +"description": "AlloyDBClusterDataSourceReferenceProperties represents the properties of an AlloyDB cluster that are stored in the DataSourceReference.", +"id": "AlloyDBClusterDataSourceReferenceProperties", +"properties": { +"name": { +"description": "Output only. Name of the AlloyDB cluster backed up by the datasource. Format: projects/{project}/locations/{location}/clusters/{cluster}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AlloyDbClusterBackupProperties": { +"description": "AlloyDbClusterBackupProperties represents AlloyDB cluster backup properties. .", +"id": "AlloyDbClusterBackupProperties", +"properties": { +"chainId": { +"description": "Output only. The chain id of this backup. Backups belonging to the same chain are sharing the same chain id. This property is calculated and maintained by BackupDR.", +"readOnly": true, +"type": "string" +}, +"databaseVersion": { +"description": "Output only. The PostgreSQL major version of the AlloyDB cluster when the backup was taken.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "An optional text description for the backup.", +"type": "string" +}, +"storedBytes": { +"description": "Output only. Storage usage of this particular backup", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AlloyDbPitrWindow": { +"description": "Point in time recovery window for an AlloyDB cluster.", +"id": "AlloyDbPitrWindow", +"properties": { +"endTime": { +"description": "Output only. The end time of the PITR window. It is not set if the corresponding Backup Plan Association is active.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"logRetentionDays": { +"description": "Output only. Log retention days for the PITR window.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The start time of the PITR window.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AppliedAutoProtectionPolicy": { +"description": "AppliedAutoProtectionPolicy is a read-only view of AutoProtectionPolicy and AutoProtectionPolicyBinding resources that apply to a given workload project.", +"id": "AppliedAutoProtectionPolicy", +"properties": { +"backupPlanDetails": { +"description": "Output only. The set of backup plan configurations, mirroring the backup_plan_details from the source AutoProtectionPolicy. Each element specifies a backup plan for a given resource type.", +"items": { +"$ref": "BackupPlanDetail" +}, +"readOnly": true, +"type": "array" +}, +"bindingEvaluationSummary": { +"$ref": "BindingEvaluationSummary", +"description": "Output only. The summary of the last policy application when the job has run.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Timestamp indicating when the binding was last created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"criteria": { +"$ref": "Criteria", +"description": "Output only. The criteria resources must meet for this rule to apply. From AutoProtectionPolicy.criteria.", +"readOnly": true +}, +"name": { +"description": "Identifier. Canonical resource name. Format: projects/{workload-project-number}/locations/{location}/appliedAutoProtectionPolicies/{id}.", +"type": "string" +}, +"sourceBinding": { +"description": "Output only. The full resource name of the AutoProtectionPolicyBinding that applies the source policy to a scope including this workload project. e.g., projects/{admin-project}/locations/{location}/autoProtectionPolicies/{policy_id}/autoProtectionPolicyBindings/{binding_id}.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of the applied auto protection policy.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETION_INITIATED" +], +"enumDescriptions": [ +"State is not specified.", +"The policy is in the process of being applied.", +"The policy has been applied and is active.", +"The policy is in the process of being removed." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp indicating when the binding was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AttachedDisk": { +"description": "An instance-attached disk resource.", +"id": "AttachedDisk", +"properties": { +"autoDelete": { +"description": "Optional. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Optional. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Optional. This is used as an identifier for the disks. This is the unique name has to provided to modify disk parameters like disk_name and replica_zones (in case of RePDs)", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Encrypts or decrypts a disk using a customer-supplied encryption key." +}, +"diskInterface": { +"description": "Optional. Specifies the disk interface to use for attaching this disk.", +"enum": [ +"DISK_INTERFACE_UNSPECIFIED", +"SCSI", +"NVME", +"NVDIMM", +"ISCSI" +], +"enumDescriptions": [ +"Default value, which is unused.", +"SCSI Disk Interface.", +"NVME Disk Interface.", +"NVDIMM Disk Interface.", +"ISCSI Disk Interface." +], +"type": "string" +}, +"diskSizeGb": { +"description": "Optional. The size of the disk in GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Optional. Output only. The URI of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", +"readOnly": true, +"type": "string" +}, +"diskTypeDeprecated": { +"deprecated": true, +"description": "Specifies the type of the disk.", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"SCRATCH", +"PERSISTENT" +], +"enumDescriptions": [ +"Default value, which is unused.", +"A scratch disk type.", +"A persistent disk type." +], +"type": "string" +}, +"guestOsFeature": { +"description": "Optional. A list of features to enable on the guest operating system. Applicable only for bootable images.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.", +"format": "int64", +"type": "string" +}, +"initializeParams": { +"$ref": "InitializeParams", +"description": "Optional. Specifies the parameters to initialize this disk." +}, +"kind": { +"description": "Optional. Type of the resource.", +"type": "string" +}, +"license": { +"description": "Optional. Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "Optional. The mode in which to attach this disk.", +"enum": [ +"DISK_MODE_UNSPECIFIED", +"READ_WRITE", +"READ_ONLY", +"LOCKED" +], +"enumDescriptions": [ +"Default value, which is unused.", +"Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode.", +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"The disk is locked for administrative reasons. Nobody else can use the disk. This mode is used (for example) when taking a snapshot of a disk to prevent mounting the disk while it is being snapshotted." +], +"type": "string" +}, +"savedState": { +"description": "Optional. Output only. The state of the disk.", +"enum": [ +"DISK_SAVED_STATE_UNSPECIFIED", +"PRESERVED" +], +"enumDescriptions": [ +"Default Disk state has not been preserved.", +"Disk state has been preserved." +], +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.", +"type": "string" +}, +"type": { +"description": "Optional. Specifies the type of the disk.", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"SCRATCH", +"PERSISTENT" +], +"enumDescriptions": [ +"Default value, which is unused.", +"A scratch disk type.", +"A persistent disk type." +], +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"AutoProtectionDetails": { +"description": "AutoProtectionDetails contains the protection details of a resource from the current binding's perspective.", +"id": "AutoProtectionDetails", +"properties": { +"backupPlanAssociation": { +"description": "Output only. Resource name of backup plan association linked to the resource, if any. Format: projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", +"readOnly": true, +"type": "string" +}, +"dataSource": { +"description": "Output only. Resource name of the datasource linked to the resource, if any. Format: projects/{project}/locations/{location}/backupVaults/{backupVaultId}/dataSources/{dataSourceId}", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Error during last sync for protection/unprotection, if any.", +"readOnly": true +}, +"state": { +"description": "Output only. Protection state of the resource from the current binding's perspective. Output only.", +"enum": [ +"STATE_UNSPECIFIED", +"PROTECTED", +"PROTECTION_FAILED", +"UNPROTECTING", +"UNPROTECTION_FAILED" +], +"enumDescriptions": [ +"State unspecified.", +"Resource is protected.", +"Resource protection failed.", +"Resource is being unprotected.", +"Resource unprotection failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AutoProtectionPolicy": { +"description": "An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.", +"id": "AutoProtectionPolicy", +"properties": { +"backupPlanDetails": { +"description": "Required. The backup plan details for matching resources.", +"items": { +"$ref": "BackupPlanDetail" +}, +"type": "array" +}, +"bindingSummary": { +"$ref": "BindingSummary", +"description": "Output only. Summary of total count of different containers covered through this policy.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The timestamp when the policy was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"criteria": { +"$ref": "Criteria", +"description": "Required. The criteria for matching resources." +}, +"description": { +"description": "Optional. A description of the policy. The description must be at most 2048 characters.", +"type": "string" +}, +"etag": { +"description": "Output only. The etag for the policy. If this is provided on update, it must match the server's etag.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The resource name of the AutoProtectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`", +"readOnly": true, +"type": "string" +}, +"policyEvaluationSummary": { +"$ref": "PolicyEvaluationSummary", +"description": "Output only. Summary of last policy evaluation when job was run per workload type.", +"readOnly": true +}, +"state": { +"description": "Output only. The current state of the AutoProtectionPolicy.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"UPDATING", +"DELETING" +], +"enumDescriptions": [ +"The state of the policy is unspecified.", +"The policy is being created.", +"The policy is active and protecting matching resources.", +"The policy is being updated.", +"The policy is being deleted." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the policy was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AutoProtectionPolicyBinding": { +"description": "An AutoProtectionPolicyBinding (APPA) acts as the bridge between an AutoProtectionPolicy and the scope (Project) where the policy should be applied.", +"id": "AutoProtectionPolicyBinding", +"properties": { +"bindingEvaluationSummary": { +"$ref": "BindingEvaluationSummary", +"description": "Output only. Summaries of the last policy application when the job has run, with one entry per resource type specified in the AutoProtectionPolicy.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The timestamp when the binding was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. A description of the binding. The description must be at most 2048 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. Output only. The etag for the binding. If this is provided on update, it must match the server's etag.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The resource name of the AutoProtectionPolicyBinding. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}`", +"readOnly": true, +"type": "string" +}, +"scope": { +"description": "Required. Immutable. Resource Id of target container on which policy will be applied. Format: projects/{project_id}", +"type": "string" +}, +"state": { +"description": "Output only. The current state of the AutoProtectionPolicyBinding.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETION_INITIATED" +], +"enumDescriptions": [ +"The state of the binding is unspecified.", +"The binding is being created.", +"The binding is active.", +"The binding deletion is initiated." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the binding was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Backup": { +"description": "Message describing a Backup object.", +"id": "Backup", +"properties": { +"alloyDbBackupProperties": { +"$ref": "AlloyDbClusterBackupProperties", +"description": "Output only. AlloyDB specific backup properties.", +"readOnly": true +}, +"backupApplianceBackupProperties": { +"$ref": "BackupApplianceBackupProperties", +"description": "Output only. Backup Appliance specific backup properties.", +"readOnly": true +}, +"backupApplianceLocks": { +"description": "Optional. The list of BackupLocks taken by the accessor Backup Appliance.", +"items": { +"$ref": "BackupLock" +}, +"type": "array" +}, +"backupRetentionInheritance": { +"description": "Output only. Setting for how the enforced retention end time is inherited. This value is copied from this backup's BackupVault.", +"enum": [ +"BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", +"INHERIT_VAULT_RETENTION", +"MATCH_BACKUP_EXPIRE_TIME" +], +"enumDescriptions": [ +"Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", +"The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", +"The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." +], +"readOnly": true, +"type": "string" +}, +"backupType": { +"description": "Output only. Type of the backup, unspecified, scheduled or ondemand.", +"enum": [ +"BACKUP_TYPE_UNSPECIFIED", +"SCHEDULED", +"ON_DEMAND", +"ON_DEMAND_OPERATIONAL" +], +"enumDescriptions": [ +"Backup type is unspecified.", +"Scheduled backup.", +"On demand backup.", +"Operational backup." ], +"readOnly": true, "type": "string" }, -"key": { -"description": "Optional. Corresponds to the label key of a reservation resource.", +"cloudSqlInstanceBackupProperties": { +"$ref": "CloudSqlInstanceBackupProperties", +"description": "Output only. Cloud SQL specific backup properties.", +"readOnly": true +}, +"computeInstanceBackupProperties": { +"$ref": "ComputeInstanceBackupProperties", +"description": "Output only. Compute Engine specific backup properties.", +"readOnly": true +}, +"consistencyTime": { +"description": "Output only. The point in time when this backup was captured from the source.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"values": { -"description": "Optional. Corresponds to the label values of a reservation resource.", +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. The description of the Backup instance (2048 characters or less).", +"readOnly": true, +"type": "string" +}, +"diskBackupProperties": { +"$ref": "DiskBackupProperties", +"description": "Output only. Disk specific backup properties.", +"readOnly": true +}, +"enforcedRetentionEndTime": { +"description": "Optional. The backup can not be deleted before this time.", +"format": "google-datetime", +"type": "string" +}, +"etag": { +"description": "Optional. Server specified ETag to prevent updates from overwriting each other.", +"type": "string" +}, +"expireTime": { +"description": "Optional. When this backup is automatically expired.", +"format": "google-datetime", +"type": "string" +}, +"filestoreInstanceBackupProperties": { +"$ref": "FilestoreInstanceBackupProperties", +"description": "Output only. Filestore specific backup properties.", +"readOnly": true +}, +"gcpBackupPlanInfo": { +"$ref": "GCPBackupPlanInfo", +"description": "Output only. Configuration for a Google Cloud resource.", +"readOnly": true +}, +"gcpResource": { +"$ref": "BackupGcpResource", +"description": "Output only. Unique identifier of the GCP resource that is being backed up.", +"readOnly": true +}, +"kmsKeyVersions": { +"description": "Optional. Output only. The list of KMS key versions used to encrypt the backup.", "items": { "type": "string" }, +"readOnly": true, "type": "array" -} }, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined.", "type": "object" }, -"AlloyDBClusterBackupPlanAssociationProperties": { -"description": "Properties for an AlloyDB cluster backup plan association.", -"id": "AlloyDBClusterBackupPlanAssociationProperties", -"properties": { -"clusterUid": { -"description": "Output only. The cluster UID of the AlloyDB cluster.", +"name": { +"description": "Output only. Identifier. Name of the backup to create. It must have the format`\"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}\"`. `{backup}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource.", "readOnly": true, "type": "string" -} }, -"type": "object" +"netappVolumeBackupProperties": { +"$ref": "NetAppVolumeBackupProperties", +"description": "Output only. NetApp Volume specific backup properties.", +"readOnly": true }, -"AlloyDBClusterDataSourceProperties": { -"description": "AlloyDBClusterDataSourceProperties represents the properties of a AlloyDB cluster resource that are stored in the DataSource. .", -"id": "AlloyDBClusterDataSourceProperties", -"properties": { -"clusterUid": { -"description": "Output only. The cluster UID of the AlloyDB cluster backed up by the datasource.", +"resourceSizeBytes": { +"description": "Output only. source resource size in bytes at the time of the backup.", +"format": "int64", "readOnly": true, "type": "string" }, -"name": { -"description": "Output only. Name of the AlloyDB cluster backed up by the datasource.", +"satisfiesPzi": { +"description": "Optional. Output only. Reserved for future use.", "readOnly": true, -"type": "string" +"type": "boolean" }, -"pitrWindows": { -"description": "Output only. Point in time recovery windows. The order is guaranteed to be ascending by start time.", +"satisfiesPzs": { +"description": "Optional. Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"serviceLocks": { +"description": "Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup.", "items": { -"$ref": "AlloyDbPitrWindow" +"$ref": "BackupLock" }, "readOnly": true, "type": "array" +}, +"state": { +"description": "Output only. The Backup resource instance state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"ERROR", +"UPLOADING" +], +"enumDescriptions": [ +"State not set.", +"The backup is being created.", +"The backup has been created and is fully usable.", +"The backup is being deleted.", +"The backup is experiencing an issue and might be unusable.", +"The backup is being uploaded." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"verificationSummary": { +"$ref": "VerificationSummary", +"description": "Output only. The restore verification status of the backup.", +"readOnly": true } }, "type": "object" }, -"AlloyDBClusterDataSourceReferenceProperties": { -"description": "AlloyDBClusterDataSourceReferenceProperties represents the properties of an AlloyDB cluster that are stored in the DataSourceReference.", -"id": "AlloyDBClusterDataSourceReferenceProperties", +"BackupApplianceBackupConfig": { +"description": "BackupApplianceBackupConfig captures the backup configuration for applications that are protected by Backup Appliances.", +"id": "BackupApplianceBackupConfig", "properties": { -"name": { -"description": "Output only. Name of the AlloyDB cluster backed up by the datasource. Format: projects/{project}/locations/{location}/clusters/{cluster}", -"readOnly": true, +"applicationName": { +"description": "The name of the application.", +"type": "string" +}, +"backupApplianceId": { +"description": "The ID of the backup appliance.", +"format": "int64", +"type": "string" +}, +"backupApplianceName": { +"description": "The name of the backup appliance.", +"type": "string" +}, +"hostName": { +"description": "The name of the host where the application is running.", +"type": "string" +}, +"slaId": { +"description": "The ID of the SLA of this application.", +"format": "int64", +"type": "string" +}, +"slpName": { +"description": "The name of the SLP associated with the application.", +"type": "string" +}, +"sltName": { +"description": "The name of the SLT associated with the application.", "type": "string" } }, "type": "object" }, -"AlloyDbClusterBackupProperties": { -"description": "AlloyDbClusterBackupProperties represents AlloyDB cluster backup properties. .", -"id": "AlloyDbClusterBackupProperties", +"BackupApplianceBackupProperties": { +"description": "BackupApplianceBackupProperties represents BackupDR backup appliance's properties.", +"id": "BackupApplianceBackupProperties", "properties": { -"chainId": { -"description": "Output only. The chain id of this backup. Backups belonging to the same chain are sharing the same chain id. This property is calculated and maintained by BackupDR.", +"finalizeTime": { +"description": "Output only. The time when this backup object was finalized (if none, backup is not finalized).", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"databaseVersion": { -"description": "Output only. The PostgreSQL major version of the AlloyDB cluster when the backup was taken.", +"generationId": { +"description": "Output only. The numeric generation ID of the backup (monotonically increasing).", +"format": "int32", "readOnly": true, +"type": "integer" +}, +"recoveryRangeEndTime": { +"description": "Optional. The latest timestamp of data available in this Backup.", +"format": "google-datetime", "type": "string" }, -"description": { -"description": "An optional text description for the backup.", +"recoveryRangeStartTime": { +"description": "Optional. The earliest timestamp of data available in this Backup.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"BackupApplianceLockInfo": { +"description": "BackupApplianceLockInfo contains metadata about the backupappliance that created the lock.", +"id": "BackupApplianceLockInfo", +"properties": { +"backupApplianceId": { +"description": "Required. The ID of the backup/recovery appliance that created this lock.", +"format": "int64", "type": "string" }, -"storedBytes": { -"description": "Output only. Storage usage of this particular backup", +"backupApplianceName": { +"description": "Required. The name of the backup/recovery appliance that created this lock.", +"type": "string" +}, +"backupImage": { +"description": "The image name that depends on this Backup.", +"type": "string" +}, +"jobName": { +"description": "The job name on the backup/recovery appliance that created this lock.", +"type": "string" +}, +"lockReason": { +"description": "Required. The reason for the lock: e.g. MOUNT/RESTORE/BACKUP/etc. The value of this string is only meaningful to the client and it is not interpreted by the BackupVault service.", +"type": "string" +}, +"slaId": { +"description": "The SLA on the backup/recovery appliance that owns the lock.", "format": "int64", -"readOnly": true, "type": "string" } }, "type": "object" }, -"AlloyDbPitrWindow": { -"description": "Point in time recovery window for an AlloyDB cluster.", -"id": "AlloyDbPitrWindow", +"BackupConfigDetails": { +"description": "BackupConfigDetails has information about how the resource is configured for backups and about the most recent backup taken for this configuration.", +"id": "BackupConfigDetails", "properties": { -"endTime": { -"description": "Output only. The end time of the PITR window. It is not set if the corresponding Backup Plan Association is active.", -"format": "google-datetime", +"applicableResource": { +"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource that is applicable for the backup configuration. Example: \"//compute.googleapis.com/projects/{project}/zones/{zone}/instances/{instance}\"", "readOnly": true, "type": "string" }, -"logRetentionDays": { -"description": "Output only. Log retention days for the PITR window.", -"format": "int64", +"backupConfigSource": { +"description": "Output only. The full resource name of the backup config source resource. For example, \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupPlans/{backupplanId}\" or \"//compute.googleapis.com/projects/{project}/locations/{region}/resourcePolicies/{resourcePolicyId}\".", "readOnly": true, "type": "string" }, -"startTime": { -"description": "Output only. The start time of the PITR window.", -"format": "google-datetime", +"backupConfigSourceDisplayName": { +"description": "Output only. The display name of the backup config source resource.", "readOnly": true, "type": "string" -} }, -"type": "object" +"backupDrPlanConfig": { +"$ref": "BackupDrPlanConfig", +"description": "Google Cloud Backup and DR's Backup Plan specific data." }, -"AppliedAutoProtectionPolicy": { -"description": "AppliedAutoProtectionPolicy is a read-only view of AutoProtectionPolicy and AutoProtectionPolicyBinding resources that apply to a given workload project.", -"id": "AppliedAutoProtectionPolicy", -"properties": { -"backupPlanDetails": { -"description": "Output only. The set of backup plan configurations, mirroring the backup_plan_details from the source AutoProtectionPolicy. Each element specifies a backup plan for a given resource type.", +"backupDrTemplateConfig": { +"$ref": "BackupDrTemplateConfig", +"description": "Google Cloud Backup and DR's Template specific data." +}, +"backupLocations": { +"description": "The locations where the backups are to be stored.", "items": { -"$ref": "BackupPlanDetail" +"$ref": "BackupLocation" }, -"readOnly": true, "type": "array" }, -"bindingEvaluationSummary": { -"$ref": "BindingEvaluationSummary", -"description": "Output only. The summary of the last policy application when the job has run.", -"readOnly": true +"backupVault": { +"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the backup vault that will store the backups generated through this backup configuration. Example: \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupVaults/{backupvaultId}\"", +"readOnly": true, +"type": "string" }, -"createTime": { -"description": "Output only. Timestamp indicating when the binding was last created.", +"latestSuccessfulBackupTime": { +"description": "Output only. Timestamp of the latest successful backup created via this backup configuration.", "format": "google-datetime", "readOnly": true, "type": "string" }, -"criteria": { -"$ref": "Criteria", -"description": "Output only. The criteria resources must meet for this rule to apply. From AutoProtectionPolicy.criteria.", +"pitrSettings": { +"$ref": "PitrSettings", +"description": "Output only. Point in time recovery settings of the backup configuration resource.", "readOnly": true }, -"name": { -"description": "Identifier. Canonical resource name. Format: projects/{workload-project-number}/locations/{location}/appliedAutoProtectionPolicies/{id}.", -"type": "string" -}, -"sourceBinding": { -"description": "Output only. The full resource name of the AutoProtectionPolicyBinding that applies the source policy to a scope including this workload project. e.g., projects/{admin-project}/locations/{location}/autoProtectionPolicies/{policy_id}/autoProtectionPolicyBindings/{binding_id}.", -"readOnly": true, -"type": "string" -}, -"status": { -"description": "Output only. The status of the applied auto protection policy.", +"state": { +"description": "Output only. The state of the backup config resource.", "enum": [ "STATE_UNSPECIFIED", -"CREATING", "ACTIVE", -"DELETION_INITIATED" +"INACTIVE", +"ERROR" ], "enumDescriptions": [ -"State is not specified.", -"The policy is in the process of being applied.", -"The policy has been applied and is active.", -"The policy is in the process of being removed." +"Backup config state not set.", +"The config is in an active state protecting the resource", +"The config is currently not protecting the resource. Either because it is disabled or the owning project has been deleted without cleanup of the actual resource.", +"The config still exists but because of some error state it is not protecting the resource. Like the source project is deleted. For eg. PlanAssociation, BackupPlan is deleted." ], "readOnly": true, "type": "string" }, -"updateTime": { -"description": "Output only. Timestamp indicating when the binding was last modified.", -"format": "google-datetime", +"type": { +"description": "Output only. The type of the backup config resource.", +"enum": [ +"TYPE_UNSPECIFIED", +"CLOUD_SQL_INSTANCE_BACKUP_CONFIG", +"COMPUTE_ENGINE_RESOURCE_POLICY", +"BACKUPDR_BACKUP_PLAN", +"BACKUPDR_TEMPLATE" +], +"enumDescriptions": [ +"Backup config type is unspecified.", +"Backup config is Cloud SQL instance's automated backup config.", +"Backup config is Compute Engine Resource Policy.", +"Backup config is Google Cloud Backup and DR's Backup Plan.", +"Backup config is Google Cloud Backup and DR's Template." +], "readOnly": true, "type": "string" } }, "type": "object" }, -"AttachedDisk": { -"description": "An instance-attached disk resource.", -"id": "AttachedDisk", +"BackupConfigInfo": { +"description": "BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault.", +"id": "BackupConfigInfo", "properties": { -"autoDelete": { -"description": "Optional. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", -"type": "boolean" -}, -"boot": { -"description": "Optional. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", -"type": "boolean" +"backupApplianceBackupConfig": { +"$ref": "BackupApplianceBackupConfig", +"description": "Configuration for an application backed up by a Backup Appliance." }, -"deviceName": { -"description": "Optional. This is used as an identifier for the disks. This is the unique name has to provided to modify disk parameters like disk_name and replica_zones (in case of RePDs)", -"type": "string" +"gcpBackupConfig": { +"$ref": "GcpBackupConfig", +"description": "Configuration for a Google Cloud resource." }, -"diskEncryptionKey": { -"$ref": "CustomerEncryptionKey", -"description": "Optional. Encrypts or decrypts a disk using a customer-supplied encryption key." +"lastBackupError": { +"$ref": "Status", +"description": "Output only. If the last backup failed, this field has the error message.", +"readOnly": true }, -"diskInterface": { -"description": "Optional. Specifies the disk interface to use for attaching this disk.", +"lastBackupState": { +"description": "Output only. The status of the last backup to this BackupVault", "enum": [ -"DISK_INTERFACE_UNSPECIFIED", -"SCSI", -"NVME", -"NVDIMM", -"ISCSI" +"LAST_BACKUP_STATE_UNSPECIFIED", +"FIRST_BACKUP_PENDING", +"SUCCEEDED", +"FAILED", +"PERMISSION_DENIED" ], "enumDescriptions": [ -"Default value, which is unused.", -"SCSI Disk Interface.", -"NVME Disk Interface.", -"NVDIMM Disk Interface.", -"ISCSI Disk Interface." +"Status not set.", +"The first backup has not yet completed", +"The most recent backup was successful", +"The most recent backup failed", +"The most recent backup could not be run/failed because of the lack of permissions" ], +"readOnly": true, "type": "string" }, -"diskSizeGb": { -"description": "Optional. The size of the disk in GB.", -"format": "int64", -"type": "string" -}, -"diskType": { -"description": "Optional. Output only. The URI of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", +"lastSuccessfulBackupConsistencyTime": { +"description": "Output only. If the last backup were successful, this field has the consistency date.", +"format": "google-datetime", "readOnly": true, "type": "string" +} }, -"diskTypeDeprecated": { -"deprecated": true, -"description": "Specifies the type of the disk.", -"enum": [ -"DISK_TYPE_UNSPECIFIED", -"SCRATCH", -"PERSISTENT" -], -"enumDescriptions": [ -"Default value, which is unused.", -"A scratch disk type.", -"A persistent disk type." -], -"type": "string" +"type": "object" }, -"guestOsFeature": { -"description": "Optional. A list of features to enable on the guest operating system. Applicable only for bootable images.", +"BackupDrPlanConfig": { +"description": "BackupDrPlanConfig has additional information about Google Cloud Backup and DR's Plan backup configuration.", +"id": "BackupDrPlanConfig", +"properties": { +"backupDrPlanRules": { +"description": "Backup rules of the backup plan resource.", "items": { -"$ref": "GuestOsFeature" +"$ref": "BackupDrPlanRule" }, "type": "array" +} }, -"index": { -"description": "Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.", -"format": "int64", +"type": "object" +}, +"BackupDrPlanRule": { +"description": "BackupDrPlanRule has rule specific information of the backup plan resource.", +"id": "BackupDrPlanRule", +"properties": { +"lastSuccessfulBackupTime": { +"description": "Output only. Timestamp of the latest successful backup created via this backup rule.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"initializeParams": { -"$ref": "InitializeParams", -"description": "Optional. Specifies the parameters to initialize this disk." +"ruleId": { +"description": "Output only. Unique Id of the backup rule.", +"readOnly": true, +"type": "string" +} }, -"kind": { -"description": "Optional. Type of the resource.", +"type": "object" +}, +"BackupDrTemplateConfig": { +"description": "Provides additional information about Google Cloud Backup and DR's Template backup configuration.", +"id": "BackupDrTemplateConfig", +"properties": { +"firstPartyManagementUri": { +"description": "Output only. The URI of the BackupDr template resource for the first party identity users.", +"readOnly": true, "type": "string" }, -"license": { -"description": "Optional. Any valid publicly visible licenses.", -"items": { +"thirdPartyManagementUri": { +"description": "Output only. The URI of the BackupDr template resource for the third party identity users.", +"readOnly": true, "type": "string" +} }, -"type": "array" +"type": "object" }, -"mode": { -"description": "Optional. The mode in which to attach this disk.", -"enum": [ -"DISK_MODE_UNSPECIFIED", -"READ_WRITE", -"READ_ONLY", -"LOCKED" -], -"enumDescriptions": [ -"Default value, which is unused.", -"Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode.", -"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", -"The disk is locked for administrative reasons. Nobody else can use the disk. This mode is used (for example) when taking a snapshot of a disk to prevent mounting the disk while it is being snapshotted." -], +"BackupGcpResource": { +"description": "Minimum details to identify a Google Cloud resource for a backup.", +"id": "BackupGcpResource", +"properties": { +"gcpResourcename": { +"description": "Name of the Google Cloud resource.", +"type": "string" +}, +"location": { +"description": "Location of the resource: //\"global\"/\"unspecified\".", "type": "string" }, -"savedState": { -"description": "Optional. Output only. The state of the disk.", -"enum": [ -"DISK_SAVED_STATE_UNSPECIFIED", -"PRESERVED" -], -"enumDescriptions": [ -"Default Disk state has not been preserved.", -"Disk state has been preserved." -], -"readOnly": true, +"type": { +"description": "Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", "type": "string" +} }, -"source": { -"description": "Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.", +"type": "object" +}, +"BackupLocation": { +"description": "BackupLocation represents a cloud location where a backup can be stored.", +"id": "BackupLocation", +"properties": { +"locationId": { +"description": "Output only. The id of the cloud location. Example: \"us-central1\"", +"readOnly": true, "type": "string" }, "type": { -"description": "Optional. Specifies the type of the disk.", +"description": "Output only. The type of the location.", "enum": [ -"DISK_TYPE_UNSPECIFIED", -"SCRATCH", -"PERSISTENT" +"TYPE_UNSPECIFIED", +"ZONAL", +"REGIONAL", +"MULTI_REGIONAL" ], "enumDescriptions": [ -"Default value, which is unused.", -"A scratch disk type.", -"A persistent disk type." +"Location type is unspecified.", +"Location type is zonal.", +"Location type is regional.", +"Location type is multi regional." ], +"readOnly": true, "type": "string" } }, "type": "object" }, -"AuditConfig": { -"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", -"id": "AuditConfig", +"BackupLock": { +"description": "BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted.", +"id": "BackupLock", "properties": { -"auditLogConfigs": { -"description": "The configuration for logging of each type of permission.", -"items": { -"$ref": "AuditLogConfig" -}, -"type": "array" +"backupApplianceLockInfo": { +"$ref": "BackupApplianceLockInfo", +"description": "If the client is a backup and recovery appliance, this contains metadata about why the lock exists." }, -"service": { -"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"lockUntilTime": { +"description": "Required. The time after which this lock is not considered valid and will no longer protect the Backup from deletion.", +"format": "google-datetime", "type": "string" +}, +"serviceLockInfo": { +"$ref": "ServiceLockInfo", +"description": "Output only. Contains metadata about the lock exist for Google Cloud native backups.", +"readOnly": true } }, "type": "object" }, -"AuditLogConfig": { -"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", -"id": "AuditLogConfig", +"BackupPlan": { +"description": "A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.", +"id": "BackupPlan", "properties": { -"exemptedMembers": { -"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"backupRules": { +"description": "Optional. The backup rules for this `BackupPlan`.", "items": { -"type": "string" +"$ref": "BackupRule" }, "type": "array" }, -"logType": { -"description": "The log type that this config enables.", -"enum": [ -"LOG_TYPE_UNSPECIFIED", -"ADMIN_READ", -"DATA_WRITE", -"DATA_READ" -], -"enumDescriptions": [ -"Default case. Should never be this.", -"Admin reads. Example: CloudIAM getIamPolicy", -"Data writes. Example: CloudSQL Users create", -"Data reads. Example: CloudSQL Users list" -], +"backupVault": { +"description": "Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}", +"type": "string" +}, +"backupVaultServiceAccount": { +"description": "Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.", +"readOnly": true, +"type": "string" +}, +"computeInstanceBackupPlanProperties": { +"$ref": "ComputeInstanceBackupPlanProperties", +"description": "Optional. Defines optional properties specific to backups of compute instance-based resources, such as Compute Engine. This includes settings like whether to perform a guest flush." +}, +"createTime": { +"description": "Output only. When the `BackupPlan` was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: \"This is a backup plan that performs a daily backup at 6pm and retains data for 3 months\". The description must be at most 2048 characters.", +"type": "string" +}, +"diskBackupPlanProperties": { +"$ref": "DiskBackupPlanProperties", +"description": "Optional. Defines optional properties specific to backups of disk-based resources, such as Compute Engine Persistent Disks. This includes settings like whether to perform a guest flush." +}, +"etag": { +"description": "Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.", +"type": "string" +}, +"labels": { +"additionalProperties": { "type": "string" -} }, +"description": "Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {\"tag\": \"Weekly\"}.", "type": "object" }, -"AutoProtectionDetails": { -"description": "AutoProtectionDetails contains the protection details of a resource from the current binding's perspective.", -"id": "AutoProtectionDetails", -"properties": { -"backupPlanAssociation": { -"description": "Output only. Resource name of backup plan association linked to the resource, if any. Format: projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", +"logRetentionDays": { +"description": "Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in \u201cdays\u201d. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.", +"format": "int64", +"type": "string" +}, +"maxCustomOnDemandRetentionDays": { +"description": "Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", "readOnly": true, "type": "string" }, -"dataSource": { -"description": "Output only. Resource name of the datasource linked to the resource, if any. Format: projects/{project}/locations/{location}/backupVaults/{backupVaultId}/dataSources/{dataSourceId}", +"resourceType": { +"description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\", \"sqladmin.googleapis.com/Instance\", \"alloydb.googleapis.com/Cluster\", \"compute.googleapis.com/Disk\".", +"type": "string" +}, +"revisionId": { +"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", "readOnly": true, "type": "string" }, -"error": { -"$ref": "Status", -"description": "Output only. Error during last sync for protection/unprotection, if any.", -"readOnly": true +"revisionName": { +"description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", +"readOnly": true, +"type": "string" }, "state": { -"description": "Output only. Protection state of the resource from the current binding's perspective. Output only.", +"description": "Output only. The `State` for the `BackupPlan`.", "enum": [ "STATE_UNSPECIFIED", -"PROTECTED", -"PROTECTION_FAILED", -"UNPROTECTING", -"UNPROTECTION_FAILED" +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE", +"UPDATING" ], "enumDescriptions": [ -"State unspecified.", -"Resource is protected.", -"Resource protection failed.", -"Resource is being unprotected.", -"Resource unprotection failed." +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated." ], "readOnly": true, "type": "string" +}, +"supportedResourceTypes": { +"description": "Output only. All resource types to which backupPlan can be applied.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. When the `BackupPlan` was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" } }, "type": "object" }, -"AutoProtectionPolicy": { -"description": "An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.", -"id": "AutoProtectionPolicy", +"BackupPlanAssociation": { +"description": "A BackupPlanAssociation represents a single BackupPlanAssociation which contains details like workload, backup plan etc", +"id": "BackupPlanAssociation", "properties": { -"backupPlanDetails": { -"description": "Required. The backup plan details for matching resources.", -"items": { -"$ref": "BackupPlanDetail" +"alloydbClusterBackupPlanAssociationProperties": { +"$ref": "AlloyDBClusterBackupPlanAssociationProperties", +"description": "Output only. AlloyDB cluster's backup plan association properties.", +"readOnly": true }, -"type": "array" +"autoProtectionPolicyBinding": { +"description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this association, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", +"readOnly": true, +"type": "string" }, -"bindingSummary": { -"$ref": "BindingSummary", -"description": "Output only. Summary of total count of different containers covered through this policy.", +"backupPlan": { +"description": "Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", +"type": "string" +}, +"backupPlanRevisionId": { +"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", +"readOnly": true, +"type": "string" +}, +"backupPlanRevisionName": { +"description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", +"readOnly": true, +"type": "string" +}, +"cloudSqlInstanceBackupPlanAssociationProperties": { +"$ref": "CloudSqlInstanceBackupPlanAssociationProperties", +"description": "Output only. Cloud SQL instance's backup plan association properties.", "readOnly": true }, "createTime": { -"description": "Output only. The timestamp when the policy was created.", +"description": "Output only. The time when the instance was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, -"criteria": { -"$ref": "Criteria", -"description": "Required. The criteria for matching resources." -}, -"description": { -"description": "Optional. A description of the policy. The description must be at most 2048 characters.", +"dataSource": { +"description": "Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}", +"readOnly": true, "type": "string" }, -"etag": { -"description": "Output only. The etag for the policy. If this is provided on update, it must match the server's etag.", -"type": "string" +"filestoreInstanceBackupPlanAssociationProperties": { +"$ref": "FilestoreInstanceBackupPlanAssociationProperties", +"description": "Output only. Filestore instance's backup plan association properties.", +"readOnly": true }, "name": { -"description": "Output only. Identifier. The resource name of the AutoProtectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`", +"description": "Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", "readOnly": true, "type": "string" }, -"policyEvaluationSummary": { -"$ref": "PolicyEvaluationSummary", -"description": "Output only. Summary of last policy evaluation when job was run per workload type.", +"netappVolumeBackupPlanAssociationProperties": { +"$ref": "NetAppVolumeBackupPlanAssociationProperties", +"description": "Output only. NetApp volume backup plan association properties.", "readOnly": true }, +"resource": { +"description": "Required. Immutable. Resource name of workload on which the backup plan is applied. The format can either be the resource name (e.g., \"projects/my-project/zones/us-central1-a/instances/my-instance\") or the full resource URI (e.g., \"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance\").", +"type": "string" +}, +"resourceType": { +"description": "Required. Immutable. Resource type of workload on which backupplan is applied", +"type": "string" +}, +"rulesConfigInfo": { +"description": "Output only. The config info related to backup rules.", +"items": { +"$ref": "RuleConfigInfo" +}, +"readOnly": true, +"type": "array" +}, "state": { -"description": "Output only. The current state of the AutoProtectionPolicy.", +"description": "Output only. The BackupPlanAssociation resource state.", "enum": [ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", +"DELETING", +"INACTIVE", "UPDATING", -"DELETING" +"PAUSED" ], "enumDescriptions": [ -"The state of the policy is unspecified.", -"The policy is being created.", -"The policy is active and protecting matching resources.", -"The policy is being updated.", -"The policy is being deleted." +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated.", +"The resource has been created but backups are paused." ], "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The timestamp when the policy was last updated.", +"description": "Output only. The time when the instance was updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3828,992 +5322,967 @@ }, "type": "object" }, -"AutoProtectionPolicyBinding": { -"description": "An AutoProtectionPolicyBinding (APPA) acts as the bridge between an AutoProtectionPolicy and the scope (Project) where the policy should be applied.", -"id": "AutoProtectionPolicyBinding", +"BackupPlanDetail": { +"description": "BackupPlanDetail defines configuration of protection.", +"id": "BackupPlanDetail", "properties": { -"bindingEvaluationSummary": { -"$ref": "BindingEvaluationSummary", -"description": "Output only. Summaries of the last policy application when the job has run, with one entry per resource type specified in the AutoProtectionPolicy.", -"readOnly": true -}, -"createTime": { -"description": "Output only. The timestamp when the binding was created.", -"format": "google-datetime", -"readOnly": true, +"backupPlan": { +"description": "Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", "type": "string" }, -"description": { -"description": "Optional. A description of the binding. The description must be at most 2048 characters.", +"resourceType": { +"description": "Required. The type of resource that this policy will automatically protect. Allowed values are, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.", "type": "string" +} }, -"etag": { -"description": "Optional. Output only. The etag for the binding. If this is provided on update, it must match the server's etag.", +"type": "object" +}, +"BackupPlanRevision": { +"description": "`BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time.", +"id": "BackupPlanRevision", +"properties": { +"backupPlanSnapshot": { +"$ref": "BackupPlan", +"description": "The Backup Plan being encompassed by this revision." +}, +"createTime": { +"description": "Output only. The timestamp that the revision was created.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, "name": { -"description": "Output only. Identifier. The resource name of the AutoProtectionPolicyBinding. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}`", +"description": "Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}`", "readOnly": true, "type": "string" }, -"scope": { -"description": "Required. Immutable. Resource Id of target container on which policy will be applied. Format: projects/{project_id}", +"revisionId": { +"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", +"readOnly": true, "type": "string" }, "state": { -"description": "Output only. The current state of the AutoProtectionPolicyBinding.", +"description": "Output only. Resource State", "enum": [ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", -"DELETION_INITIATED" +"DELETING", +"INACTIVE" ], "enumDescriptions": [ -"The state of the binding is unspecified.", -"The binding is being created.", -"The binding is active.", -"The binding deletion is initiated." +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable." ], "readOnly": true, "type": "string" -}, -"updateTime": { -"description": "Output only. The timestamp when the binding was last updated.", -"format": "google-datetime", -"readOnly": true, -"type": "string" } }, "type": "object" }, -"Backup": { -"description": "Message describing a Backup object.", -"id": "Backup", +"BackupRule": { +"description": "`BackupRule` binds the backup schedule to a retention policy.", +"id": "BackupRule", "properties": { -"alloyDbBackupProperties": { -"$ref": "AlloyDbClusterBackupProperties", -"description": "Output only. AlloyDB specific backup properties.", -"readOnly": true +"backupRetentionDays": { +"description": "Required. Configures the duration for which backup data will be kept. It is defined in \u201cdays\u201d. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", +"format": "int32", +"type": "integer" }, -"backupApplianceBackupProperties": { -"$ref": "BackupApplianceBackupProperties", -"description": "Output only. Backup Appliance specific backup properties.", -"readOnly": true +"ruleId": { +"description": "Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.", +"type": "string" }, -"backupApplianceLocks": { -"description": "Optional. The list of BackupLocks taken by the accessor Backup Appliance.", -"items": { -"$ref": "BackupLock" +"standardSchedule": { +"$ref": "StandardSchedule", +"description": "Optional. Defines a schedule that runs within the confines of a defined window of time." +} }, -"type": "array" +"type": "object" }, -"backupRetentionInheritance": { -"description": "Output only. Setting for how the enforced retention end time is inherited. This value is copied from this backup's BackupVault.", -"enum": [ -"BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", -"INHERIT_VAULT_RETENTION", -"MATCH_BACKUP_EXPIRE_TIME" -], -"enumDescriptions": [ -"Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", -"The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", -"The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." -], -"readOnly": true, +"BackupSelectionConfig": { +"description": "Configuration for selecting a backup.", +"id": "BackupSelectionConfig", +"properties": { +"dataSource": { +"description": "Required. Immutable. The fully qualified URI of the backupdr data source.", "type": "string" +} }, -"backupType": { -"description": "Output only. Type of the backup, unspecified, scheduled or ondemand.", +"type": "object" +}, +"BackupVault": { +"description": "Message describing a BackupVault object.", +"id": "BackupVault", +"properties": { +"accessRestriction": { +"description": "Optional. Restricts access to certain sources and destinations for data being sent into, or restored from, the backup vault. Defaults to WITHIN_ORGANIZATION if not provided during creation.", "enum": [ -"BACKUP_TYPE_UNSPECIFIED", -"SCHEDULED", -"ON_DEMAND", -"ON_DEMAND_OPERATIONAL" +"ACCESS_RESTRICTION_UNSPECIFIED", +"WITHIN_PROJECT", +"WITHIN_ORGANIZATION", +"UNRESTRICTED", +"WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA" ], "enumDescriptions": [ -"Backup type is unspecified.", -"Scheduled backup.", -"On demand backup.", -"Operational backup." +"Access restriction not set. If user does not provide any value or pass this value, it will be changed to WITHIN_ORGANIZATION.", +"Access to or from resources outside your current project will be denied.", +"Access to or from resources outside your current organization will be denied.", +"No access restriction.", +"Access to or from resources outside your current organization will be denied except for backup appliance." ], -"readOnly": true, "type": "string" }, -"cloudSqlInstanceBackupProperties": { -"$ref": "CloudSqlInstanceBackupProperties", -"description": "Output only. Cloud SQL specific backup properties.", -"readOnly": true -}, -"computeInstanceBackupProperties": { -"$ref": "ComputeInstanceBackupProperties", -"description": "Output only. Compute Engine specific backup properties.", -"readOnly": true -}, -"consistencyTime": { -"description": "Output only. The point in time when this backup was captured from the source.", -"format": "google-datetime", -"readOnly": true, +"annotations": { +"additionalProperties": { "type": "string" }, -"createTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"description": "Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data.", +"type": "object" }, -"description": { -"description": "Output only. The description of the Backup instance (2048 characters or less).", +"backupCount": { +"description": "Output only. The number of backups in this backup vault.", +"format": "int64", "readOnly": true, "type": "string" }, -"diskBackupProperties": { -"$ref": "DiskBackupProperties", -"description": "Output only. Disk specific backup properties.", -"readOnly": true -}, -"enforcedRetentionEndTime": { -"description": "Optional. The backup can not be deleted before this time.", -"format": "google-datetime", +"backupMinimumEnforcedRetentionDuration": { +"description": "Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended. Note: Longer minimum enforced retention period impacts potential storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", +"format": "google-duration", "type": "string" }, -"etag": { -"description": "Optional. Server specified ETag to prevent updates from overwriting each other.", +"backupRetentionInheritance": { +"description": "Optional. Setting for how a backup's enforced retention end time is inherited.", +"enum": [ +"BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", +"INHERIT_VAULT_RETENTION", +"MATCH_BACKUP_EXPIRE_TIME" +], +"enumDescriptions": [ +"Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", +"The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", +"The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." +], "type": "string" }, -"expireTime": { -"description": "Optional. When this backup is automatically expired.", +"createTime": { +"description": "Output only. The time when the instance was created.", "format": "google-datetime", +"readOnly": true, "type": "string" }, -"filestoreInstanceBackupProperties": { -"$ref": "FilestoreInstanceBackupProperties", -"description": "Output only. Filestore specific backup properties.", -"readOnly": true -}, -"gcpBackupPlanInfo": { -"$ref": "GCPBackupPlanInfo", -"description": "Output only. Configuration for a Google Cloud resource.", -"readOnly": true +"deletable": { +"description": "Output only. Set to true when there are no backups nested under this resource.", +"readOnly": true, +"type": "boolean" }, -"gcpResource": { -"$ref": "BackupGcpResource", -"description": "Output only. Unique identifier of the GCP resource that is being backed up.", -"readOnly": true +"description": { +"description": "Optional. The description of the BackupVault instance (2048 characters or less).", +"type": "string" }, -"kmsKeyVersions": { -"description": "Optional. Output only. The list of KMS key versions used to encrypt the backup.", -"items": { +"effectiveTime": { +"description": "Optional. Time after which the BackupVault resource is locked.", +"format": "google-datetime", "type": "string" }, -"readOnly": true, -"type": "array" +"encryptionConfig": { +"$ref": "EncryptionConfig", +"description": "Optional. The encryption config of the backup vault." +}, +"etag": { +"description": "Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other.", +"type": "string" }, "labels": { "additionalProperties": { "type": "string" }, -"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined.", +"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", "type": "object" }, "name": { -"description": "Output only. Identifier. Name of the backup to create. It must have the format`\"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}\"`. `{backup}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource.", +"description": "Output only. Identifier. Name of the backup vault to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}\"`. `{backupvault}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location.", "readOnly": true, "type": "string" }, -"netappVolumeBackupProperties": { -"$ref": "NetAppVolumeBackupProperties", -"description": "Output only. NetApp Volume specific backup properties.", -"readOnly": true -}, -"resourceSizeBytes": { -"description": "Output only. source resource size in bytes at the time of the backup.", -"format": "int64", +"serviceAccount": { +"description": "Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there.", "readOnly": true, "type": "string" }, -"satisfiesPzi": { -"description": "Optional. Output only. Reserved for future use.", -"readOnly": true, -"type": "boolean" -}, -"satisfiesPzs": { -"description": "Optional. Output only. Reserved for future use.", -"readOnly": true, -"type": "boolean" -}, -"serviceLocks": { -"description": "Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup.", -"items": { -"$ref": "BackupLock" -}, -"readOnly": true, -"type": "array" -}, "state": { -"description": "Output only. The Backup resource instance state.", +"description": "Output only. The BackupVault resource instance state.", "enum": [ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", "DELETING", "ERROR", -"UPLOADING" +"UPDATING" ], "enumDescriptions": [ "State not set.", -"The backup is being created.", -"The backup has been created and is fully usable.", -"The backup is being deleted.", -"The backup is experiencing an issue and might be unusable.", -"The backup is being uploaded." +"The backup vault is being created.", +"The backup vault has been created and is fully usable.", +"The backup vault is being deleted.", +"The backup vault is experiencing an issue and might be unusable.", +"The backup vault is being updated." ], "readOnly": true, "type": "string" }, -"updateTime": { -"description": "Output only. The time when the instance was updated.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"BackupApplianceBackupConfig": { -"description": "BackupApplianceBackupConfig captures the backup configuration for applications that are protected by Backup Appliances.", -"id": "BackupApplianceBackupConfig", -"properties": { -"applicationName": { -"description": "The name of the application.", -"type": "string" -}, -"backupApplianceId": { -"description": "The ID of the backup appliance.", -"format": "int64", -"type": "string" -}, -"backupApplianceName": { -"description": "The name of the backup appliance.", -"type": "string" -}, -"hostName": { -"description": "The name of the host where the application is running.", -"type": "string" -}, -"slaId": { -"description": "The ID of the SLA of this application.", +"totalStoredBytes": { +"description": "Output only. Total size of the storage used by all backup resources.", "format": "int64", +"readOnly": true, "type": "string" }, -"slpName": { -"description": "The name of the SLP associated with the application.", +"uid": { +"description": "Output only. Immutable after resource creation until resource deletion.", +"readOnly": true, "type": "string" }, -"sltName": { -"description": "The name of the SLT associated with the application.", +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, "type": "string" } }, "type": "object" }, -"BackupApplianceBackupProperties": { -"description": "BackupApplianceBackupProperties represents BackupDR backup appliance's properties.", -"id": "BackupApplianceBackupProperties", +"BackupWindow": { +"description": "`BackupWindow` defines a window of the day during which backup jobs will run.", +"id": "BackupWindow", "properties": { -"finalizeTime": { -"description": "Output only. The time when this backup object was finalized (if none, backup is not finalized).", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"generationId": { -"description": "Output only. The numeric generation ID of the backup (monotonically increasing).", +"endHourOfDay": { +"description": "Required. The hour of day (1-24) when the window end for example if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.", "format": "int32", -"readOnly": true, "type": "integer" }, -"recoveryRangeEndTime": { -"description": "Optional. The latest timestamp of data available in this Backup.", -"format": "google-datetime", -"type": "string" -}, -"recoveryRangeStartTime": { -"description": "Optional. The earliest timestamp of data available in this Backup.", -"format": "google-datetime", -"type": "string" +"startHourOfDay": { +"description": "Required. The hour of day (0-23) when the window starts for example if value of start hour of day is 6 that mean backup window start at 6:00.", +"format": "int32", +"type": "integer" } }, "type": "object" }, -"BackupApplianceLockInfo": { -"description": "BackupApplianceLockInfo contains metadata about the backupappliance that created the lock.", -"id": "BackupApplianceLockInfo", +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", "properties": { -"backupApplianceId": { -"description": "Required. The ID of the backup/recovery appliance that created this lock.", -"format": "int64", -"type": "string" -}, -"backupApplianceName": { -"description": "Required. The name of the backup/recovery appliance that created this lock.", -"type": "string" -}, -"backupImage": { -"description": "The image name that depends on this Backup.", -"type": "string" +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, -"jobName": { -"description": "The job name on the backup/recovery appliance that created this lock.", +"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" }, -"lockReason": { -"description": "Required. The reason for the lock: e.g. MOUNT/RESTORE/BACKUP/etc. The value of this string is only meaningful to the client and it is not interpreted by the BackupVault service.", -"type": "string" +"type": "array" }, -"slaId": { -"description": "The SLA on the backup/recovery appliance that owns the lock.", -"format": "int64", +"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" }, -"BackupConfigDetails": { -"description": "BackupConfigDetails has information about how the resource is configured for backups and about the most recent backup taken for this configuration.", -"id": "BackupConfigDetails", +"BindingEvaluationSummary": { +"description": "BindingEvaluationSummary contains the summary of the last run of job that applies policy to matching resources for a given binding.", +"id": "BindingEvaluationSummary", "properties": { -"applicableResource": { -"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource that is applicable for the backup configuration. Example: \"//compute.googleapis.com/projects/{project}/zones/{zone}/instances/{instance}\"", -"readOnly": true, -"type": "string" -}, -"backupConfigSource": { -"description": "Output only. The full resource name of the backup config source resource. For example, \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupPlans/{backupplanId}\" or \"//compute.googleapis.com/projects/{project}/locations/{region}/resourcePolicies/{resourcePolicyId}\".", +"failedResourceCount": { +"description": "Output only. The number of matching resources whose protection failed during job run.", +"format": "int64", "readOnly": true, "type": "string" }, -"backupConfigSourceDisplayName": { -"description": "Output only. The display name of the backup config source resource.", +"matchingResourceCount": { +"description": "Output only. The number of resources that currently match the policy's criteria.", +"format": "int64", "readOnly": true, "type": "string" }, -"backupDrPlanConfig": { -"$ref": "BackupDrPlanConfig", -"description": "Google Cloud Backup and DR's Backup Plan specific data." -}, -"backupDrTemplateConfig": { -"$ref": "BackupDrTemplateConfig", -"description": "Google Cloud Backup and DR's Template specific data." -}, -"backupLocations": { -"description": "The locations where the backups are to be stored.", -"items": { -"$ref": "BackupLocation" -}, -"type": "array" -}, -"backupVault": { -"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the backup vault that will store the backups generated through this backup configuration. Example: \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupVaults/{backupvaultId}\"", +"protectedResourceCount": { +"description": "Output only. The number of matching resources that are successfully protected.", +"format": "int64", "readOnly": true, "type": "string" +} }, -"latestSuccessfulBackupTime": { -"description": "Output only. Timestamp of the latest successful backup created via this backup configuration.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"type": "object" }, -"pitrSettings": { -"$ref": "PitrSettings", -"description": "Output only. Point in time recovery settings of the backup configuration resource.", +"BindingMatchingResource": { +"description": "BindingMatchingResource contains the details of a resource that matches the criteria of a binding.", +"id": "BindingMatchingResource", +"properties": { +"autoProtectionDetails": { +"$ref": "AutoProtectionDetails", +"description": "Output only. The auto protection details of the resource from the current binding's perspective.", "readOnly": true }, -"state": { -"description": "Output only. The state of the backup config resource.", -"enum": [ -"STATE_UNSPECIFIED", -"ACTIVE", -"INACTIVE", -"ERROR" -], -"enumDescriptions": [ -"Backup config state not set.", -"The config is in an active state protecting the resource", -"The config is currently not protecting the resource. Either because it is disabled or the owning project has been deleted without cleanup of the actual resource.", -"The config still exists but because of some error state it is not protecting the resource. Like the source project is deleted. For eg. PlanAssociation, BackupPlan is deleted." -], +"lastEvaluationTime": { +"description": "Output only. The timestamp when the resource was last evaluated for protection.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"type": { -"description": "Output only. The type of the backup config resource.", -"enum": [ -"TYPE_UNSPECIFIED", -"CLOUD_SQL_INSTANCE_BACKUP_CONFIG", -"COMPUTE_ENGINE_RESOURCE_POLICY", -"BACKUPDR_BACKUP_PLAN", -"BACKUPDR_TEMPLATE" -], -"enumDescriptions": [ -"Backup config type is unspecified.", -"Backup config is Cloud SQL instance's automated backup config.", -"Backup config is Compute Engine Resource Policy.", -"Backup config is Google Cloud Backup and DR's Backup Plan.", -"Backup config is Google Cloud Backup and DR's Template." -], +"name": { +"description": "Identifier. The resource name of the `BindingMatchingResource`. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}/matchingResources/{matching_resource}`", +"type": "string" +}, +"resource": { +"description": "Required. Immutable. Resource name of the workload that matches the criteria of the binding. The format can be either a relative resource name (e.g., `projects/my-project/zones/us-central1-a/instances/my-instance`) or a schemeless full resource name (e.g., `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`).", +"type": "string" +} +}, +"type": "object" +}, +"BindingSummary": { +"description": "BindingSummary contains count of different containers covered through this policy.", +"id": "BindingSummary", +"properties": { +"projectCount": { +"description": "Output only. Total count of Projects protected with this policy.", +"format": "int64", "readOnly": true, "type": "string" } }, "type": "object" }, -"BackupConfigInfo": { -"description": "BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault.", -"id": "BackupConfigInfo", +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CleanupPhaseInfo": { +"description": "Info for Cleanup phase execution.", +"id": "CleanupPhaseInfo", "properties": { -"backupApplianceBackupConfig": { -"$ref": "BackupApplianceBackupConfig", -"description": "Configuration for an application backed up by a Backup Appliance." +"cleanupDuration": { +"description": "Output only. Time taken to perform the cleanup of restored resource.", +"format": "google-duration", +"readOnly": true, +"type": "string" }, -"gcpBackupConfig": { -"$ref": "GcpBackupConfig", -"description": "Configuration for a Google Cloud resource." +"cleanupTime": { +"description": "Output only. The time when the resources will be cleaned up.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"lastBackupError": { +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { "$ref": "Status", -"description": "Output only. If the last backup failed, this field has the error message.", +"description": "Output only. Error details if the phase failed.", "readOnly": true }, -"lastBackupState": { -"description": "Output only. The status of the last backup to this BackupVault", +"failureCleanupRule": { +"$ref": "RestoreVerificationCleanupRule", +"description": "Output only. Snapshot of cleanup rule provided for this execution when execution is failed.", +"readOnly": true +}, +"phaseState": { +"description": "Output only. The state of this phase.", "enum": [ -"LAST_BACKUP_STATE_UNSPECIFIED", -"FIRST_BACKUP_PENDING", +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", "SUCCEEDED", "FAILED", -"PERMISSION_DENIED" +"TIMED_OUT", +"SKIPPED", +"WAITING" ], "enumDescriptions": [ -"Status not set.", -"The first backup has not yet completed", -"The most recent backup was successful", -"The most recent backup failed", -"The most recent backup could not be run/failed because of the lack of permissions" +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." ], "readOnly": true, "type": "string" }, -"lastSuccessfulBackupConsistencyTime": { -"description": "Output only. If the last backup were successful, this field has the consistency date.", +"startTime": { +"description": "Output only. Start time of the phase.", "format": "google-datetime", "readOnly": true, "type": "string" +}, +"successCleanupRule": { +"$ref": "RestoreVerificationCleanupRule", +"description": "Output only. Snapshot of cleanup rule provided for this execution when execution is successful.", +"readOnly": true } }, "type": "object" }, -"BackupDrPlanConfig": { -"description": "BackupDrPlanConfig has additional information about Google Cloud Backup and DR's Plan backup configuration.", -"id": "BackupDrPlanConfig", +"CloudSqlInstanceBackupPlanAssociationProperties": { +"description": "Cloud SQL instance's BPA properties.", +"id": "CloudSqlInstanceBackupPlanAssociationProperties", "properties": { -"backupDrPlanRules": { -"description": "Backup rules of the backup plan resource.", -"items": { -"$ref": "BackupDrPlanRule" -}, -"type": "array" +"instanceCreateTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" } }, "type": "object" }, -"BackupDrPlanRule": { -"description": "BackupDrPlanRule has rule specific information of the backup plan resource.", -"id": "BackupDrPlanRule", +"CloudSqlInstanceBackupProperties": { +"description": "CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties.", +"id": "CloudSqlInstanceBackupProperties", "properties": { -"lastSuccessfulBackupTime": { -"description": "Output only. Timestamp of the latest successful backup created via this backup rule.", +"databaseInstalledVersion": { +"description": "Output only. The installed database version of the Cloud SQL instance when the backup was taken.", +"readOnly": true, +"type": "string" +}, +"finalBackup": { +"description": "Output only. Whether the backup is a final backup.", +"readOnly": true, +"type": "boolean" +}, +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", "format": "google-datetime", "readOnly": true, "type": "string" }, -"ruleId": { -"description": "Output only. Unique Id of the backup rule.", +"instanceDeleteTime": { +"description": "Output only. The instance delete timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"instanceTier": { +"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", +"readOnly": true, +"type": "string" +}, +"sourceInstance": { +"description": "Output only. The source instance of the backup. Format: projects/{project}/instances/{instance}", "readOnly": true, "type": "string" } }, "type": "object" }, -"BackupDrTemplateConfig": { -"description": "Provides additional information about Google Cloud Backup and DR's Template backup configuration.", -"id": "BackupDrTemplateConfig", +"CloudSqlInstanceDataSourceProperties": { +"description": "CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource.", +"id": "CloudSqlInstanceDataSourceProperties", "properties": { -"firstPartyManagementUri": { -"description": "Output only. The URI of the BackupDr template resource for the first party identity users.", +"databaseInstalledVersion": { +"description": "Output only. The installed database version of the Cloud SQL instance.", "readOnly": true, "type": "string" }, -"thirdPartyManagementUri": { -"description": "Output only. The URI of the BackupDr template resource for the third party identity users.", +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"instanceTier": { +"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", "readOnly": true, "type": "string" } }, "type": "object" }, -"BackupGcpResource": { -"description": "Minimum details to identify a Google Cloud resource for a backup.", -"id": "BackupGcpResource", +"CloudSqlInstanceDataSourceReferenceProperties": { +"description": "CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference.", +"id": "CloudSqlInstanceDataSourceReferenceProperties", "properties": { -"gcpResourcename": { -"description": "Name of the Google Cloud resource.", +"databaseInstalledVersion": { +"description": "Output only. The installed database version of the Cloud SQL instance.", +"readOnly": true, "type": "string" }, -"location": { -"description": "Location of the resource: //\"global\"/\"unspecified\".", +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"type": { -"description": "Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", +"instanceTier": { +"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", +"readOnly": true, "type": "string" } }, "type": "object" }, -"BackupLocation": { -"description": "BackupLocation represents a cloud location where a backup can be stored.", -"id": "BackupLocation", +"CloudSqlInstanceInitializationConfig": { +"description": "CloudSqlInstanceInitializationConfig contains the configuration for initializing a Cloud SQL instance.", +"id": "CloudSqlInstanceInitializationConfig", "properties": { -"locationId": { -"description": "Output only. The id of the cloud location. Example: \"us-central1\"", -"readOnly": true, -"type": "string" -}, -"type": { -"description": "Output only. The type of the location.", +"edition": { +"description": "Required. The edition of the Cloud SQL instance.", "enum": [ -"TYPE_UNSPECIFIED", -"ZONAL", -"REGIONAL", -"MULTI_REGIONAL" +"EDITION_UNSPECIFIED", +"ENTERPRISE", +"ENTERPRISE_PLUS" ], "enumDescriptions": [ -"Location type is unspecified.", -"Location type is zonal.", -"Location type is regional.", -"Location type is multi regional." +"Unspecified edition.", +"Enterprise edition.", +"Enterprise Plus edition." ], -"readOnly": true, "type": "string" } }, "type": "object" }, -"BackupLock": { -"description": "BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted.", -"id": "BackupLock", +"ComputeInstanceBackupPlanProperties": { +"description": "Properties for a compute instance backup plan.", +"id": "ComputeInstanceBackupPlanProperties", "properties": { -"backupApplianceLockInfo": { -"$ref": "BackupApplianceLockInfo", -"description": "If the client is a backup and recovery appliance, this contains metadata about why the lock exists." +"bootDiskOnly": { +"description": "Optional. If true, only the boot disk will be backed up.", +"type": "boolean" }, -"lockUntilTime": { -"description": "Required. The time after which this lock is not considered valid and will no longer protect the Backup from deletion.", -"format": "google-datetime", -"type": "string" +"diskExclusionLabels": { +"$ref": "DiskExclusionLabels", +"description": "Optional. Labels used to identify disks for exclusion from the backup. If a disk carries any of these labels, it will be excluded (OR logic)." }, -"serviceLockInfo": { -"$ref": "ServiceLockInfo", -"description": "Output only. Contains metadata about the lock exist for Google Cloud native backups.", -"readOnly": true +"guestFlush": { +"description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", +"type": "boolean" } }, "type": "object" }, -"BackupPlan": { -"description": "A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.", -"id": "BackupPlan", +"ComputeInstanceBackupProperties": { +"description": "ComputeInstanceBackupProperties represents Compute Engine instance backup properties.", +"id": "ComputeInstanceBackupProperties", "properties": { -"backupRules": { -"description": "Optional. The backup rules for this `BackupPlan`.", +"canIpForward": { +"description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify `true`. If unsure, leave this set to `false`. See the https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.", +"type": "boolean" +}, +"description": { +"description": "An optional text description for the instances that are created from these properties.", +"type": "string" +}, +"disk": { +"description": "An array of disks that are associated with the instances that are created from these properties.", "items": { -"$ref": "BackupRule" +"$ref": "AttachedDisk" }, "type": "array" }, -"backupVault": { -"description": "Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}", +"excludedDisks": { +"description": "Optional. List of disks excluded from the backup.", +"items": { "type": "string" }, -"backupVaultServiceAccount": { -"description": "Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.", -"readOnly": true, -"type": "string" +"type": "array" }, -"computeInstanceBackupPlanProperties": { -"$ref": "ComputeInstanceBackupPlanProperties", -"description": "Optional. Defines optional properties specific to backups of compute instance-based resources, such as Compute Engine. This includes settings like whether to perform a guest flush." +"guestAccelerator": { +"description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", +"items": { +"$ref": "AcceleratorConfig" }, -"createTime": { -"description": "Output only. When the `BackupPlan` was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"type": "array" }, -"description": { -"description": "Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: \"This is a backup plan that performs a daily backup at 6pm and retains data for 3 months\". The description must be at most 2048 characters.", +"guestFlush": { +"description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", +"type": "boolean" +}, +"includedDisks": { +"description": "Optional. List of disks included in the backup.", +"items": { "type": "string" }, -"diskBackupPlanProperties": { -"$ref": "DiskBackupPlanProperties", -"description": "Optional. Defines optional properties specific to backups of disk-based resources, such as Compute Engine Persistent Disks. This includes settings like whether to perform a guest flush." +"type": "array" }, -"etag": { -"description": "Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.", +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], "type": "string" }, "labels": { "additionalProperties": { "type": "string" }, -"description": "Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {\"tag\": \"Weekly\"}.", +"description": "Labels to apply to instances that are created from these properties.", "type": "object" }, -"logRetentionDays": { -"description": "Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in \u201cdays\u201d. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.", -"format": "int64", +"machineType": { +"description": "The machine type to use for instances that are created from these properties.", "type": "string" }, -"maxCustomOnDemandRetentionDays": { -"description": "Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value.", -"format": "int32", -"type": "integer" +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See https://cloud.google.com/compute/docs/metadata/overview for more information." }, -"name": { -"description": "Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", -"readOnly": true, +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information, read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", "type": "string" }, -"resourceType": { -"description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\", \"sqladmin.googleapis.com/Instance\", \"alloydb.googleapis.com/Cluster\", \"compute.googleapis.com/Disk\".", -"type": "string" +"networkInterface": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" }, -"revisionId": { -"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", -"readOnly": true, +"type": "array" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from these properties." +}, +"serviceAccount": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"sourceInstance": { +"description": "The source instance used to create this backup. This can be a partial or full URL to the resource. For example, the following are valid values: -https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance -projects/project/zones/zone/instances/instance", "type": "string" }, -"revisionName": { -"description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", -"readOnly": true, +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt)." +} +}, +"type": "object" +}, +"ComputeInstanceDataSourceProperties": { +"description": "ComputeInstanceDataSourceProperties represents the properties of a ComputeEngine resource that are stored in the DataSource.", +"id": "ComputeInstanceDataSourceProperties", +"properties": { +"description": { +"description": "The description of the Compute Engine instance.", "type": "string" }, -"state": { -"description": "Output only. The `State` for the `BackupPlan`.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"INACTIVE", -"UPDATING" -], -"enumDescriptions": [ -"State not set.", -"The resource is being created.", -"The resource has been created and is fully usable.", -"The resource is being deleted.", -"The resource has been created but is not usable.", -"The resource is being updated." -], -"readOnly": true, +"machineType": { +"description": "The machine type of the instance.", "type": "string" }, -"supportedResourceTypes": { -"description": "Output only. All resource types to which backupPlan can be applied.", -"items": { +"name": { +"description": "Name of the compute instance backed up by the datasource.", "type": "string" }, -"readOnly": true, -"type": "array" +"totalDiskCount": { +"description": "The total number of disks attached to the Instance.", +"format": "int64", +"type": "string" }, -"updateTime": { -"description": "Output only. When the `BackupPlan` was last updated.", -"format": "google-datetime", -"readOnly": true, +"totalDiskSizeGb": { +"description": "The sum of all the disk sizes.", +"format": "int64", "type": "string" } }, "type": "object" }, -"BackupPlanAssociation": { -"description": "A BackupPlanAssociation represents a single BackupPlanAssociation which contains details like workload, backup plan etc", -"id": "BackupPlanAssociation", +"ComputeInstanceRestoreProperties": { +"description": "ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore.", +"id": "ComputeInstanceRestoreProperties", "properties": { -"alloydbClusterBackupPlanAssociationProperties": { -"$ref": "AlloyDBClusterBackupPlanAssociationProperties", -"description": "Output only. AlloyDB cluster's backup plan association properties.", -"readOnly": true +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Optional. Controls for advanced machine-related behavior features." }, -"autoProtectionPolicyBinding": { -"description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this association, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", -"readOnly": true, -"type": "string" +"canIpForward": { +"description": "Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.", +"type": "boolean" }, -"backupPlan": { -"description": "Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", -"type": "string" +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig", +"description": "Optional. Controls Confidential compute options on the instance" }, -"backupPlanRevisionId": { -"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", -"readOnly": true, +"deletionProtection": { +"description": "Optional. Whether the resource should be protected against deletion.", +"type": "boolean" +}, +"description": { +"description": "Optional. An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, -"backupPlanRevisionName": { -"description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", -"readOnly": true, +"disks": { +"description": "Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them. Source regional persistent disks will be restored with default replica zones if not specified.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"displayDevice": { +"$ref": "DisplayDevice", +"description": "Optional. Enables display device for the instance." +}, +"guestAccelerators": { +"description": "Optional. A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"hostname": { +"description": "Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", "type": "string" }, -"cloudSqlInstanceBackupPlanAssociationProperties": { -"$ref": "CloudSqlInstanceBackupPlanAssociationProperties", -"description": "Output only. Cloud SQL instance's backup plan association properties.", -"readOnly": true +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Encrypts suspended data for an instance with a customer-managed encryption key." }, -"createTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, +"keyRevocationActionType": { +"description": "Optional. KeyRevocationActionType of the instance.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], "type": "string" }, -"dataSource": { -"description": "Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}", -"readOnly": true, +"labels": { +"additionalProperties": { "type": "string" }, -"filestoreInstanceBackupPlanAssociationProperties": { -"$ref": "FilestoreInstanceBackupPlanAssociationProperties", -"description": "Output only. Filestore instance's backup plan association properties.", -"readOnly": true +"description": "Optional. Labels to apply to this instance.", +"type": "object" }, -"name": { -"description": "Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", -"readOnly": true, +"machineType": { +"description": "Optional. Full or partial URL of the machine type resource to use for this instance.", "type": "string" }, -"netappVolumeBackupPlanAssociationProperties": { -"$ref": "NetAppVolumeBackupPlanAssociationProperties", -"description": "Output only. NetApp volume backup plan association properties.", -"readOnly": true +"metadata": { +"$ref": "Metadata", +"description": "Optional. This includes custom metadata and predefined keys." }, -"resource": { -"description": "Required. Immutable. Resource name of workload on which the backup plan is applied. The format can either be the resource name (e.g., \"projects/my-project/zones/us-central1-a/instances/my-instance\") or the full resource URI (e.g., \"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance\").", +"minCpuPlatform": { +"description": "Optional. Minimum CPU platform to use for this instance.", "type": "string" }, -"resourceType": { -"description": "Required. Immutable. Resource type of workload on which backupplan is applied", +"name": { +"description": "Required. Name of the compute instance.", "type": "string" }, -"rulesConfigInfo": { -"description": "Output only. The config info related to backup rules.", +"networkInterfaces": { +"description": "Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. Required to restore in different project or region.", "items": { -"$ref": "RuleConfigInfo" +"$ref": "NetworkInterface" }, -"readOnly": true, "type": "array" }, -"state": { -"description": "Output only. The BackupPlanAssociation resource state.", +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig", +"description": "Optional. Configure network performance such as egress bandwidth tier." +}, +"params": { +"$ref": "InstanceParams", +"description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." +}, +"privateIpv6GoogleAccess": { +"description": "Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", "enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"INACTIVE", -"UPDATING", -"PAUSED" +"INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", +"INHERIT_FROM_SUBNETWORK", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE" ], "enumDescriptions": [ -"State not set.", -"The resource is being created.", -"The resource has been created and is fully usable.", -"The resource is being deleted.", -"The resource has been created but is not usable.", -"The resource is being updated.", -"The resource has been created but backups are paused." +"Default value. This value is unused.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before." ], -"readOnly": true, "type": "string" }, -"updateTime": { -"description": "Output only. The time when the instance was updated.", -"format": "google-datetime", -"readOnly": true, +"reservationAffinity": { +"$ref": "AllocationAffinity", +"description": "Optional. Specifies the reservations that this instance can consume from." +}, +"resourcePolicies": { +"description": "Optional. Resource policies applied to this instance. By default, no resource policies will be applied.", +"items": { "type": "string" +}, +"type": "array" +}, +"scheduling": { +"$ref": "Scheduling", +"description": "Optional. Sets the scheduling options for this instance." +}, +"serviceAccounts": { +"description": "Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"tags": { +"$ref": "Tags", +"description": "Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation." } }, "type": "object" }, -"BackupPlanDetail": { -"description": "BackupPlanDetail defines configuration of protection.", -"id": "BackupPlanDetail", +"ComputeInstanceTargetEnvironment": { +"description": "ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore.", +"id": "ComputeInstanceTargetEnvironment", "properties": { -"backupPlan": { -"description": "Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", +"project": { +"description": "Required. Target project for the Compute Engine instance.", "type": "string" }, -"resourceType": { -"description": "Required. The type of resource that this policy will automatically protect. Allowed values are, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.", +"useProjectServiceAccount": { +"description": "Optional. Whether to use the project service account for the Compute Engine instance restore.", +"type": "boolean" +}, +"zone": { +"description": "Required. The zone of the Compute Engine instance.", "type": "string" } }, "type": "object" }, -"BackupPlanRevision": { -"description": "`BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time.", -"id": "BackupPlanRevision", +"ConfidentialInstanceConfig": { +"description": "A set of Confidential Instance options.", +"id": "ConfidentialInstanceConfig", "properties": { -"backupPlanSnapshot": { -"$ref": "BackupPlan", -"description": "The Backup Plan being encompassed by this revision." -}, -"createTime": { -"description": "Output only. The timestamp that the revision was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"enableConfidentialCompute": { +"description": "Optional. Defines whether the instance should have confidential compute enabled.", +"type": "boolean" +} }, -"name": { -"description": "Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}`", -"readOnly": true, -"type": "string" +"type": "object" }, -"revisionId": { -"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", -"readOnly": true, -"type": "string" +"Criteria": { +"description": "Criteria specifies a set of criteria for matching resources.", +"id": "Criteria", +"properties": { +"matchingConditions": { +"description": "Required. A list of matching conditions that a resource must meet to be protected by the policy.", +"items": { +"$ref": "MatchingCondition" }, -"state": { -"description": "Output only. Resource State", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"INACTIVE" -], -"enumDescriptions": [ -"State not set.", -"The resource is being created.", -"The resource has been created and is fully usable.", -"The resource is being deleted.", -"The resource has been created but is not usable." -], -"readOnly": true, -"type": "string" +"type": "array" } }, "type": "object" }, -"BackupRule": { -"description": "`BackupRule` binds the backup schedule to a retention policy.", -"id": "BackupRule", +"CustomerEncryptionKey": { +"description": "A customer-supplied encryption key.", +"id": "CustomerEncryptionKey", "properties": { -"backupRetentionDays": { -"description": "Required. Configures the duration for which backup data will be kept. It is defined in \u201cdays\u201d. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", -"format": "int32", -"type": "integer" +"kmsKeyName": { +"description": "Optional. The name of the encryption key that is stored in Google Cloud KMS.", +"type": "string" }, -"ruleId": { -"description": "Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.", +"kmsKeyServiceAccount": { +"description": "Optional. The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.", "type": "string" }, -"standardSchedule": { -"$ref": "StandardSchedule", -"description": "Optional. Defines a schedule that runs within the confines of a defined window of time." +"rawKey": { +"description": "Optional. Specifies a 256-bit customer-supplied encryption key.", +"type": "string" +}, +"rsaEncryptedKey": { +"description": "Optional. RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource.", +"type": "string" } }, "type": "object" }, -"BackupVault": { -"description": "Message describing a BackupVault object.", -"id": "BackupVault", +"DataSource": { +"description": "Message describing a DataSource object. Datasource object used to represent Datasource details for both admin and basic view.", +"id": "DataSource", "properties": { -"accessRestriction": { -"description": "Optional. Restricts access to certain sources and destinations for data being sent into, or restored from, the backup vault. Defaults to WITHIN_ORGANIZATION if not provided during creation.", -"enum": [ -"ACCESS_RESTRICTION_UNSPECIFIED", -"WITHIN_PROJECT", -"WITHIN_ORGANIZATION", -"UNRESTRICTED", -"WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA" -], -"enumDescriptions": [ -"Access restriction not set. If user does not provide any value or pass this value, it will be changed to WITHIN_ORGANIZATION.", -"Access to or from resources outside your current project will be denied.", -"Access to or from resources outside your current organization will be denied.", -"No access restriction.", -"Access to or from resources outside your current organization will be denied except for backup appliance." -], -"type": "string" -}, -"annotations": { -"additionalProperties": { -"type": "string" +"backupBlockedByVaultAccessRestriction": { +"description": "Output only. This field is set to true if the backup is blocked by vault access restriction.", +"readOnly": true, +"type": "boolean" }, -"description": "Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data.", -"type": "object" +"backupConfigInfo": { +"$ref": "BackupConfigInfo", +"description": "Output only. Details of how the resource is configured for backup.", +"readOnly": true }, "backupCount": { -"description": "Output only. The number of backups in this backup vault.", +"description": "Number of backups in the data source.", "format": "int64", -"readOnly": true, -"type": "string" -}, -"backupMinimumEnforcedRetentionDuration": { -"description": "Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended. Note: Longer minimum enforced retention period impacts potential storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", -"format": "google-duration", "type": "string" }, -"backupRetentionInheritance": { -"description": "Optional. Setting for how a backup's enforced retention end time is inherited.", +"configState": { +"description": "Output only. The backup configuration state.", "enum": [ -"BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", -"INHERIT_VAULT_RETENTION", -"MATCH_BACKUP_EXPIRE_TIME" +"BACKUP_CONFIG_STATE_UNSPECIFIED", +"ACTIVE", +"PASSIVE", +"PAUSED" ], "enumDescriptions": [ -"Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", -"The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", -"The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." +"The possible states of backup configuration. Status not set.", +"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", +"The data source is no longer protected (but may have backups under it)", +"The data source has been created but backups are paused" ], -"type": "string" -}, -"createTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"deletable": { -"description": "Output only. Set to true when there are no backups nested under this resource.", "readOnly": true, -"type": "boolean" -}, -"description": { -"description": "Optional. The description of the BackupVault instance (2048 characters or less).", "type": "string" }, -"effectiveTime": { -"description": "Optional. Time after which the BackupVault resource is locked.", +"createTime": { +"description": "Output only. The time when the instance was created.", "format": "google-datetime", +"readOnly": true, "type": "string" }, -"encryptionConfig": { -"$ref": "EncryptionConfig", -"description": "Optional. The encryption config of the backup vault." +"dataSourceBackupApplianceApplication": { +"$ref": "DataSourceBackupApplianceApplication", +"description": "The backed up resource is a backup appliance application." +}, +"dataSourceGcpResource": { +"$ref": "DataSourceGcpResource", +"description": "The backed up resource is a Google Cloud resource. The word 'DataSource' was included in the names to indicate that this is the representation of the Google Cloud resource used within the DataSource object." }, "etag": { -"description": "Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other.", +"description": "Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", "type": "string" }, "labels": { @@ -4824,45 +6293,32 @@ "type": "object" }, "name": { -"description": "Output only. Identifier. Name of the backup vault to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}\"`. `{backupvault}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location.", -"readOnly": true, -"type": "string" -}, -"serviceAccount": { -"description": "Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there.", +"description": "Output only. Identifier. Name of the datasource to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}\"`. `{datasource}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault.", "readOnly": true, "type": "string" }, "state": { -"description": "Output only. The BackupVault resource instance state.", +"description": "Output only. The DataSource resource instance state.", "enum": [ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", "DELETING", -"ERROR", -"UPDATING" +"ERROR" ], "enumDescriptions": [ "State not set.", -"The backup vault is being created.", -"The backup vault has been created and is fully usable.", -"The backup vault is being deleted.", -"The backup vault is experiencing an issue and might be unusable.", -"The backup vault is being updated." +"The data source is being created.", +"The data source has been created and is fully usable.", +"The data source is being deleted.", +"The data source is experiencing an issue and might be unusable." ], "readOnly": true, "type": "string" }, "totalStoredBytes": { -"description": "Output only. Total size of the storage used by all backup resources.", +"description": "The number of bytes (metadata and data) stored in this datasource.", "format": "int64", -"readOnly": true, -"type": "string" -}, -"uid": { -"description": "Output only. Immutable after resource creation until resource deletion.", -"readOnly": true, "type": "string" }, "updateTime": { @@ -4874,121 +6330,69 @@ }, "type": "object" }, -"BackupWindow": { -"description": "`BackupWindow` defines a window of the day during which backup jobs will run.", -"id": "BackupWindow", -"properties": { -"endHourOfDay": { -"description": "Required. The hour of day (1-24) when the window end for example if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.", -"format": "int32", -"type": "integer" -}, -"startHourOfDay": { -"description": "Required. The hour of day (0-23) when the window starts for example if value of start hour of day is 6 that mean backup window start at 6:00.", -"format": "int32", -"type": "integer" -} -}, -"type": "object" -}, -"Binding": { -"description": "Associates `members`, or principals, with a `role`.", -"id": "Binding", -"properties": { -"condition": { -"$ref": "Expr", -"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." -}, -"members": { -"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", -"items": { -"type": "string" -}, -"type": "array" -}, -"role": { -"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", -"type": "string" -} -}, -"type": "object" -}, -"BindingEvaluationSummary": { -"description": "BindingEvaluationSummary contains the summary of the last run of job that applies policy to matching resources for a given binding.", -"id": "BindingEvaluationSummary", +"DataSourceBackupApplianceApplication": { +"description": "BackupApplianceApplication describes a Source Resource when it is an application backed up by a BackupAppliance.", +"id": "DataSourceBackupApplianceApplication", "properties": { -"failedResourceCount": { -"description": "Output only. The number of matching resources whose protection failed during job run.", +"applianceId": { +"description": "Appliance Id of the Backup Appliance.", "format": "int64", -"readOnly": true, "type": "string" }, -"matchingResourceCount": { -"description": "Output only. The number of resources that currently match the policy's criteria.", +"applicationId": { +"description": "The appid field of the application within the Backup Appliance.", "format": "int64", -"readOnly": true, "type": "string" }, -"protectedResourceCount": { -"description": "Output only. The number of matching resources that are successfully protected.", -"format": "int64", -"readOnly": true, +"applicationName": { +"description": "The name of the Application as known to the Backup Appliance.", "type": "string" -} }, -"type": "object" -}, -"BindingMatchingResource": { -"description": "BindingMatchingResource contains the details of a resource that matches the criteria of a binding.", -"id": "BindingMatchingResource", -"properties": { -"autoProtectionDetails": { -"$ref": "AutoProtectionDetails", -"description": "Output only. The auto protection details of the resource from the current binding's perspective.", -"readOnly": true +"backupAppliance": { +"description": "Appliance name.", +"type": "string" }, -"lastEvaluationTime": { -"description": "Output only. The timestamp when the resource was last evaluated for protection.", -"format": "google-datetime", -"readOnly": true, +"hostId": { +"description": "Hostid of the application host.", +"format": "int64", "type": "string" }, -"name": { -"description": "Identifier. The resource name of the `BindingMatchingResource`. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}/matchingResources/{matching_resource}`", +"hostname": { +"description": "Hostname of the host where the application is running.", "type": "string" }, -"resource": { -"description": "Required. Immutable. Resource name of the workload that matches the criteria of the binding. The format can be either a relative resource name (e.g., `projects/my-project/zones/us-central1-a/instances/my-instance`) or a schemeless full resource name (e.g., `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`).", +"type": { +"description": "The type of the application. e.g. VMBackup", "type": "string" } }, "type": "object" }, -"BindingSummary": { -"description": "BindingSummary contains count of different containers covered through this policy.", -"id": "BindingSummary", +"DataSourceBackupConfigInfo": { +"description": "Information of backup configuration on the DataSource.", +"id": "DataSourceBackupConfigInfo", "properties": { -"projectCount": { -"description": "Output only. Total count of Projects protected with this policy.", -"format": "int64", +"lastBackupState": { +"description": "Output only. The status of the last backup in this DataSource", +"enum": [ +"LAST_BACKUP_STATE_UNSPECIFIED", +"FIRST_BACKUP_PENDING", +"SUCCEEDED", +"FAILED", +"PERMISSION_DENIED" +], +"enumDescriptions": [ +"Status not set.", +"The first backup has not yet completed", +"The most recent backup was successful", +"The most recent backup failed", +"The most recent backup could not be run/failed because of the lack of permissions" +], "readOnly": true, "type": "string" -} -}, -"type": "object" -}, -"CancelOperationRequest": { -"description": "The request message for Operations.CancelOperation.", -"id": "CancelOperationRequest", -"properties": {}, -"type": "object" }, -"CloudSqlInstanceBackupPlanAssociationProperties": { -"description": "Cloud SQL instance's BPA properties.", -"id": "CloudSqlInstanceBackupPlanAssociationProperties", -"properties": { -"instanceCreateTime": { -"description": "Output only. The time when the instance was created.", +"lastSuccessfulBackupConsistencyTime": { +"description": "Output only. Timestamp of the last successful backup to this DataSource.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4996,1323 +6400,1297 @@ }, "type": "object" }, -"CloudSqlInstanceBackupProperties": { -"description": "CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties.", -"id": "CloudSqlInstanceBackupProperties", +"DataSourceGcpResource": { +"description": "DataSourceGcpResource is used for protected resources that are Google Cloud Resources. This name is easeier to understand than GcpResourceDataSource or GcpDataSourceResource", +"id": "DataSourceGcpResource", "properties": { -"databaseInstalledVersion": { -"description": "Output only. The installed database version of the Cloud SQL instance when the backup was taken.", -"readOnly": true, -"type": "string" +"alloyDbClusterDatasourceProperties": { +"$ref": "AlloyDBClusterDataSourceProperties", +"description": "Output only. AlloyDBClusterDataSourceProperties has a subset of AlloyDB cluster properties that are useful at the Datasource level. Currently none of its child properties are auditable. If new auditable properties are added, the AUDIT annotation should be added.", +"readOnly": true }, -"finalBackup": { -"description": "Output only. Whether the backup is a final backup.", -"readOnly": true, -"type": "boolean" +"cloudSqlInstanceDatasourceProperties": { +"$ref": "CloudSqlInstanceDataSourceProperties", +"description": "Output only. CloudSqlInstanceDataSourceProperties has a subset of Cloud SQL Instance properties that are useful at the Datasource level.", +"readOnly": true }, -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"computeInstanceDatasourceProperties": { +"$ref": "ComputeInstanceDataSourceProperties", +"description": "ComputeInstanceDataSourceProperties has a subset of Compute Instance properties that are useful at the Datasource level." }, -"instanceDeleteTime": { -"description": "Output only. The instance delete timestamp.", -"format": "google-datetime", +"diskDatasourceProperties": { +"$ref": "DiskDataSourceProperties", +"description": "DiskDataSourceProperties has a subset of Disk properties that are useful at the Datasource level." +}, +"filestoreInstanceDatasourceProperties": { +"$ref": "FilestoreInstanceDataSourceProperties", +"description": "Output only. FilestoreInstanceDataSourceProperties has a subset of FileStore instance properties that are useful at the Datasource level.", +"readOnly": true +}, +"gcpResourcename": { +"description": "Output only. Full resource pathname URL of the source Google Cloud resource.", "readOnly": true, "type": "string" }, -"instanceTier": { -"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", -"readOnly": true, +"location": { +"description": "Location of the resource: //\"global\"/\"unspecified\".", "type": "string" }, -"sourceInstance": { -"description": "Output only. The source instance of the backup. Format: projects/{project}/instances/{instance}", -"readOnly": true, +"netappVolumeDatasourceProperties": { +"$ref": "NetAppVolumeDataSourceProperties", +"description": "Output only. NetAppVolumeDataSourceProperties has a subset of NetApp Volume properties that are useful at the Datasource level.", +"readOnly": true +}, +"type": { +"description": "The type of the Google Cloud resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", "type": "string" } }, "type": "object" }, -"CloudSqlInstanceDataSourceProperties": { -"description": "CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource.", -"id": "CloudSqlInstanceDataSourceProperties", +"DataSourceGcpResourceInfo": { +"description": "The Google Cloud resource that the DataSource is associated with.", +"id": "DataSourceGcpResourceInfo", "properties": { -"databaseInstalledVersion": { -"description": "Output only. The installed database version of the Cloud SQL instance.", -"readOnly": true, -"type": "string" +"alloyDbClusterProperties": { +"$ref": "AlloyDBClusterDataSourceReferenceProperties", +"description": "Output only. The properties of the AlloyDB cluster.", +"readOnly": true +}, +"cloudSqlInstanceProperties": { +"$ref": "CloudSqlInstanceDataSourceReferenceProperties", +"description": "Output only. The properties of the Cloud SQL instance.", +"readOnly": true }, -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", +"filestoreInstanceProperties": { +"$ref": "FilestoreInstanceDataSourceReferenceProperties", +"description": "Output only. The properties of the Filestore instance.", +"readOnly": true +}, +"gcpResourcename": { +"description": "Output only. The resource name of the Google Cloud resource. Ex: projects/{project}/zones/{zone}/instances/{instance}", "readOnly": true, "type": "string" }, -"instanceTier": { -"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", +"location": { +"description": "Output only. The location of the Google Cloud resource. Ex: //\"global\"/\"unspecified\"", "readOnly": true, "type": "string" }, -"name": { -"description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", +"netappVolumeProperties": { +"$ref": "NetAppVolumeDataSourceReferenceProperties", +"description": "Output only. The NetApp Volume properties.", +"readOnly": true +}, +"type": { +"description": "Output only. The type of the Google Cloud resource. Ex: compute.googleapis.com/Instance", "readOnly": true, "type": "string" } }, "type": "object" }, -"CloudSqlInstanceDataSourceReferenceProperties": { -"description": "CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference.", -"id": "CloudSqlInstanceDataSourceReferenceProperties", +"DataSourceReference": { +"description": "DataSourceReference is a reference to a DataSource resource.", +"id": "DataSourceReference", "properties": { -"databaseInstalledVersion": { -"description": "Output only. The installed database version of the Cloud SQL instance.", +"createTime": { +"description": "Output only. The time when the DataSourceReference was created.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", +"dataSource": { +"description": "Output only. The resource name of the DataSource. Format: projects/{project}/locations/{location}/backupVaults/{backupVault}/dataSources/{dataSource}", "readOnly": true, "type": "string" }, -"instanceTier": { -"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", +"dataSourceBackupConfigInfo": { +"$ref": "DataSourceBackupConfigInfo", +"description": "Output only. Information of backup configuration on the DataSource.", +"readOnly": true +}, +"dataSourceBackupConfigState": { +"description": "Output only. The backup configuration state of the DataSource.", +"enum": [ +"BACKUP_CONFIG_STATE_UNSPECIFIED", +"ACTIVE", +"PASSIVE", +"PAUSED" +], +"enumDescriptions": [ +"The possible states of backup configuration. Status not set.", +"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", +"The data source is no longer protected (but may have backups under it)", +"The data source has been created but backups are paused" +], "readOnly": true, "type": "string" }, -"name": { -"description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", +"dataSourceBackupCount": { +"description": "Output only. Number of backups in the DataSource.", +"format": "int64", "readOnly": true, "type": "string" -} }, -"type": "object" +"dataSourceGcpResourceInfo": { +"$ref": "DataSourceGcpResourceInfo", +"description": "Output only. The Google Cloud resource that the DataSource is associated with.", +"readOnly": true }, -"CloudSqlInstanceInitializationConfig": { -"description": "CloudSqlInstanceInitializationConfig contains the configuration for initializing a Cloud SQL instance.", -"id": "CloudSqlInstanceInitializationConfig", -"properties": { -"edition": { -"description": "Required. The edition of the Cloud SQL instance.", -"enum": [ -"EDITION_UNSPECIFIED", -"ENTERPRISE", -"ENTERPRISE_PLUS" -], -"enumDescriptions": [ -"Unspecified edition.", -"Enterprise edition.", -"Enterprise Plus edition." -], +"name": { +"description": "Identifier. The resource name of the DataSourceReference. Format: projects/{project}/locations/{location}/dataSourceReferences/{data_source_reference}", +"type": "string" +}, +"totalStoredBytes": { +"description": "Output only. Total size of the storage used by all backup resources for the referenced datasource.", +"format": "int64", +"readOnly": true, "type": "string" } }, "type": "object" }, -"ComputeInstanceBackupPlanProperties": { -"description": "Properties for a compute instance backup plan.", -"id": "ComputeInstanceBackupPlanProperties", +"DiskBackupPlanProperties": { +"description": "Properties for a disk backup plan.", +"id": "DiskBackupPlanProperties", "properties": { -"bootDiskOnly": { -"description": "Optional. If true, only the boot disk will be backed up.", -"type": "boolean" -}, -"diskExclusionLabels": { -"$ref": "DiskExclusionLabels", -"description": "Optional. Labels used to identify disks for exclusion from the backup. If a disk carries any of these labels, it will be excluded (OR logic)." -}, "guestFlush": { -"description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", +"description": "Optional. Indicates whether to perform a guest flush operation before taking a disk backup. When set to false, the system will create crash-consistent backups. Default value is false.", "type": "boolean" } }, "type": "object" }, -"ComputeInstanceBackupProperties": { -"description": "ComputeInstanceBackupProperties represents Compute Engine instance backup properties.", -"id": "ComputeInstanceBackupProperties", +"DiskBackupProperties": { +"description": "DiskBackupProperties represents the properties of a Disk backup.", +"id": "DiskBackupProperties", "properties": { -"canIpForward": { -"description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify `true`. If unsure, leave this set to `false`. See the https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.", -"type": "boolean" +"accessMode": { +"description": "The access mode of the source disk.", +"type": "string" +}, +"architecture": { +"description": "The architecture of the source disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"X86_64", +"ARM64" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Disks with architecture X86_64", +"Disks with architecture ARM64" +], +"type": "string" }, "description": { -"description": "An optional text description for the instances that are created from these properties.", +"description": "A description of the source disk.", "type": "string" }, -"disk": { -"description": "An array of disks that are associated with the instances that are created from these properties.", -"items": { -"$ref": "AttachedDisk" +"enableConfidentialCompute": { +"description": "Indicates whether the source disk is using confidential compute mode.", +"type": "boolean" }, -"type": "array" +"guestFlush": { +"description": "Optional. Defines if the guest flush is enabled for the source disk. Default value is false.", +"type": "boolean" }, -"excludedDisks": { -"description": "Optional. List of disks excluded from the backup.", +"guestOsFeature": { +"description": "A list of guest OS features that are applicable to this backup.", "items": { -"type": "string" +"$ref": "GuestOsFeature" }, "type": "array" }, -"guestAccelerator": { -"description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", -"items": { -"$ref": "AcceleratorConfig" -}, -"type": "array" +"labels": { +"additionalProperties": { +"type": "string" }, -"guestFlush": { -"description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", -"type": "boolean" +"description": "The labels of the source disk.", +"type": "object" }, -"includedDisks": { -"description": "Optional. List of disks included in the backup.", +"licenses": { +"description": "A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image.", "items": { "type": "string" }, "type": "array" }, -"keyRevocationActionType": { -"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", -"enum": [ -"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", -"NONE", -"STOP" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"Indicates user chose no operation.", -"Indicates user chose to opt for VM shutdown on key revocation." -], +"physicalBlockSizeBytes": { +"description": "The physical block size of the source disk.", +"format": "int64", "type": "string" }, -"labels": { -"additionalProperties": { +"provisionedIops": { +"description": "The number of IOPS provisioned for the source disk.", +"format": "int64", "type": "string" }, -"description": "Labels to apply to instances that are created from these properties.", -"type": "object" -}, -"machineType": { -"description": "The machine type to use for instances that are created from these properties.", +"provisionedThroughput": { +"description": "The number of throughput provisioned for the source disk.", +"format": "int64", "type": "string" }, -"metadata": { -"$ref": "Metadata", -"description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See https://cloud.google.com/compute/docs/metadata/overview for more information." -}, -"minCpuPlatform": { -"description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information, read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", +"region": { +"description": "Region and zone are mutually exclusive fields. The URL of the region of the source disk.", "type": "string" }, -"networkInterface": { -"description": "An array of network access configurations for this interface.", +"replicaZones": { +"description": "The URL of the Zones where the source disk should be replicated.", "items": { -"$ref": "NetworkInterface" +"type": "string" }, "type": "array" }, -"scheduling": { -"$ref": "Scheduling", -"description": "Specifies the scheduling options for the instances that are created from these properties." +"sizeGb": { +"description": "Size(in GB) of the source disk.", +"format": "int64", +"type": "string" }, -"serviceAccount": { -"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", -"items": { -"$ref": "ServiceAccount" +"sourceDisk": { +"description": "The source disk used to create this backup.", +"type": "string" }, -"type": "array" +"storagePool": { +"description": "The storage pool of the source disk.", +"type": "string" }, -"sourceInstance": { -"description": "The source instance used to create this backup. This can be a partial or full URL to the resource. For example, the following are valid values: -https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance -projects/project/zones/zone/instances/instance", +"type": { +"description": "The URL of the type of the disk.", "type": "string" }, -"tags": { -"$ref": "Tags", -"description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt)." +"zone": { +"description": "The URL of the Zone where the source disk.", +"type": "string" } }, "type": "object" }, -"ComputeInstanceDataSourceProperties": { -"description": "ComputeInstanceDataSourceProperties represents the properties of a ComputeEngine resource that are stored in the DataSource.", -"id": "ComputeInstanceDataSourceProperties", +"DiskDataSourceProperties": { +"description": "DiskDataSourceProperties represents the properties of a Disk resource that are stored in the DataSource. .", +"id": "DiskDataSourceProperties", "properties": { "description": { -"description": "The description of the Compute Engine instance.", -"type": "string" -}, -"machineType": { -"description": "The machine type of the instance.", +"description": "The description of the disk.", "type": "string" }, "name": { -"description": "Name of the compute instance backed up by the datasource.", +"description": "Name of the disk backed up by the datasource.", "type": "string" }, -"totalDiskCount": { -"description": "The total number of disks attached to the Instance.", +"sizeGb": { +"description": "The size of the disk in GB.", "format": "int64", "type": "string" }, -"totalDiskSizeGb": { -"description": "The sum of all the disk sizes.", -"format": "int64", +"type": { +"description": "The type of the disk.", "type": "string" } }, "type": "object" }, -"ComputeInstanceRestoreProperties": { -"description": "ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore.", -"id": "ComputeInstanceRestoreProperties", +"DiskExclusionLabels": { +"description": "Message for selective disk backup exclusion labels.", +"id": "DiskExclusionLabels", "properties": { -"advancedMachineFeatures": { -"$ref": "AdvancedMachineFeatures", -"description": "Optional. Controls for advanced machine-related behavior features." +"labels": { +"description": "Optional. Labels used to identify disks for exclusion from the backup. If a disk carries any of these labels, it will be excluded (OR logic).", +"items": { +"$ref": "LabelKeyValPair" }, -"canIpForward": { -"description": "Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.", -"type": "boolean" +"type": "array" +} }, -"confidentialInstanceConfig": { -"$ref": "ConfidentialInstanceConfig", -"description": "Optional. Controls Confidential compute options on the instance" +"type": "object" }, -"deletionProtection": { -"description": "Optional. Whether the resource should be protected against deletion.", -"type": "boolean" +"DiskRestoreProperties": { +"description": "DiskRestoreProperties represents the properties of a Disk restore.", +"id": "DiskRestoreProperties", +"properties": { +"accessMode": { +"description": "Optional. The access mode of the disk.", +"enum": [ +"READ_WRITE_SINGLE", +"READ_WRITE_MANY", +"READ_ONLY_MANY" +], +"enumDescriptions": [ +"The default AccessMode, means the disk can be attached to single instance in RW mode.", +"The AccessMode means the disk can be attached to multiple instances in RW mode.", +"The AccessMode means the disk can be attached to multiple instances in RO mode." +], +"type": "string" +}, +"architecture": { +"description": "Optional. The architecture of the source disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"X86_64", +"ARM64" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Disks with architecture X86_64", +"Disks with architecture ARM64" +], +"type": "string" }, "description": { "description": "Optional. An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, -"disks": { -"description": "Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them. Source regional persistent disks will be restored with default replica zones if not specified.", -"items": { -"$ref": "AttachedDisk" -}, -"type": "array" +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key." }, -"displayDevice": { -"$ref": "DisplayDevice", -"description": "Optional. Enables display device for the instance." +"enableConfidentialCompute": { +"description": "Optional. Indicates whether this disk is using confidential compute mode. Encryption with a Cloud KMS key is required to enable this option.", +"type": "boolean" }, -"guestAccelerators": { -"description": "Optional. A list of the type and count of accelerator cards attached to the instance.", +"guestOsFeature": { +"description": "Optional. A list of features to enable in the guest operating system. This is applicable only for bootable images.", "items": { -"$ref": "AcceleratorConfig" +"$ref": "GuestOsFeature" }, "type": "array" }, -"hostname": { -"description": "Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", -"type": "string" -}, -"instanceEncryptionKey": { -"$ref": "CustomerEncryptionKey", -"description": "Optional. Encrypts suspended data for an instance with a customer-managed encryption key." -}, -"keyRevocationActionType": { -"description": "Optional. KeyRevocationActionType of the instance.", -"enum": [ -"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", -"NONE", -"STOP" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"Indicates user chose no operation.", -"Indicates user chose to opt for VM shutdown on key revocation." -], -"type": "string" +"instanceBackupSource": { +"$ref": "RestoreDiskFromInstanceOptions", +"description": "Provides options for creating a disk from a source Compute Instance backup." }, "labels": { "additionalProperties": { "type": "string" }, -"description": "Optional. Labels to apply to this instance.", +"description": "Optional. Labels to apply to this disk. These can be modified later using setLabels method. Label values can be empty.", "type": "object" }, -"machineType": { -"description": "Optional. Full or partial URL of the machine type resource to use for this instance.", +"licenses": { +"description": "Optional. A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image", +"items": { "type": "string" }, -"metadata": { -"$ref": "Metadata", -"description": "Optional. This includes custom metadata and predefined keys." -}, -"minCpuPlatform": { -"description": "Optional. Minimum CPU platform to use for this instance.", -"type": "string" +"type": "array" }, "name": { -"description": "Required. Name of the compute instance.", +"description": "Required. Name of the disk.", "type": "string" }, -"networkInterfaces": { -"description": "Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. Required to restore in different project or region.", -"items": { -"$ref": "NetworkInterface" -}, -"type": "array" +"physicalBlockSizeBytes": { +"description": "Optional. Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently, the supported size is 4096.", +"format": "int64", +"type": "string" }, -"networkPerformanceConfig": { -"$ref": "NetworkPerformanceConfig", -"description": "Optional. Configure network performance such as egress bandwidth tier." +"provisionedIops": { +"description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.", +"format": "int64", +"type": "string" }, -"params": { -"$ref": "InstanceParams", -"description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." +"provisionedThroughput": { +"description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput MB per second that the disk can handle.", +"format": "int64", +"type": "string" }, -"privateIpv6GoogleAccess": { -"description": "Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", -"enum": [ -"INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", -"INHERIT_FROM_SUBNETWORK", -"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", -"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.", -"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", -"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before." -], +"resourceManagerTags": { +"additionalProperties": { "type": "string" }, -"reservationAffinity": { -"$ref": "AllocationAffinity", -"description": "Optional. Specifies the reservations that this instance can consume from." +"description": "Optional. Resource manager tags to be bound to the disk.", +"type": "object" }, -"resourcePolicies": { -"description": "Optional. Resource policies applied to this instance. By default, no resource policies will be applied.", +"resourcePolicy": { +"description": "Optional. Resource policies applied to this disk.", "items": { "type": "string" }, "type": "array" }, -"scheduling": { -"$ref": "Scheduling", -"description": "Optional. Sets the scheduling options for this instance." -}, -"serviceAccounts": { -"description": "Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported.", -"items": { -"$ref": "ServiceAccount" +"sizeGb": { +"description": "Required. The size of the disk in GB.", +"format": "int64", +"type": "string" }, -"type": "array" +"storagePool": { +"description": "Optional. The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource.", +"type": "string" }, -"tags": { -"$ref": "Tags", -"description": "Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation." +"type": { +"description": "Required. URL of the disk type resource describing which disk type to use to create the disk.", +"type": "string" } }, "type": "object" }, -"ComputeInstanceTargetEnvironment": { -"description": "ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore.", -"id": "ComputeInstanceTargetEnvironment", +"DiskTargetEnvironment": { +"description": "DiskTargetEnvironment represents the target environment for the disk.", +"id": "DiskTargetEnvironment", "properties": { "project": { -"description": "Required. Target project for the Compute Engine instance.", +"description": "Required. Target project for the disk.", "type": "string" }, "useProjectServiceAccount": { -"description": "Optional. Whether to use the project service account for the Compute Engine instance restore.", +"description": "Optional. Whether to use the project service account for the disk restore.", "type": "boolean" }, "zone": { -"description": "Required. The zone of the Compute Engine instance.", +"description": "Required. Target zone for the disk.", "type": "string" } }, "type": "object" }, -"ConfidentialInstanceConfig": { -"description": "A set of Confidential Instance options.", -"id": "ConfidentialInstanceConfig", +"DisplayDevice": { +"description": "A set of Display Device options", +"id": "DisplayDevice", "properties": { -"enableConfidentialCompute": { -"description": "Optional. Defines whether the instance should have confidential compute enabled.", +"enableDisplay": { +"description": "Optional. Enables display for the Compute Engine VM", "type": "boolean" } }, "type": "object" }, -"Criteria": { -"description": "Criteria specifies a set of criteria for matching resources.", -"id": "Criteria", +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EncryptionConfig": { +"description": "Message describing the EncryptionConfig of backup vault. This determines how data within the vault is encrypted at rest.", +"id": "EncryptionConfig", "properties": { -"matchingConditions": { -"description": "Required. A list of matching conditions that a resource must meet to be protected by the policy.", -"items": { -"$ref": "MatchingCondition" +"kmsKeyName": { +"description": "Optional. The Cloud KMS key name to encrypt backups in this backup vault. Must be in the same region as the vault. Some workload backups like compute disk backups may use their inherited source key instead. Format: projects/{project}/locations/{location}/keyRings/{ring}/cryptoKeys/{key}", +"type": "string" +} }, -"type": "array" +"type": "object" +}, +"EndTrialRequest": { +"description": "Request message for ending a trial.", +"id": "EndTrialRequest", +"properties": { +"endReason": { +"description": "Required. The reason for ending the trial.", +"enum": [ +"END_REASON_UNSPECIFIED", +"MOVE_TO_PAID", +"DISCONTINUED" +], +"enumDescriptions": [ +"End reason not set.", +"Trial is deliberately ended by the user to transition to paid usage.", +"Trial is discontinued before expiration." +], +"type": "string" } }, "type": "object" }, -"CustomerEncryptionKey": { -"description": "A customer-supplied encryption key.", -"id": "CustomerEncryptionKey", +"Entry": { +"description": "A key/value pair to be used for storing metadata.", +"id": "Entry", "properties": { -"kmsKeyName": { -"description": "Optional. The name of the encryption key that is stored in Google Cloud KMS.", -"type": "string" -}, -"kmsKeyServiceAccount": { -"description": "Optional. The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.", -"type": "string" -}, -"rawKey": { -"description": "Optional. Specifies a 256-bit customer-supplied encryption key.", +"key": { +"description": "Optional. Key for the metadata entry.", "type": "string" }, -"rsaEncryptedKey": { -"description": "Optional. RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource.", +"value": { +"description": "Optional. Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", "type": "string" } }, "type": "object" }, -"DataSource": { -"description": "Message describing a DataSource object. Datasource object used to represent Datasource details for both admin and basic view.", -"id": "DataSource", +"ExecutionSummary": { +"description": "Summary of the last execution.", +"id": "ExecutionSummary", "properties": { -"backupBlockedByVaultAccessRestriction": { -"description": "Output only. This field is set to true if the backup is blocked by vault access restriction.", +"lastExecution": { +"description": "Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`", "readOnly": true, -"type": "boolean" -}, -"backupConfigInfo": { -"$ref": "BackupConfigInfo", -"description": "Output only. Details of how the resource is configured for backup.", -"readOnly": true -}, -"backupCount": { -"description": "Number of backups in the data source.", -"format": "int64", "type": "string" }, -"configState": { -"description": "Output only. The backup configuration state.", +"lastExecutionState": { +"description": "Output only. The state of the last execution.", "enum": [ -"BACKUP_CONFIG_STATE_UNSPECIFIED", -"ACTIVE", -"PASSIVE", -"PAUSED" +"EXECUTION_STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"DELETING" ], "enumDescriptions": [ -"The possible states of backup configuration. Status not set.", -"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", -"The data source is no longer protected (but may have backups under it)", -"The data source has been created but backups are paused" +"State not set.", +"Execution is running.", +"Execution succeeded.", +"Execution failed.", +"Resources are being deleted (cleanup)." ], "readOnly": true, "type": "string" +} }, -"createTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"type": "object" }, -"dataSourceBackupApplianceApplication": { -"$ref": "DataSourceBackupApplianceApplication", -"description": "The backed up resource is a backup appliance application." +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" }, -"dataSourceGcpResource": { -"$ref": "DataSourceGcpResource", -"description": "The backed up resource is a Google Cloud resource. The word 'DataSource' was included in the names to indicate that this is the representation of the Google Cloud resource used within the DataSource object." +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" }, -"etag": { -"description": "Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", +"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" }, -"labels": { -"additionalProperties": { +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", "type": "string" +} }, -"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", "type": "object" }, -"name": { -"description": "Output only. Identifier. Name of the datasource to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}\"`. `{datasource}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault.", -"readOnly": true, +"FetchAccessTokenRequest": { +"description": "Request message for FetchAccessToken.", +"id": "FetchAccessTokenRequest", +"properties": { +"generationId": { +"description": "Required. The generation of the backup to update.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"FetchAccessTokenResponse": { +"description": "Response message for FetchAccessToken.", +"id": "FetchAccessTokenResponse", +"properties": { +"expireTime": { +"description": "The token is valid until this time.", +"format": "google-datetime", "type": "string" }, -"state": { -"description": "Output only. The DataSource resource instance state.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"ERROR" -], -"enumDescriptions": [ -"State not set.", -"The data source is being created.", -"The data source has been created and is fully usable.", -"The data source is being deleted.", -"The data source is experiencing an issue and might be unusable." -], -"readOnly": true, +"readLocation": { +"description": "The location in bucket that can be used for reading.", "type": "string" }, -"totalStoredBytes": { -"description": "The number of bytes (metadata and data) stored in this datasource.", -"format": "int64", +"token": { +"description": "Input only. The downscoped token that was created.", "type": "string" }, -"updateTime": { -"description": "Output only. The time when the instance was updated.", -"format": "google-datetime", -"readOnly": true, +"writeLocation": { +"description": "The location in bucket that can be used for writing.", "type": "string" } }, "type": "object" }, -"DataSourceBackupApplianceApplication": { -"description": "BackupApplianceApplication describes a Source Resource when it is an application backed up by a BackupAppliance.", -"id": "DataSourceBackupApplianceApplication", +"FetchBackupPlanAssociationsForResourceTypeResponse": { +"description": "Response for the FetchBackupPlanAssociationsForResourceType method.", +"id": "FetchBackupPlanAssociationsForResourceTypeResponse", "properties": { -"applianceId": { -"description": "Appliance Id of the Backup Appliance.", -"format": "int64", -"type": "string" +"backupPlanAssociations": { +"description": "Output only. The BackupPlanAssociations from the specified parent.", +"items": { +"$ref": "BackupPlanAssociation" }, -"applicationId": { -"description": "The appid field of the application within the Backup Appliance.", -"format": "int64", -"type": "string" +"readOnly": true, +"type": "array" }, -"applicationName": { -"description": "The name of the Application as known to the Backup Appliance.", +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"readOnly": true, "type": "string" +} }, -"backupAppliance": { -"description": "Appliance name.", -"type": "string" +"type": "object" }, -"hostId": { -"description": "Hostid of the application host.", -"format": "int64", -"type": "string" +"FetchBackupsForResourceTypeResponse": { +"description": "Response for the FetchBackupsForResourceType method.", +"id": "FetchBackupsForResourceTypeResponse", +"properties": { +"backups": { +"description": "The Backups from the specified parent.", +"items": { +"$ref": "Backup" }, -"hostname": { -"description": "Hostname of the host where the application is running.", +"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": { -"description": "The type of the application. e.g. VMBackup", +"type": "object" +}, +"FetchDataSourceReferencesForResourceTypeResponse": { +"description": "Response for the FetchDataSourceReferencesForResourceType method.", +"id": "FetchDataSourceReferencesForResourceTypeResponse", +"properties": { +"dataSourceReferences": { +"description": "The DataSourceReferences from the specified parent.", +"items": { +"$ref": "DataSourceReference" +}, +"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" }, -"DataSourceBackupConfigInfo": { -"description": "Information of backup configuration on the DataSource.", -"id": "DataSourceBackupConfigInfo", +"FetchMsComplianceMetadataRequest": { +"description": "Request message for GetMsComplianceMetadata", +"id": "FetchMsComplianceMetadataRequest", "properties": { -"lastBackupState": { -"description": "Output only. The status of the last backup in this DataSource", -"enum": [ -"LAST_BACKUP_STATE_UNSPECIFIED", -"FIRST_BACKUP_PENDING", -"SUCCEEDED", -"FAILED", -"PERMISSION_DENIED" -], -"enumDescriptions": [ -"Status not set.", -"The first backup has not yet completed", -"The most recent backup was successful", -"The most recent backup failed", -"The most recent backup could not be run/failed because of the lack of permissions" -], -"readOnly": true, +"projectId": { +"description": "Required. The project id of the target project", "type": "string" +} }, -"lastSuccessfulBackupConsistencyTime": { -"description": "Output only. Timestamp of the last successful backup to this DataSource.", -"format": "google-datetime", -"readOnly": true, +"type": "object" +}, +"FetchMsComplianceMetadataResponse": { +"description": "Response message for GetMsComplianceMetadata", +"id": "FetchMsComplianceMetadataResponse", +"properties": { +"isAssuredWorkload": { +"description": "The ms compliance metadata of the target project, if the project is an Assured Workloads project, values will be true, otherwise false.", +"type": "boolean" +} +}, +"type": "object" +}, +"FetchResourceBackupConfigsResponse": { +"description": "Response for FetchResourceBackupConfigs.", +"id": "FetchResourceBackupConfigsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" +}, +"resourceBackupConfigs": { +"description": "The list of ResourceBackupConfigs for the specified scope.", +"items": { +"$ref": "ResourceBackupConfig" +}, +"type": "array" } }, "type": "object" }, -"DataSourceGcpResource": { -"description": "DataSourceGcpResource is used for protected resources that are Google Cloud Resources. This name is easeier to understand than GcpResourceDataSource or GcpDataSourceResource", -"id": "DataSourceGcpResource", +"FetchUsableBackupVaultsResponse": { +"description": "Response message for fetching usable BackupVaults.", +"id": "FetchUsableBackupVaultsResponse", "properties": { -"alloyDbClusterDatasourceProperties": { -"$ref": "AlloyDBClusterDataSourceProperties", -"description": "Output only. AlloyDBClusterDataSourceProperties has a subset of AlloyDB cluster properties that are useful at the Datasource level. Currently none of its child properties are auditable. If new auditable properties are added, the AUDIT annotation should be added.", -"readOnly": true -}, -"cloudSqlInstanceDatasourceProperties": { -"$ref": "CloudSqlInstanceDataSourceProperties", -"description": "Output only. CloudSqlInstanceDataSourceProperties has a subset of Cloud SQL Instance properties that are useful at the Datasource level.", -"readOnly": true -}, -"computeInstanceDatasourceProperties": { -"$ref": "ComputeInstanceDataSourceProperties", -"description": "ComputeInstanceDataSourceProperties has a subset of Compute Instance properties that are useful at the Datasource level." -}, -"diskDatasourceProperties": { -"$ref": "DiskDataSourceProperties", -"description": "DiskDataSourceProperties has a subset of Disk properties that are useful at the Datasource level." +"backupVaults": { +"description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "BackupVault" }, -"filestoreInstanceDatasourceProperties": { -"$ref": "FilestoreInstanceDataSourceProperties", -"description": "Output only. FilestoreInstanceDataSourceProperties has a subset of FileStore instance properties that are useful at the Datasource level.", -"readOnly": true +"type": "array" }, -"gcpResourcename": { -"description": "Output only. Full resource pathname URL of the source Google Cloud resource.", -"readOnly": true, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" }, -"location": { -"description": "Location of the resource: //\"global\"/\"unspecified\".", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" }, -"netappVolumeDatasourceProperties": { -"$ref": "NetAppVolumeDataSourceProperties", -"description": "Output only. NetAppVolumeDataSourceProperties has a subset of NetApp Volume properties that are useful at the Datasource level.", -"readOnly": true -}, -"type": { -"description": "The type of the Google Cloud resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", -"type": "string" +"type": "array" } }, "type": "object" }, -"DataSourceGcpResourceInfo": { -"description": "The Google Cloud resource that the DataSource is associated with.", -"id": "DataSourceGcpResourceInfo", +"FilestoreInstanceBackupPlanAssociationProperties": { +"description": "Filestore instance's BPA properties.", +"id": "FilestoreInstanceBackupPlanAssociationProperties", "properties": { -"alloyDbClusterProperties": { -"$ref": "AlloyDBClusterDataSourceReferenceProperties", -"description": "Output only. The properties of the AlloyDB cluster.", -"readOnly": true -}, -"cloudSqlInstanceProperties": { -"$ref": "CloudSqlInstanceDataSourceReferenceProperties", -"description": "Output only. The properties of the Cloud SQL instance.", -"readOnly": true +"instanceCreateTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} }, -"filestoreInstanceProperties": { -"$ref": "FilestoreInstanceDataSourceReferenceProperties", -"description": "Output only. The properties of the Filestore instance.", -"readOnly": true +"type": "object" }, -"gcpResourcename": { -"description": "Output only. The resource name of the Google Cloud resource. Ex: projects/{project}/zones/{zone}/instances/{instance}", +"FilestoreInstanceBackupProperties": { +"description": "FilestoreInstanceBackupProperties represents the properties of a Filestore instance that are backed up by the datasource. .", +"id": "FilestoreInstanceBackupProperties", +"properties": { +"sourceInstance": { +"description": "Output only. The source instance of the backup.", "readOnly": true, "type": "string" +} }, -"location": { -"description": "Output only. The location of the Google Cloud resource. Ex: //\"global\"/\"unspecified\"", +"type": "object" +}, +"FilestoreInstanceDataSourceProperties": { +"description": "FilestoreInstanceDataSourceProperties represents the properties of a Filestore resource that are stored in the DataSource. .", +"id": "FilestoreInstanceDataSourceProperties", +"properties": { +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"netappVolumeProperties": { -"$ref": "NetAppVolumeDataSourceReferenceProperties", -"description": "Output only. The NetApp Volume properties.", -"readOnly": true -}, -"type": { -"description": "Output only. The type of the Google Cloud resource. Ex: compute.googleapis.com/Instance", +"name": { +"description": "Output only. Name of the Filestore instance backed up by the datasource.", "readOnly": true, "type": "string" } }, "type": "object" }, -"DataSourceReference": { -"description": "DataSourceReference is a reference to a DataSource resource.", -"id": "DataSourceReference", +"FilestoreInstanceDataSourceReferenceProperties": { +"description": "FilestoreInstanceDataSourceReferenceProperties represents the properties of a Filestore resource that are stored in the DataSourceReference. .", +"id": "FilestoreInstanceDataSourceReferenceProperties", "properties": { -"createTime": { -"description": "Output only. The time when the DataSourceReference was created.", +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", "format": "google-datetime", "readOnly": true, "type": "string" }, -"dataSource": { -"description": "Output only. The resource name of the DataSource. Format: projects/{project}/locations/{location}/backupVaults/{backupVault}/dataSources/{dataSource}", +"name": { +"description": "Output only. Name of the Filestore instance backed up by the datasource. Format: projects/{project}/instances/{instance}", "readOnly": true, "type": "string" +} }, -"dataSourceBackupConfigInfo": { -"$ref": "DataSourceBackupConfigInfo", -"description": "Output only. Information of backup configuration on the DataSource.", -"readOnly": true +"type": "object" }, -"dataSourceBackupConfigState": { -"description": "Output only. The backup configuration state of the DataSource.", -"enum": [ -"BACKUP_CONFIG_STATE_UNSPECIFIED", -"ACTIVE", -"PASSIVE", -"PAUSED" -], -"enumDescriptions": [ -"The possible states of backup configuration. Status not set.", -"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", -"The data source is no longer protected (but may have backups under it)", -"The data source has been created but backups are paused" -], -"readOnly": true, +"FinalizeBackupRequest": { +"description": "Message for finalizing a Backup.", +"id": "FinalizeBackupRequest", +"properties": { +"backupId": { +"description": "Required. Resource ID of the Backup resource to be finalized. This must be the same backup_id that was used in the InitiateBackupRequest.", "type": "string" }, -"dataSourceBackupCount": { -"description": "Output only. Number of backups in the DataSource.", -"format": "int64", -"readOnly": true, +"consistencyTime": { +"description": "The point in time when this backup was captured from the source. This will be assigned to the consistency_time field of the newly created Backup.", +"format": "google-datetime", "type": "string" }, -"dataSourceGcpResourceInfo": { -"$ref": "DataSourceGcpResourceInfo", -"description": "Output only. The Google Cloud resource that the DataSource is associated with.", -"readOnly": true +"description": { +"description": "This will be assigned to the description field of the newly created Backup.", +"type": "string" }, -"name": { -"description": "Identifier. The resource name of the DataSourceReference. Format: projects/{project}/locations/{location}/dataSourceReferences/{data_source_reference}", +"recoveryRangeEndTime": { +"description": "The latest timestamp of data available in this Backup. This will be set on the newly created Backup.", +"format": "google-datetime", "type": "string" }, -"totalStoredBytes": { -"description": "Output only. Total size of the storage used by all backup resources for the referenced datasource.", -"format": "int64", -"readOnly": true, +"recoveryRangeStartTime": { +"description": "The earliest timestamp of data available in this Backup. This will set on the newly created Backup.", +"format": "google-datetime", "type": "string" -} }, -"type": "object" +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" }, -"DiskBackupPlanProperties": { -"description": "Properties for a disk backup plan.", -"id": "DiskBackupPlanProperties", -"properties": { -"guestFlush": { -"description": "Optional. Indicates whether to perform a guest flush operation before taking a disk backup. When set to false, the system will create crash-consistent backups. Default value is false.", -"type": "boolean" +"retentionDuration": { +"description": "The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime.", +"format": "google-duration", +"type": "string" } }, "type": "object" }, -"DiskBackupProperties": { -"description": "DiskBackupProperties represents the properties of a Disk backup.", -"id": "DiskBackupProperties", +"GCPBackupPlanInfo": { +"description": "GCPBackupPlanInfo captures the plan configuration details of Google Cloud resources at the time of backup.", +"id": "GCPBackupPlanInfo", "properties": { -"accessMode": { -"description": "The access mode of the source disk.", +"backupPlan": { +"description": "Resource name of backup plan by which workload is protected at the time of the backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", "type": "string" }, -"architecture": { -"description": "The architecture of the source disk. Valid values are ARM64 or X86_64.", -"enum": [ -"ARCHITECTURE_UNSPECIFIED", -"X86_64", -"ARM64" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"Disks with architecture X86_64", -"Disks with architecture ARM64" -], +"backupPlanRevisionId": { +"description": "The user friendly id of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup.", "type": "string" }, -"description": { -"description": "A description of the source disk.", +"backupPlanRevisionName": { +"description": "Resource name of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}/revisions/{revisionId}", "type": "string" }, -"enableConfidentialCompute": { -"description": "Indicates whether the source disk is using confidential compute mode.", -"type": "boolean" -}, -"guestFlush": { -"description": "Optional. Defines if the guest flush is enabled for the source disk. Default value is false.", -"type": "boolean" -}, -"guestOsFeature": { -"description": "A list of guest OS features that are applicable to this backup.", -"items": { -"$ref": "GuestOsFeature" -}, -"type": "array" -}, -"labels": { -"additionalProperties": { +"backupPlanRuleId": { +"description": "The rule id of the backup plan which triggered this backup in case of scheduled backup or used for", "type": "string" +} }, -"description": "The labels of the source disk.", "type": "object" }, -"licenses": { -"description": "A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image.", -"items": { +"GcpBackupConfig": { +"description": "GcpBackupConfig captures the Backup configuration details for Google Cloud resources. All Google Cloud resources regardless of type are protected with backup plan associations.", +"id": "GcpBackupConfig", +"properties": { +"autoProtectionPolicyBinding": { +"description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this datasource, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", +"readOnly": true, "type": "string" }, -"type": "array" +"backupPlan": { +"description": "The name of the backup plan.", +"type": "string" }, -"physicalBlockSizeBytes": { -"description": "The physical block size of the source disk.", -"format": "int64", +"backupPlanAssociation": { +"description": "The name of the backup plan association.", "type": "string" }, -"provisionedIops": { -"description": "The number of IOPS provisioned for the source disk.", -"format": "int64", +"backupPlanDescription": { +"description": "The description of the backup plan.", "type": "string" }, -"provisionedThroughput": { -"description": "The number of throughput provisioned for the source disk.", -"format": "int64", +"backupPlanRevisionId": { +"description": "The user friendly id of the backup plan revision. E.g. v0, v1 etc.", "type": "string" }, -"region": { -"description": "Region and zone are mutually exclusive fields. The URL of the region of the source disk.", +"backupPlanRevisionName": { +"description": "The name of the backup plan revision.", "type": "string" }, -"replicaZones": { -"description": "The URL of the Zones where the source disk should be replicated.", +"backupPlanRules": { +"description": "The names of the backup plan rules which point to this backupvault", "items": { "type": "string" }, "type": "array" +} }, -"sizeGb": { -"description": "Size(in GB) of the source disk.", -"format": "int64", -"type": "string" +"type": "object" }, -"sourceDisk": { -"description": "The source disk used to create this backup.", +"GcpResource": { +"description": "Minimum details to identify a Google Cloud resource", +"id": "GcpResource", +"properties": { +"gcpResourcename": { +"description": "Name of the Google Cloud resource.", "type": "string" }, -"storagePool": { -"description": "The storage pool of the source disk.", +"location": { +"description": "Location of the resource: //\"global\"/\"unspecified\".", "type": "string" }, "type": { -"description": "The URL of the type of the disk.", -"type": "string" -}, -"zone": { -"description": "The URL of the Zone where the source disk.", +"description": "Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", "type": "string" } }, "type": "object" }, -"DiskDataSourceProperties": { -"description": "DiskDataSourceProperties represents the properties of a Disk resource that are stored in the DataSource. .", -"id": "DiskDataSourceProperties", +"GoogleCloudBackupdrV1OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBackupdrV1OperationMetadata", "properties": { -"description": { -"description": "The description of the disk.", +"additionalInfo": { +"additionalProperties": { "type": "string" }, -"name": { -"description": "Name of the disk backed up by the datasource.", +"description": "Output only. AdditionalInfo contains additional Info related to backup plan association resource.", +"readOnly": true, +"type": "object" +}, +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, "type": "string" }, -"sizeGb": { -"description": "The size of the disk in GB.", -"format": "int64", +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"type": { -"description": "The type of the disk.", +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, "type": "string" -} }, -"type": "object" +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'.", +"readOnly": true, +"type": "boolean" }, -"DiskExclusionLabels": { -"description": "Message for selective disk backup exclusion labels.", -"id": "DiskExclusionLabels", -"properties": { -"labels": { -"description": "Optional. Labels used to identify disks for exclusion from the backup. If a disk carries any of these labels, it will be excluded (OR logic).", -"items": { -"$ref": "LabelKeyValPair" +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" }, -"type": "array" +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" } }, "type": "object" }, -"DiskRestoreProperties": { -"description": "DiskRestoreProperties represents the properties of a Disk restore.", -"id": "DiskRestoreProperties", +"GuestOsFeature": { +"description": "Feature type of the Guest OS.", +"id": "GuestOsFeature", "properties": { -"accessMode": { -"description": "Optional. The access mode of the disk.", +"type": { +"description": "The ID of a supported feature.", "enum": [ -"READ_WRITE_SINGLE", -"READ_WRITE_MANY", -"READ_ONLY_MANY" +"FEATURE_TYPE_UNSPECIFIED", +"VIRTIO_SCSI_MULTIQUEUE", +"WINDOWS", +"MULTI_IP_SUBNET", +"UEFI_COMPATIBLE", +"SECURE_BOOT", +"GVNIC", +"SEV_CAPABLE", +"BARE_METAL_LINUX_COMPATIBLE", +"SUSPEND_RESUME_COMPATIBLE", +"SEV_LIVE_MIGRATABLE", +"SEV_SNP_CAPABLE", +"TDX_CAPABLE", +"IDPF", +"SEV_LIVE_MIGRATABLE_V2" ], "enumDescriptions": [ -"The default AccessMode, means the disk can be attached to single instance in RW mode.", -"The AccessMode means the disk can be attached to multiple instances in RW mode.", -"The AccessMode means the disk can be attached to multiple instances in RO mode." +"Default value, which is unused.", +"VIRTIO_SCSI_MULTIQUEUE feature type.", +"WINDOWS feature type.", +"MULTI_IP_SUBNET feature type.", +"UEFI_COMPATIBLE feature type.", +"SECURE_BOOT feature type.", +"GVNIC feature type.", +"SEV_CAPABLE feature type.", +"BARE_METAL_LINUX_COMPATIBLE feature type.", +"SUSPEND_RESUME_COMPATIBLE feature type.", +"SEV_LIVE_MIGRATABLE feature type.", +"SEV_SNP_CAPABLE feature type.", +"TDX_CAPABLE feature type.", +"IDPF feature type.", +"SEV_LIVE_MIGRATABLE_V2 feature type." ], "type": "string" +} }, -"architecture": { -"description": "Optional. The architecture of the source disk. Valid values are ARM64 or X86_64.", -"enum": [ -"ARCHITECTURE_UNSPECIFIED", -"X86_64", -"ARM64" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"Disks with architecture X86_64", -"Disks with architecture ARM64" -], -"type": "string" +"type": "object" }, -"description": { -"description": "Optional. An optional description of this resource. Provide this property when you create the resource.", +"InitializeParams": { +"description": "Specifies the parameters to initialize this disk.", +"id": "InitializeParams", +"properties": { +"diskName": { +"description": "Optional. Specifies the disk name. If not specified, the default is to use the name of the instance.", "type": "string" }, -"diskEncryptionKey": { -"$ref": "CustomerEncryptionKey", -"description": "Optional. Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key." -}, -"enableConfidentialCompute": { -"description": "Optional. Indicates whether this disk is using confidential compute mode. Encryption with a Cloud KMS key is required to enable this option.", -"type": "boolean" -}, -"guestOsFeature": { -"description": "Optional. A list of features to enable in the guest operating system. This is applicable only for bootable images.", +"replicaZones": { +"description": "Optional. URL of the zone where the disk should be created. Required for each regional disk associated with the instance.", "items": { -"$ref": "GuestOsFeature" +"type": "string" }, "type": "array" +} }, -"instanceBackupSource": { -"$ref": "RestoreDiskFromInstanceOptions", -"description": "Provides options for creating a disk from a source Compute Instance backup." -}, -"labels": { -"additionalProperties": { -"type": "string" -}, -"description": "Optional. Labels to apply to this disk. These can be modified later using setLabels method. Label values can be empty.", "type": "object" }, -"licenses": { -"description": "Optional. A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image", -"items": { -"type": "string" -}, -"type": "array" -}, -"name": { -"description": "Required. Name of the disk.", +"InitializeServiceRequest": { +"description": "Request message for initializing the service.", +"id": "InitializeServiceRequest", +"properties": { +"backupPlanLocation": { +"description": "Optional. The location where the BackupPlan will be created. This field is required for multi-region BackupVaults and is optional for regional BackupVaults. It is useful when creating a Backup Vault in a multi-region, allowing the BackupPlan to reside in a specific region within that multi-region. If this field is not provided, the BackupPlan will be created in the same location as specified in the `name` field.", "type": "string" }, -"physicalBlockSizeBytes": { -"description": "Optional. Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently, the supported size is 4096.", -"format": "int64", -"type": "string" +"cloudSqlInstanceInitializationConfig": { +"$ref": "CloudSqlInstanceInitializationConfig", +"description": "Optional. The configuration for initializing a Cloud SQL instance." }, -"provisionedIops": { -"description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.", -"format": "int64", +"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).", "type": "string" }, -"provisionedThroughput": { -"description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput MB per second that the disk can handle.", -"format": "int64", +"resourceType": { +"description": "Required. The resource type to which the default service config will be applied. Examples include, \"compute.googleapis.com/Instance\" and \"storage.googleapis.com/Bucket\".", "type": "string" }, -"resourceManagerTags": { -"additionalProperties": { -"type": "string" +"validateOnly": { +"description": "Optional. If set, validates the request and returns the result, but does not actually run it.", +"type": "boolean" +} }, -"description": "Optional. Resource manager tags to be bound to the disk.", "type": "object" }, -"resourcePolicy": { -"description": "Optional. Resource policies applied to this disk.", -"items": { -"type": "string" -}, -"type": "array" -}, -"sizeGb": { -"description": "Required. The size of the disk in GB.", -"format": "int64", -"type": "string" -}, -"storagePool": { -"description": "Optional. The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource.", +"InitiateBackupRequest": { +"description": "request message for InitiateBackup.", +"id": "InitiateBackupRequest", +"properties": { +"backupId": { +"description": "Required. Resource ID of the Backup resource.", "type": "string" }, -"type": { -"description": "Required. URL of the disk type resource describing which disk type to use to create the disk.", +"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).", "type": "string" } }, "type": "object" }, -"DiskTargetEnvironment": { -"description": "DiskTargetEnvironment represents the target environment for the disk.", -"id": "DiskTargetEnvironment", +"InitiateBackupResponse": { +"description": "Response message for InitiateBackup.", +"id": "InitiateBackupResponse", "properties": { -"project": { -"description": "Required. Target project for the disk.", +"backup": { +"description": "The name of the backup that was created.", "type": "string" }, -"useProjectServiceAccount": { -"description": "Optional. Whether to use the project service account for the disk restore.", -"type": "boolean" +"baseBackupGenerationId": { +"description": "The generation id of the base backup. It is needed for the incremental backups.", +"format": "int32", +"type": "integer" }, -"zone": { -"description": "Required. Target zone for the disk.", -"type": "string" +"newBackupGenerationId": { +"description": "The generation id of the new backup.", +"format": "int32", +"type": "integer" } }, "type": "object" }, -"DisplayDevice": { -"description": "A set of Display Device options", -"id": "DisplayDevice", +"InitiateDeleteAutoProtectionPolicyBindingRequest": { +"description": "Request message for initiating delete of an AutoProtectionPolicyBinding.", +"id": "InitiateDeleteAutoProtectionPolicyBindingRequest", "properties": { -"enableDisplay": { -"description": "Optional. Enables display for the Compute Engine VM", -"type": "boolean" -} +"etag": { +"description": "Optional. The current etag of the AutoProtectionPolicyBinding. If an etag is provided and does not match the current etag of the binding, deletion will be blocked and an ABORTED error will be returned.", +"type": "string" }, -"type": "object" +"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. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} }, -"Empty": { -"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", -"id": "Empty", -"properties": {}, "type": "object" }, -"EncryptionConfig": { -"description": "Message describing the EncryptionConfig of backup vault. This determines how data within the vault is encrypted at rest.", -"id": "EncryptionConfig", +"InstanceParams": { +"description": "Additional instance params.", +"id": "InstanceParams", "properties": { -"kmsKeyName": { -"description": "Optional. The Cloud KMS key name to encrypt backups in this backup vault. Must be in the same region as the vault. Some workload backups like compute disk backups may use their inherited source key instead. Format: projects/{project}/locations/{location}/keyRings/{ring}/cryptoKeys/{key}", +"resourceManagerTags": { +"additionalProperties": { "type": "string" +}, +"description": "Optional. Resource manager tags to be bound to the instance.", +"type": "object" } }, "type": "object" }, -"EndTrialRequest": { -"description": "Request message for ending a trial.", -"id": "EndTrialRequest", +"KeyValuePair": { +"description": "KeyValuePair defines a key-value pair for matching resource labels.", +"id": "KeyValuePair", "properties": { -"endReason": { -"description": "Required. The reason for ending the trial.", -"enum": [ -"END_REASON_UNSPECIFIED", -"MOVE_TO_PAID", -"DISCONTINUED" -], -"enumDescriptions": [ -"End reason not set.", -"Trial is deliberately ended by the user to transition to paid usage.", -"Trial is discontinued before expiration." -], +"key": { +"description": "Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\\p{Ll}\\p{Lo}{0,62}`.", +"type": "string" +}, +"values": { +"description": "Required. The values of the label to match. There will be explicit \u201cOR\u201d between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\\\p{Ll}\\\\p{Lo}\\\\p{N}_-]{1,63}`.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"Entry": { -"description": "A key/value pair to be used for storing metadata.", -"id": "Entry", +"LabelKeyValPair": { +"description": "Message for a label key-value pair.", +"id": "LabelKeyValPair", "properties": { "key": { -"description": "Optional. Key for the metadata entry.", +"description": "Key of the label. The key must follow the format: `\\\\p{Ll}\\\\p{Lo}{0,62}`. This means the key must start with a lowercase letter or a lowercase international character, followed by zero or more lowercase letters, lowercase international characters, numbers, underscores, or dashes. The key must be at most 63 characters long. International characters are allowed.", "type": "string" }, "value": { -"description": "Optional. Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", +"description": "Value of the label. The value must follow the format: `[\\\\p{Ll}\\\\p{Lo}\\\\p{N}_-]{1,63}`. This means the value must be one or more lowercase letters, lowercase international characters, numbers, underscores, or dashes. The value must be at most 63 characters long. International characters are allowed.", "type": "string" } }, "type": "object" }, -"Expr": { -"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", -"id": "Expr", +"ListAppliedAutoProtectionPoliciesResponse": { +"description": "Response message for ListAppliedAutoProtectionPolicies.", +"id": "ListAppliedAutoProtectionPoliciesResponse", "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" +"appliedAutoProtectionPolicies": { +"description": "A list of the AppliedAutoProtectionPolicy resources found.", +"items": { +"$ref": "AppliedAutoProtectionPolicy" }, -"expression": { -"description": "Textual representation of an expression in Common Expression Language syntax.", -"type": "string" +"type": "array" }, -"location": { -"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page.", "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.", +"unreachable": { +"description": "Unordered list. Locations that could not be reached. For example, \"projects/my-project/locations/us-east1\"].", +"items": { "type": "string" -} -}, -"type": "object" }, -"FetchAccessTokenRequest": { -"description": "Request message for FetchAccessToken.", -"id": "FetchAccessTokenRequest", -"properties": { -"generationId": { -"description": "Required. The generation of the backup to update.", -"format": "int32", -"type": "integer" +"type": "array" } }, "type": "object" }, -"FetchAccessTokenResponse": { -"description": "Response message for FetchAccessToken.", -"id": "FetchAccessTokenResponse", +"ListAutoProtectionPoliciesResponse": { +"description": "Response message for ListAutoProtectionPolicies.", +"id": "ListAutoProtectionPoliciesResponse", "properties": { -"expireTime": { -"description": "The token is valid until this time.", -"format": "google-datetime", -"type": "string" +"autoProtectionPolicies": { +"description": "A list of the AutoProtectionPolicy resources found.", +"items": { +"$ref": "AutoProtectionPolicy" }, -"readLocation": { -"description": "The location in bucket that can be used for reading.", -"type": "string" +"type": "array" }, -"token": { -"description": "Input only. The downscoped token that was created.", +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, -"writeLocation": { -"description": "The location in bucket that can be used for writing.", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FetchBackupPlanAssociationsForResourceTypeResponse": { -"description": "Response for the FetchBackupPlanAssociationsForResourceType method.", -"id": "FetchBackupPlanAssociationsForResourceTypeResponse", +"ListAutoProtectionPolicyBindingsResponse": { +"description": "Response message for ListAutoProtectionPolicyBindings.", +"id": "ListAutoProtectionPolicyBindingsResponse", "properties": { -"backupPlanAssociations": { -"description": "Output only. The BackupPlanAssociations from the specified parent.", +"autoProtectionPolicyBindings": { +"description": "A list of the AutoProtectionPolicyBindings resources found.", "items": { -"$ref": "BackupPlanAssociation" +"$ref": "AutoProtectionPolicyBinding" }, -"readOnly": true, "type": "array" }, "nextPageToken": { -"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", -"readOnly": true, +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FetchBackupsForResourceTypeResponse": { -"description": "Response for the FetchBackupsForResourceType method.", -"id": "FetchBackupsForResourceTypeResponse", +"ListBackupPlanAssociationsResponse": { +"description": "Response message for List BackupPlanAssociation", +"id": "ListBackupPlanAssociationsResponse", "properties": { -"backups": { -"description": "The Backups from the specified parent.", +"backupPlanAssociations": { +"description": "The list of Backup Plan Associations in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup plan associations in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", "items": { -"$ref": "Backup" +"$ref": "BackupPlanAssociation" }, "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.", +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FetchDataSourceReferencesForResourceTypeResponse": { -"description": "Response for the FetchDataSourceReferencesForResourceType method.", -"id": "FetchDataSourceReferencesForResourceTypeResponse", +"ListBackupPlanRevisionsResponse": { +"description": "The response message for getting a list of `BackupPlanRevision`.", +"id": "ListBackupPlanRevisionsResponse", "properties": { -"dataSourceReferences": { -"description": "The DataSourceReferences from the specified parent.", +"backupPlanRevisions": { +"description": "The list of `BackupPlanRevisions` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", "items": { -"$ref": "DataSourceReference" +"$ref": "BackupPlanRevision" }, "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" -}, -"FetchMsComplianceMetadataRequest": { -"description": "Request message for GetMsComplianceMetadata", -"id": "FetchMsComplianceMetadataRequest", -"properties": { -"projectId": { -"description": "Required. The project id of the target project", +"description": "A token which may be sent as page_token in a subsequent `ListBackupPlanRevisions` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", "type": "string" -} -}, -"type": "object" }, -"FetchMsComplianceMetadataResponse": { -"description": "Response message for GetMsComplianceMetadata", -"id": "FetchMsComplianceMetadataResponse", -"properties": { -"isAssuredWorkload": { -"description": "The ms compliance metadata of the target project, if the project is an Assured Workloads project, values will be true, otherwise false.", -"type": "boolean" +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" } }, "type": "object" }, -"FetchResourceBackupConfigsResponse": { -"description": "Response for FetchResourceBackupConfigs.", -"id": "FetchResourceBackupConfigsResponse", +"ListBackupPlansResponse": { +"description": "The response message for getting a list of `BackupPlan`.", +"id": "ListBackupPlansResponse", "properties": { +"backupPlans": { +"description": "The list of `BackupPlans` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. BackupPlan", +"items": { +"$ref": "BackupPlan" +}, +"type": "array" +}, "nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"description": "A token which may be sent as page_token in a subsequent `ListBackupPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", "type": "string" }, -"resourceBackupConfigs": { -"description": "The list of ResourceBackupConfigs for the specified scope.", +"unreachable": { +"description": "Locations that could not be reached.", "items": { -"$ref": "ResourceBackupConfig" +"type": "string" }, "type": "array" } }, "type": "object" }, -"FetchUsableBackupVaultsResponse": { -"description": "Response message for fetching usable BackupVaults.", -"id": "FetchUsableBackupVaultsResponse", +"ListBackupVaultsResponse": { +"description": "Response message for listing BackupVaults.", +"id": "ListBackupVaultsResponse", "properties": { "backupVaults": { "description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", @@ -6335,160 +7713,91 @@ }, "type": "object" }, -"FilestoreInstanceBackupPlanAssociationProperties": { -"description": "Filestore instance's BPA properties.", -"id": "FilestoreInstanceBackupPlanAssociationProperties", -"properties": { -"instanceCreateTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"FilestoreInstanceBackupProperties": { -"description": "FilestoreInstanceBackupProperties represents the properties of a Filestore instance that are backed up by the datasource. .", -"id": "FilestoreInstanceBackupProperties", +"ListBackupsResponse": { +"description": "Response message for listing Backups.", +"id": "ListBackupsResponse", "properties": { -"sourceInstance": { -"description": "Output only. The source instance of the backup.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" +"backups": { +"description": "The list of Backup instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "Backup" }, -"FilestoreInstanceDataSourceProperties": { -"description": "FilestoreInstanceDataSourceProperties represents the properties of a Filestore resource that are stored in the DataSource. .", -"id": "FilestoreInstanceDataSourceProperties", -"properties": { -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"type": "array" }, -"name": { -"description": "Output only. Name of the Filestore instance backed up by the datasource.", -"readOnly": true, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" -} -}, -"type": "object" }, -"FilestoreInstanceDataSourceReferenceProperties": { -"description": "FilestoreInstanceDataSourceReferenceProperties represents the properties of a Filestore resource that are stored in the DataSourceReference. .", -"id": "FilestoreInstanceDataSourceReferenceProperties", -"properties": { -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", -"readOnly": true, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" }, -"name": { -"description": "Output only. Name of the Filestore instance backed up by the datasource. Format: projects/{project}/instances/{instance}", -"readOnly": true, -"type": "string" +"type": "array" } }, "type": "object" }, -"FinalizeBackupRequest": { -"description": "Message for finalizing a Backup.", -"id": "FinalizeBackupRequest", +"ListBindingMatchingResourcesResponse": { +"description": "The response message for getting a list of `BindingMatchingResources`.", +"id": "ListBindingMatchingResourcesResponse", "properties": { -"backupId": { -"description": "Required. Resource ID of the Backup resource to be finalized. This must be the same backup_id that was used in the InitiateBackupRequest.", -"type": "string" -}, -"consistencyTime": { -"description": "The point in time when this backup was captured from the source. This will be assigned to the consistency_time field of the newly created Backup.", -"format": "google-datetime", -"type": "string" -}, -"description": { -"description": "This will be assigned to the description field of the newly created Backup.", -"type": "string" -}, -"recoveryRangeEndTime": { -"description": "The latest timestamp of data available in this Backup. This will be set on the newly created Backup.", -"format": "google-datetime", -"type": "string" -}, -"recoveryRangeStartTime": { -"description": "The earliest timestamp of data available in this Backup. This will set on the newly created Backup.", -"format": "google-datetime", -"type": "string" +"matchingResources": { +"description": "The list of `BindingMatchingResources` in the project,location for the specified binding.", +"items": { +"$ref": "BindingMatchingResource" }, -"requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", -"type": "string" +"type": "array" }, -"retentionDuration": { -"description": "The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime.", -"format": "google-duration", +"nextPageToken": { +"description": "A token which may be sent as page_token in a subsequent `ListBindingMatchingResources` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", "type": "string" } }, "type": "object" }, -"GCPBackupPlanInfo": { -"description": "GCPBackupPlanInfo captures the plan configuration details of Google Cloud resources at the time of backup.", -"id": "GCPBackupPlanInfo", +"ListDataSourceReferencesResponse": { +"description": "Response for the ListDataSourceReferences method.", +"id": "ListDataSourceReferencesResponse", "properties": { -"backupPlan": { -"description": "Resource name of backup plan by which workload is protected at the time of the backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", -"type": "string" +"dataSourceReferences": { +"description": "The DataSourceReferences from the specified parent.", +"items": { +"$ref": "DataSourceReference" }, -"backupPlanRevisionId": { -"description": "The user friendly id of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup.", -"type": "string" +"type": "array" }, -"backupPlanRevisionName": { -"description": "Resource name of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}/revisions/{revisionId}", +"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" }, -"backupPlanRuleId": { -"description": "The rule id of the backup plan which triggered this backup in case of scheduled backup or used for", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"GcpBackupConfig": { -"description": "GcpBackupConfig captures the Backup configuration details for Google Cloud resources. All Google Cloud resources regardless of type are protected with backup plan associations.", -"id": "GcpBackupConfig", +"ListDataSourcesResponse": { +"description": "Response message for listing DataSources.", +"id": "ListDataSourcesResponse", "properties": { -"autoProtectionPolicyBinding": { -"description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this datasource, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", -"readOnly": true, -"type": "string" -}, -"backupPlan": { -"description": "The name of the backup plan.", -"type": "string" -}, -"backupPlanAssociation": { -"description": "The name of the backup plan association.", -"type": "string" -}, -"backupPlanDescription": { -"description": "The description of the backup plan.", -"type": "string" +"dataSources": { +"description": "The list of DataSource instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "DataSource" }, -"backupPlanRevisionId": { -"description": "The user friendly id of the backup plan revision. E.g. v0, v1 etc.", -"type": "string" +"type": "array" }, -"backupPlanRevisionName": { -"description": "The name of the backup plan revision.", +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" }, -"backupPlanRules": { -"description": "The names of the backup plan rules which point to this backupvault", +"unreachable": { +"description": "Locations that could not be reached.", "items": { "type": "string" }, @@ -6497,867 +7806,848 @@ }, "type": "object" }, -"GcpResource": { -"description": "Minimum details to identify a Google Cloud resource", -"id": "GcpResource", +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", "properties": { -"gcpResourcename": { -"description": "Name of the Google Cloud resource.", -"type": "string" +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" }, -"location": { -"description": "Location of the resource: //\"global\"/\"unspecified\".", -"type": "string" +"type": "array" }, -"type": { -"description": "Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", +"nextPageToken": { +"description": "The standard List next-page token.", "type": "string" } }, "type": "object" }, -"GoogleCloudBackupdrV1OperationMetadata": { -"description": "Represents the metadata of the long-running operation.", -"id": "GoogleCloudBackupdrV1OperationMetadata", +"ListManagementServersResponse": { +"description": "Response message for listing management servers.", +"id": "ListManagementServersResponse", "properties": { -"additionalInfo": { -"additionalProperties": { -"type": "string" -}, -"description": "Output only. AdditionalInfo contains additional Info related to backup plan association resource.", -"readOnly": true, -"type": "object" -}, -"apiVersion": { -"description": "Output only. API version used to start the operation.", -"readOnly": true, -"type": "string" -}, -"createTime": { -"description": "Output only. The time the operation was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"endTime": { -"description": "Output only. The time the operation finished running.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"managementServers": { +"description": "The list of ManagementServer instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return management servers in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "ManagementServer" }, -"requestedCancellation": { -"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'.", -"readOnly": true, -"type": "boolean" +"type": "array" }, -"statusMessage": { -"description": "Output only. Human-readable status of the operation, if any.", -"readOnly": true, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" }, -"target": { -"description": "Output only. Server-defined resource path for the target of the operation.", -"readOnly": true, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" }, -"verb": { -"description": "Output only. Name of the verb executed by the operation.", -"readOnly": true, -"type": "string" +"type": "array" } }, "type": "object" }, -"GuestOsFeature": { -"description": "Feature type of the Guest OS.", -"id": "GuestOsFeature", +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", "properties": { -"type": { -"description": "The ID of a supported feature.", -"enum": [ -"FEATURE_TYPE_UNSPECIFIED", -"VIRTIO_SCSI_MULTIQUEUE", -"WINDOWS", -"MULTI_IP_SUBNET", -"UEFI_COMPATIBLE", -"SECURE_BOOT", -"GVNIC", -"SEV_CAPABLE", -"BARE_METAL_LINUX_COMPATIBLE", -"SUSPEND_RESUME_COMPATIBLE", -"SEV_LIVE_MIGRATABLE", -"SEV_SNP_CAPABLE", -"TDX_CAPABLE", -"IDPF", -"SEV_LIVE_MIGRATABLE_V2" -], -"enumDescriptions": [ -"Default value, which is unused.", -"VIRTIO_SCSI_MULTIQUEUE feature type.", -"WINDOWS feature type.", -"MULTI_IP_SUBNET feature type.", -"UEFI_COMPATIBLE feature type.", -"SECURE_BOOT feature type.", -"GVNIC feature type.", -"SEV_CAPABLE feature type.", -"BARE_METAL_LINUX_COMPATIBLE feature type.", -"SUSPEND_RESUME_COMPATIBLE feature type.", -"SEV_LIVE_MIGRATABLE feature type.", -"SEV_SNP_CAPABLE feature type.", -"TDX_CAPABLE feature type.", -"IDPF feature type.", -"SEV_LIVE_MIGRATABLE_V2 feature type." -], +"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" }, -"InitializeParams": { -"description": "Specifies the parameters to initialize this disk.", -"id": "InitializeParams", +"ListResourceBackupConfigsResponse": { +"description": "Response for ListResourceBackupConfigs.", +"id": "ListResourceBackupConfigsResponse", "properties": { -"diskName": { -"description": "Optional. Specifies the disk name. If not specified, the default is to use the name of the instance.", +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" }, -"replicaZones": { -"description": "Optional. URL of the zone where the disk should be created. Required for each regional disk associated with the instance.", +"resourceBackupConfigs": { +"description": "The list of ResourceBackupConfigs for the specified scope.", "items": { -"type": "string" +"$ref": "ResourceBackupConfig" }, "type": "array" } }, "type": "object" }, -"InitializeServiceRequest": { -"description": "Request message for initializing the service.", -"id": "InitializeServiceRequest", +"ListRestoreTemplateExecutionsResponse": { +"description": "Response message for listing RestoreTemplateExecutions.", +"id": "ListRestoreTemplateExecutionsResponse", "properties": { -"backupPlanLocation": { -"description": "Optional. The location where the BackupPlan will be created. This field is required for multi-region BackupVaults and is optional for regional BackupVaults. It is useful when creating a Backup Vault in a multi-region, allowing the BackupPlan to reside in a specific region within that multi-region. If this field is not provided, the BackupPlan will be created in the same location as specified in the `name` field.", +"nextPageToken": { +"description": "A token identifying a page of results.", "type": "string" }, -"cloudSqlInstanceInitializationConfig": { -"$ref": "CloudSqlInstanceInitializationConfig", -"description": "Optional. The configuration for initializing a Cloud SQL instance." +"restoreTemplateExecutions": { +"description": "The list of RestoreTemplateExecution instances.", +"items": { +"$ref": "RestoreTemplateExecution" }, -"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).", -"type": "string" +"type": "array" }, -"resourceType": { -"description": "Required. The resource type to which the default service config will be applied. Examples include, \"compute.googleapis.com/Instance\" and \"storage.googleapis.com/Bucket\".", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" }, -"validateOnly": { -"description": "Optional. If set, validates the request and returns the result, but does not actually run it.", -"type": "boolean" +"type": "array" } }, "type": "object" }, -"InitiateBackupRequest": { -"description": "request message for InitiateBackup.", -"id": "InitiateBackupRequest", +"ListRestoreTemplatesResponse": { +"description": "Response message for listing RestoreTemplates.", +"id": "ListRestoreTemplatesResponse", "properties": { -"backupId": { -"description": "Required. Resource ID of the Backup resource.", +"nextPageToken": { +"description": "A token which may be sent as `page_token` in a subsequent `ListRestoreTemplates` call.", "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).", +"restoreTemplates": { +"description": "The list of RestoreTemplates.", +"items": { +"$ref": "RestoreTemplate" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"InitiateBackupResponse": { -"description": "Response message for InitiateBackup.", -"id": "InitiateBackupResponse", +"ListRestoreVerificationPlanAssociationsResponse": { +"description": "Response message for ListRestoreVerificationPlanAssociations.", +"id": "ListRestoreVerificationPlanAssociationsResponse", "properties": { -"backup": { -"description": "The name of the backup that was created.", +"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" }, -"baseBackupGenerationId": { -"description": "The generation id of the base backup. It is needed for the incremental backups.", -"format": "int32", -"type": "integer" +"restoreVerificationPlanAssociations": { +"description": "The list of RestoreVerificationPlanAssociations.", +"items": { +"$ref": "RestoreVerificationPlanAssociation" }, -"newBackupGenerationId": { -"description": "The generation id of the new backup.", -"format": "int32", -"type": "integer" +"type": "array" +}, +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" } }, "type": "object" }, -"InitiateDeleteAutoProtectionPolicyBindingRequest": { -"description": "Request message for initiating delete of an AutoProtectionPolicyBinding.", -"id": "InitiateDeleteAutoProtectionPolicyBindingRequest", +"ListRestoreVerificationPlansResponse": { +"description": "The response message for getting a list of `RestoreVerificationPlans`.", +"id": "ListRestoreVerificationPlansResponse", "properties": { -"etag": { -"description": "Optional. The current etag of the AutoProtectionPolicyBinding. If an etag is provided and does not match the current etag of the binding, deletion will be blocked and an ABORTED error will be returned.", +"nextPageToken": { +"description": "A token which may be sent as page_token in a subsequent `ListRestoreVerificationPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", "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. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"restoreVerificationPlans": { +"description": "The list of `RestoreVerificationPlans` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return restore verification plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "RestoreVerificationPlan" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"InstanceParams": { -"description": "Additional instance params.", -"id": "InstanceParams", +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", "properties": { -"resourceManagerTags": { -"additionalProperties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", "type": "string" }, -"description": "Optional. Resource manager tags to be bound to the instance.", -"type": "object" -} +"labels": { +"additionalProperties": { +"type": "string" }, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", "type": "object" }, -"KeyValuePair": { -"description": "KeyValuePair defines a key-value pair for matching resource labels.", -"id": "KeyValuePair", -"properties": { -"key": { -"description": "Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\\p{Ll}\\p{Lo}{0,62}`.", +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", "type": "string" }, -"values": { -"description": "Required. The values of the label to match. There will be explicit \u201cOR\u201d between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\\\p{Ll}\\\\p{Lo}\\\\p{N}_-]{1,63}`.", -"items": { -"type": "string" +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" }, -"type": "array" +"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" }, -"LabelKeyValPair": { -"description": "Message for a label key-value pair.", -"id": "LabelKeyValPair", +"LocationMetadata": { +"id": "LocationMetadata", "properties": { -"key": { -"description": "Key of the label. The key must follow the format: `\\\\p{Ll}\\\\p{Lo}{0,62}`. This means the key must start with a lowercase letter or a lowercase international character, followed by zero or more lowercase letters, lowercase international characters, numbers, underscores, or dashes. The key must be at most 63 characters long. International characters are allowed.", +"unsupportedFeatures": { +"description": "List of features that are not supported in the location.", +"items": { +"enum": [ +"FEATURE_UNSPECIFIED", +"MANAGEMENT_SERVER", +"COMPUTE_INSTANCE", +"PROTECTION_SUMMARY", +"DISK", +"CLOUD_SQL", +"ALLOY_DB", +"FILESTORE", +"BV_AF", +"GOOGLE_CLOUD_NETAPP_VOLUME", +"CEP_MONITORING_COMPUTE_INSTANCE", +"CEP_MONITORING_DISK", +"BV_CUSTOM_PROBERS", +"FT_CUSTOM_PROBERS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"Remove once parity achieved between BV_AF and BV_CUSTOM_PROBERS.", +"" +], "type": "string" }, -"value": { -"description": "Value of the label. The value must follow the format: `[\\\\p{Ll}\\\\p{Lo}\\\\p{N}_-]{1,63}`. This means the value must be one or more lowercase letters, lowercase international characters, numbers, underscores, or dashes. The value must be at most 63 characters long. International characters are allowed.", -"type": "string" +"type": "array" } }, "type": "object" }, -"ListAppliedAutoProtectionPoliciesResponse": { -"description": "Response message for ListAppliedAutoProtectionPolicies.", -"id": "ListAppliedAutoProtectionPoliciesResponse", +"ManagementServer": { +"description": "ManagementServer describes a single BackupDR ManagementServer instance.", +"id": "ManagementServer", "properties": { -"appliedAutoProtectionPolicies": { -"description": "A list of the AppliedAutoProtectionPolicy resources found.", +"baProxyUri": { +"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by BAs to connect to BA proxy.", "items": { -"$ref": "AppliedAutoProtectionPolicy" +"type": "string" }, +"readOnly": true, "type": "array" }, -"nextPageToken": { -"description": "A token that can be sent as `page_token` to retrieve the next page.", +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Unordered list. Locations that could not be reached. For example, \"projects/my-project/locations/us-east1\"].", -"items": { +"description": { +"description": "Optional. The description of the ManagementServer instance (2048 characters or less).", "type": "string" }, -"type": "array" -} +"etag": { +"description": "Optional. Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", +"type": "string" }, -"type": "object" +"labels": { +"additionalProperties": { +"type": "string" }, -"ListAutoProtectionPoliciesResponse": { -"description": "Response message for ListAutoProtectionPolicies.", -"id": "ListAutoProtectionPoliciesResponse", -"properties": { -"autoProtectionPolicies": { -"description": "A list of the AutoProtectionPolicy resources found.", -"items": { -"$ref": "AutoProtectionPolicy" +"description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode.", +"type": "object" }, -"type": "array" +"managementUri": { +"$ref": "ManagementURI", +"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by clients to connect to AGM/RD graphical user interface and APIs.", +"readOnly": true }, -"nextPageToken": { -"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"name": { +"description": "Output only. Identifier. The resource name.", +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", +"networks": { +"description": "Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA", "items": { -"type": "string" +"$ref": "NetworkConfig" }, "type": "array" -} }, -"type": "object" +"oauth2ClientId": { +"description": "Output only. The OAuth 2.0 client id is required to make API calls to the Backup and DR instance API of this ManagementServer. This is the value that should be provided in the 'aud' field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken).", +"readOnly": true, +"type": "string" }, -"ListAutoProtectionPolicyBindingsResponse": { -"description": "Response message for ListAutoProtectionPolicyBindings.", -"id": "ListAutoProtectionPolicyBindingsResponse", -"properties": { -"autoProtectionPolicyBindings": { -"description": "A list of the AutoProtectionPolicyBindings resources found.", -"items": { -"$ref": "AutoProtectionPolicyBinding" +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" }, -"type": "array" +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" }, -"nextPageToken": { -"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"state": { +"description": "Output only. The ManagementServer state.", +"enum": [ +"INSTANCE_STATE_UNSPECIFIED", +"CREATING", +"READY", +"UPDATING", +"DELETING", +"REPAIRING", +"MAINTENANCE", +"ERROR" +], +"enumDescriptions": [ +"State not set.", +"The instance is being created.", +"The instance has been created and is fully usable.", +"The instance configuration is being updated. Certain kinds of updates may cause the instance to become unusable while the update is in progress.", +"The instance is being deleted.", +"The instance is being repaired and may be unstable.", +"Maintenance is being performed on this instance.", +"The instance is experiencing an issue and might be unusable. You can get further details from the statusMessage field of Instance resource." +], +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Unordered list. Locations that could not be reached.", -"items": { +"type": { +"description": "Optional. The type of the ManagementServer resource.", +"enum": [ +"INSTANCE_TYPE_UNSPECIFIED", +"BACKUP_RESTORE" +], +"enumDescriptions": [ +"Instance type is not mentioned.", +"Instance for backup and restore management (i.e., AGM)." +], "type": "string" }, -"type": "array" +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workforceIdentityBasedManagementUri": { +"$ref": "WorkforceIdentityBasedManagementURI", +"description": "Output only. The hostnames of the exposed AGM endpoints for both types of user i.e. 1p and 3p, used to connect AGM/RM UI.", +"readOnly": true +}, +"workforceIdentityBasedOauth2ClientId": { +"$ref": "WorkforceIdentityBasedOAuth2ClientID", +"description": "Output only. The OAuth client IDs for both types of user i.e. 1p and 3p.", +"readOnly": true } }, "type": "object" }, -"ListBackupPlanAssociationsResponse": { -"description": "Response message for List BackupPlanAssociation", -"id": "ListBackupPlanAssociationsResponse", +"ManagementURI": { +"description": "ManagementURI for the Management Server resource.", +"id": "ManagementURI", "properties": { -"backupPlanAssociations": { -"description": "The list of Backup Plan Associations in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup plan associations in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "BackupPlanAssociation" -}, -"type": "array" -}, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"api": { +"description": "Output only. The ManagementServer AGM/RD API URL.", +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"webUi": { +"description": "Output only. The ManagementServer AGM/RD WebUI URL.", +"readOnly": true, "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListBackupPlanRevisionsResponse": { -"description": "The response message for getting a list of `BackupPlanRevision`.", -"id": "ListBackupPlanRevisionsResponse", +"MatchingCondition": { +"description": "MatchingCondition specifies a set of conditions for matching resources.", +"id": "MatchingCondition", "properties": { -"backupPlanRevisions": { -"description": "The list of `BackupPlanRevisions` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "BackupPlanRevision" -}, -"type": "array" -}, -"nextPageToken": { -"description": "A token which may be sent as page_token in a subsequent `ListBackupPlanRevisions` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", -"type": "string" -}, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { -"type": "string" -}, -"type": "array" +"labelCondition": { +"$ref": "KeyValuePair", +"description": "Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match." } }, "type": "object" }, -"ListBackupPlansResponse": { -"description": "The response message for getting a list of `BackupPlan`.", -"id": "ListBackupPlansResponse", +"Metadata": { +"description": "A metadata key/value entry.", +"id": "Metadata", "properties": { -"backupPlans": { -"description": "The list of `BackupPlans` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. BackupPlan", "items": { -"$ref": "BackupPlan" -}, -"type": "array" -}, -"nextPageToken": { -"description": "A token which may be sent as page_token in a subsequent `ListBackupPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", -"type": "string" -}, -"unreachable": { -"description": "Locations that could not be reached.", +"description": "Optional. Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", "items": { -"type": "string" +"$ref": "Entry" }, "type": "array" } }, "type": "object" }, -"ListBackupVaultsResponse": { -"description": "Response message for listing BackupVaults.", -"id": "ListBackupVaultsResponse", +"NetAppVolumeBackupPlanAssociationProperties": { +"description": "NetAppVolumeBackupPlanAssociationProperties represents NetApp Volume backup plan association properties in BackupPlanAssociation. .", +"id": "NetAppVolumeBackupPlanAssociationProperties", "properties": { -"backupVaults": { -"description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "BackupVault" -}, -"type": "array" -}, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", -"type": "string" -}, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"sourceResourceCreateTime": { +"description": "Output only. The creation timestamp of the source resource.", +"format": "google-datetime", +"readOnly": true, "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListBackupsResponse": { -"description": "Response message for listing Backups.", -"id": "ListBackupsResponse", +"NetAppVolumeBackupProperties": { +"description": "NetAppVolumeBackupProperties represents NetApp Volume backup properties in Backup. .", +"id": "NetAppVolumeBackupProperties", "properties": { -"backups": { -"description": "The list of Backup instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "Backup" +"sourceResource": { +"description": "Output only. The source volume of the Backup.", +"readOnly": true, +"type": "string" +} }, -"type": "array" +"type": "object" }, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"NetAppVolumeDataSourceProperties": { +"description": "NetAppVolumeDataSourceProperties represents NetApp Volume properties stored in DataSource. .", +"id": "NetAppVolumeDataSourceProperties", +"properties": { +"sourceResource": { +"description": "Output only. The source volume represented by this DataSource.", +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"sourceResourceCreateTime": { +"description": "Output only. The volume creation timestamp.", +"format": "google-datetime", +"readOnly": true, "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListBindingMatchingResourcesResponse": { -"description": "The response message for getting a list of `BindingMatchingResources`.", -"id": "ListBindingMatchingResourcesResponse", +"NetAppVolumeDataSourceReferenceProperties": { +"description": "NetAppVolumeDataSourceReferenceProperties represents NetApp Volume properties stored in DataSourceReference. .", +"id": "NetAppVolumeDataSourceReferenceProperties", "properties": { -"matchingResources": { -"description": "The list of `BindingMatchingResources` in the project,location for the specified binding.", -"items": { -"$ref": "BindingMatchingResource" -}, -"type": "array" +"sourceResource": { +"description": "Output only. The source volume represented by this DataSourceReference.", +"readOnly": true, +"type": "string" }, -"nextPageToken": { -"description": "A token which may be sent as page_token in a subsequent `ListBindingMatchingResources` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", +"sourceResourceCreateTime": { +"description": "Output only. The volume creation timestamp.", +"format": "google-datetime", +"readOnly": true, "type": "string" } }, "type": "object" }, -"ListDataSourceReferencesResponse": { -"description": "Response for the ListDataSourceReferences method.", -"id": "ListDataSourceReferencesResponse", +"NetworkConfig": { +"description": "Network configuration for ManagementServer instance.", +"id": "NetworkConfig", "properties": { -"dataSourceReferences": { -"description": "The DataSourceReferences from the specified parent.", -"items": { -"$ref": "DataSourceReference" -}, -"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.", +"network": { +"description": "Optional. The resource name of the Google Compute Engine VPC network to which the ManagementServer instance is connected.", "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"peeringMode": { +"description": "Optional. The network connect mode of the ManagementServer instance. For this version, only PRIVATE_SERVICE_ACCESS is supported.", +"enum": [ +"PEERING_MODE_UNSPECIFIED", +"PRIVATE_SERVICE_ACCESS" +], +"enumDescriptions": [ +"Peering mode not set.", +"Connect using Private Service Access to the Management Server. Private services access provides an IP address range for multiple Google Cloud services, including Google Cloud Backup and DR." +], "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListDataSourcesResponse": { -"description": "Response message for listing DataSources.", -"id": "ListDataSourcesResponse", +"NetworkInterface": { +"description": "A network interface resource attached to an instance. s", +"id": "NetworkInterface", "properties": { -"dataSources": { -"description": "The list of DataSource instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"accessConfigs": { +"description": "Optional. An array of configurations for this interface. Currently, only one access config,ONE_TO_ONE_NAT is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", "items": { -"$ref": "DataSource" +"$ref": "AccessConfig" }, "type": "array" }, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", -"type": "string" -}, -"unreachable": { -"description": "Locations that could not be reached.", +"aliasIpRanges": { +"description": "Optional. An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", "items": { -"type": "string" +"$ref": "AliasIpRange" }, "type": "array" -} }, -"type": "object" +"internalIpv6PrefixLength": { +"description": "Optional. The prefix length of the primary internal IPv6 range.", +"format": "int32", +"type": "integer" }, -"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.", +"ipv6AccessConfigs": { +"description": "Optional. An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", "items": { -"$ref": "Location" +"$ref": "AccessConfig" }, "type": "array" }, -"nextPageToken": { -"description": "The standard List next-page token.", +"ipv6AccessType": { +"description": "Optional. [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.", +"enum": [ +"UNSPECIFIED_IPV6_ACCESS_TYPE", +"INTERNAL", +"EXTERNAL" +], +"enumDescriptions": [ +"IPv6 access type not set. Means this network interface hasn't been turned on IPv6 yet.", +"This network interface can have internal IPv6.", +"This network interface can have external IPv6." +], "type": "string" -} }, -"type": "object" +"ipv6Address": { +"description": "Optional. An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", +"type": "string" }, -"ListManagementServersResponse": { -"description": "Response message for listing management servers.", -"id": "ListManagementServersResponse", -"properties": { -"managementServers": { -"description": "The list of ManagementServer instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return management servers in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "ManagementServer" +"name": { +"description": "Output only. [Output Only] The name of the network interface, which is generated by the server.", +"readOnly": true, +"type": "string" }, -"type": "array" +"network": { +"description": "Optional. URL of the VPC network resource for this instance.", +"type": "string" }, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"networkAttachment": { +"description": "Optional. The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"networkIP": { +"description": "Optional. An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", "type": "string" }, -"type": "array" -} +"nicType": { +"description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"NIC_TYPE_UNSPECIFIED", +"VIRTIO_NET", +"GVNIC" +], +"enumDescriptions": [ +"Default should be NIC_TYPE_UNSPECIFIED.", +"VIRTIO", +"GVNIC" +], +"type": "string" }, -"type": "object" +"queueCount": { +"description": "Optional. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", +"format": "int32", +"type": "integer" }, -"ListOperationsResponse": { -"description": "The response message for Operations.ListOperations.", -"id": "ListOperationsResponse", -"properties": { -"nextPageToken": { -"description": "The standard List next-page token.", +"stackType": { +"description": "The stack type for this network interface.", +"enum": [ +"STACK_TYPE_UNSPECIFIED", +"IPV4_ONLY", +"IPV4_IPV6" +], +"enumDescriptions": [ +"Default should be STACK_TYPE_UNSPECIFIED.", +"The network interface will be assigned IPv4 address.", +"The network interface can have both IPv4 and IPv6 addresses." +], "type": "string" }, -"operations": { -"description": "A list of operations that matches the specified filter in the request.", -"items": { -"$ref": "Operation" +"subnetwork": { +"description": "Optional. The URL of the Subnetwork resource for this instance.", +"type": "string" +} }, -"type": "array" +"type": "object" }, -"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": { +"NetworkPerformanceConfig": { +"description": "Network performance configuration.", +"id": "NetworkPerformanceConfig", +"properties": { +"totalEgressBandwidthTier": { +"description": "Optional. The tier of the total egress bandwidth.", +"enum": [ +"TIER_UNSPECIFIED", +"DEFAULT", +"TIER_1" +], +"enumDescriptions": [ +"This value is unused.", +"Default network performance config.", +"Tier 1 network performance config." +], "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListResourceBackupConfigsResponse": { -"description": "Response for ListResourceBackupConfigs.", -"id": "ListResourceBackupConfigsResponse", +"NodeAffinity": { +"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", +"id": "NodeAffinity", "properties": { -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"key": { +"description": "Optional. Corresponds to the label key of Node resource.", "type": "string" }, -"resourceBackupConfigs": { -"description": "The list of ResourceBackupConfigs for the specified scope.", +"operator": { +"description": "Optional. Defines the operation of node selection.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"IN", +"NOT_IN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Requires Compute Engine to seek for matched nodes.", +"Requires Compute Engine to avoid certain nodes." +], +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of Node resource.", "items": { -"$ref": "ResourceBackupConfig" +"type": "string" }, "type": "array" } }, "type": "object" }, -"Location": { -"description": "A resource that represents a Google Cloud location.", -"id": "Location", +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", "properties": { -"displayName": { -"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", -"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" }, -"labels": { +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { "additionalProperties": { -"type": "string" +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" }, -"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"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" }, -"locationId": { -"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", "type": "string" }, -"metadata": { +"response": { "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.", +"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" -}, -"name": { -"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", -"type": "string" } }, "type": "object" }, -"LocationMetadata": { -"id": "LocationMetadata", +"PitrSettings": { +"description": "Point in time recovery settings of the backup configuration resource.", +"id": "PitrSettings", "properties": { -"unsupportedFeatures": { -"description": "List of features that are not supported in the location.", -"items": { -"enum": [ -"FEATURE_UNSPECIFIED", -"MANAGEMENT_SERVER", -"COMPUTE_INSTANCE", -"PROTECTION_SUMMARY", -"DISK", -"CLOUD_SQL", -"ALLOY_DB", -"FILESTORE", -"BV_AF", -"GOOGLE_CLOUD_NETAPP_VOLUME", -"CEP_MONITORING_COMPUTE_INSTANCE", -"CEP_MONITORING_DISK", -"BV_CUSTOM_PROBERS", -"FT_CUSTOM_PROBERS" -], -"enumDescriptions": [ -"", -"", -"", -"", -"", -"", -"", -"", -"", -"", -"", -"", -"Remove once parity achieved between BV_AF and BV_CUSTOM_PROBERS.", -"" -], -"type": "string" -}, -"type": "array" +"retentionDays": { +"description": "Output only. Number of days to retain the backup.", +"format": "int32", +"readOnly": true, +"type": "integer" } }, "type": "object" }, -"ManagementServer": { -"description": "ManagementServer describes a single BackupDR ManagementServer instance.", -"id": "ManagementServer", +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", "properties": { -"baProxyUri": { -"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by BAs to connect to BA proxy.", +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", "items": { -"type": "string" +"$ref": "AuditConfig" }, -"readOnly": true, "type": "array" }, -"createTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" }, -"description": { -"description": "Optional. The description of the ManagementServer instance (2048 characters or less).", -"type": "string" +"type": "array" }, "etag": { -"description": "Optional. Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", +"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" }, -"labels": { -"additionalProperties": { -"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" +} }, -"description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode.", "type": "object" }, -"managementUri": { -"$ref": "ManagementURI", -"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by clients to connect to AGM/RD graphical user interface and APIs.", -"readOnly": true -}, -"name": { -"description": "Output only. Identifier. The resource name.", -"readOnly": true, -"type": "string" -}, -"networks": { -"description": "Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA", -"items": { -"$ref": "NetworkConfig" -}, -"type": "array" -}, -"oauth2ClientId": { -"description": "Output only. The OAuth 2.0 client id is required to make API calls to the Backup and DR instance API of this ManagementServer. This is the value that should be provided in the 'aud' field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken).", +"PolicyEvaluationSummary": { +"description": "PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources.", +"id": "PolicyEvaluationSummary", +"properties": { +"failedResourceCount": { +"description": "Output only. The number of matching resources whose protection failed during job run.", +"format": "int64", "readOnly": true, "type": "string" }, -"satisfiesPzi": { -"description": "Output only. Reserved for future use.", -"readOnly": true, -"type": "boolean" -}, -"satisfiesPzs": { -"description": "Output only. Reserved for future use.", -"readOnly": true, -"type": "boolean" -}, -"state": { -"description": "Output only. The ManagementServer state.", -"enum": [ -"INSTANCE_STATE_UNSPECIFIED", -"CREATING", -"READY", -"UPDATING", -"DELETING", -"REPAIRING", -"MAINTENANCE", -"ERROR" -], -"enumDescriptions": [ -"State not set.", -"The instance is being created.", -"The instance has been created and is fully usable.", -"The instance configuration is being updated. Certain kinds of updates may cause the instance to become unusable while the update is in progress.", -"The instance is being deleted.", -"The instance is being repaired and may be unstable.", -"Maintenance is being performed on this instance.", -"The instance is experiencing an issue and might be unusable. You can get further details from the statusMessage field of Instance resource." -], +"matchingResourceCount": { +"description": "Output only. The number of resources that currently match the policy's criteria.", +"format": "int64", "readOnly": true, "type": "string" }, -"type": { -"description": "Optional. The type of the ManagementServer resource.", -"enum": [ -"INSTANCE_TYPE_UNSPECIFIED", -"BACKUP_RESTORE" -], -"enumDescriptions": [ -"Instance type is not mentioned.", -"Instance for backup and restore management (i.e., AGM)." -], -"type": "string" -}, -"updateTime": { -"description": "Output only. The time when the instance was updated.", -"format": "google-datetime", +"protectedResourceCount": { +"description": "Output only. The number of matching resources that are successfully protected.", +"format": "int64", "readOnly": true, "type": "string" -}, -"workforceIdentityBasedManagementUri": { -"$ref": "WorkforceIdentityBasedManagementURI", -"description": "Output only. The hostnames of the exposed AGM endpoints for both types of user i.e. 1p and 3p, used to connect AGM/RM UI.", -"readOnly": true -}, -"workforceIdentityBasedOauth2ClientId": { -"$ref": "WorkforceIdentityBasedOAuth2ClientID", -"description": "Output only. The OAuth client IDs for both types of user i.e. 1p and 3p.", -"readOnly": true } }, "type": "object" }, -"ManagementURI": { -"description": "ManagementURI for the Management Server resource.", -"id": "ManagementURI", +"PostRestoreConfig": { +"description": "Configuration for Post-Restore.", +"id": "PostRestoreConfig", "properties": { -"api": { -"description": "Output only. The ManagementServer AGM/RD API URL.", -"readOnly": true, +"cloudRunJob": { +"description": "Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`", "type": "string" }, -"webUi": { -"description": "Output only. The ManagementServer AGM/RD WebUI URL.", -"readOnly": true, +"timeout": { +"description": "Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).", +"format": "google-duration", "type": "string" } }, "type": "object" }, -"MatchingCondition": { -"description": "MatchingCondition specifies a set of conditions for matching resources.", -"id": "MatchingCondition", +"PostRestorePhaseInfo": { +"description": "Info for Post-Restore phase execution.", +"id": "PostRestorePhaseInfo", "properties": { -"labelCondition": { -"$ref": "KeyValuePair", -"description": "Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match." -} +"cloudRunExecution": { +"description": "Output only. The fully qualified URI of the Cloud Run Execution triggered for post-restore actions.", +"readOnly": true, +"type": "string" }, -"type": "object" +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"Metadata": { -"description": "A metadata key/value entry.", -"id": "Metadata", -"properties": { -"items": { -"description": "Optional. Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", -"items": { -"$ref": "Entry" +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true }, -"type": "array" -} +"phaseState": { +"description": "Output only. The state of this phase.", +"enum": [ +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" +], +"enumDescriptions": [ +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." +], +"readOnly": true, +"type": "string" }, -"type": "object" +"postRestoreConfig": { +"$ref": "PostRestoreConfig", +"description": "Output only. Snapshot of config that will be executed after successful restore operation.", +"readOnly": true }, -"NetAppVolumeBackupPlanAssociationProperties": { -"description": "NetAppVolumeBackupPlanAssociationProperties represents NetApp Volume backup plan association properties in BackupPlanAssociation. .", -"id": "NetAppVolumeBackupPlanAssociationProperties", -"properties": { -"sourceResourceCreateTime": { -"description": "Output only. The creation timestamp of the source resource.", +"startTime": { +"description": "Output only. Start time of the phase.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -7365,47 +8655,74 @@ }, "type": "object" }, -"NetAppVolumeBackupProperties": { -"description": "NetAppVolumeBackupProperties represents NetApp Volume backup properties in Backup. .", -"id": "NetAppVolumeBackupProperties", +"PreRestoreConfig": { +"description": "Configuration for Pre-Restore.", +"id": "PreRestoreConfig", "properties": { -"sourceResource": { -"description": "Output only. The source volume of the Backup.", -"readOnly": true, +"cloudRunJob": { +"description": "Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`", +"type": "string" +}, +"timeout": { +"description": "Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).", +"format": "google-duration", "type": "string" } }, "type": "object" }, -"NetAppVolumeDataSourceProperties": { -"description": "NetAppVolumeDataSourceProperties represents NetApp Volume properties stored in DataSource. .", -"id": "NetAppVolumeDataSourceProperties", +"PreRestorePhaseInfo": { +"description": "Info for Pre-Restore phase execution.", +"id": "PreRestorePhaseInfo", "properties": { -"sourceResource": { -"description": "Output only. The source volume represented by this DataSource.", +"cloudRunExecution": { +"description": "Output only. The fully qualified URI of the Cloud Run Execution triggered for pre-restore actions.", "readOnly": true, "type": "string" }, -"sourceResourceCreateTime": { -"description": "Output only. The volume creation timestamp.", +"endTime": { +"description": "Output only. End time of the phase.", "format": "google-datetime", "readOnly": true, "type": "string" -} }, -"type": "object" +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true }, -"NetAppVolumeDataSourceReferenceProperties": { -"description": "NetAppVolumeDataSourceReferenceProperties represents NetApp Volume properties stored in DataSourceReference. .", -"id": "NetAppVolumeDataSourceReferenceProperties", -"properties": { -"sourceResource": { -"description": "Output only. The source volume represented by this DataSourceReference.", +"phaseState": { +"description": "Output only. The state of this phase.", +"enum": [ +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" +], +"enumDescriptions": [ +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." +], "readOnly": true, "type": "string" }, -"sourceResourceCreateTime": { -"description": "Output only. The volume creation timestamp.", +"preRestoreConfig": { +"$ref": "PreRestoreConfig", +"description": "Output only. Snapshot of config that will be executed before restore operation.", +"readOnly": true +}, +"startTime": { +"description": "Output only. Start time of the phase.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -7413,456 +8730,677 @@ }, "type": "object" }, -"NetworkConfig": { -"description": "Network configuration for ManagementServer instance.", -"id": "NetworkConfig", +"PreparePhaseInfo": { +"description": "Info for Prepare phase execution.", +"id": "PreparePhaseInfo", "properties": { -"network": { -"description": "Optional. The resource name of the Google Compute Engine VPC network to which the ManagementServer instance is connected.", +"backup": { +"description": "Output only. The source backup used for the restore. The fully qualified URI of the backupdr backup.", +"readOnly": true, "type": "string" }, -"peeringMode": { -"description": "Optional. The network connect mode of the ManagementServer instance. For this version, only PRIVATE_SERVICE_ACCESS is supported.", +"backupSelectionConfig": { +"$ref": "BackupSelectionConfig", +"description": "Output only. Snapshot of config used in this execution.", +"readOnly": true +}, +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true +}, +"isBackupExplicitlyPassed": { +"description": "Output only. Indicates whether the backup was explicitly passed in the request.", +"readOnly": true, +"type": "boolean" +}, +"phaseState": { +"description": "Output only. The state of this phase.", "enum": [ -"PEERING_MODE_UNSPECIFIED", -"PRIVATE_SERVICE_ACCESS" +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" ], "enumDescriptions": [ -"Peering mode not set.", -"Connect using Private Service Access to the Management Server. Private services access provides an IP address range for multiple Google Cloud services, including Google Cloud Backup and DR." +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." ], +"readOnly": true, +"type": "string" +}, +"restoreVerificationPlanAssociation": { +"description": "Output only. The restore verification plan association associated with the execution.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Start time of the phase.", +"format": "google-datetime", +"readOnly": true, "type": "string" } }, "type": "object" }, -"NetworkInterface": { -"description": "A network interface resource attached to an instance. s", -"id": "NetworkInterface", +"RegionDiskTargetEnvironment": { +"description": "RegionDiskTargetEnvironment represents the target environment for the disk.", +"id": "RegionDiskTargetEnvironment", "properties": { -"accessConfigs": { -"description": "Optional. An array of configurations for this interface. Currently, only one access config,ONE_TO_ONE_NAT is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", -"items": { -"$ref": "AccessConfig" +"project": { +"description": "Required. Target project for the disk.", +"type": "string" }, -"type": "array" +"region": { +"description": "Required. Target region for the disk.", +"type": "string" }, -"aliasIpRanges": { -"description": "Optional. An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", +"replicaZones": { +"description": "Required. Target URLs of the replica zones for the disk.", "items": { -"$ref": "AliasIpRange" +"type": "string" }, "type": "array" }, -"internalIpv6PrefixLength": { -"description": "Optional. The prefix length of the primary internal IPv6 range.", -"format": "int32", -"type": "integer" +"useProjectServiceAccount": { +"description": "Optional. Whether to use the project service account for the disk restore.", +"type": "boolean" +} }, -"ipv6AccessConfigs": { -"description": "Optional. An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", +"type": "object" +}, +"RemoveDataSourceRequest": { +"description": "Message for deleting a DataSource.", +"id": "RemoveDataSourceRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"ResourceBackupConfig": { +"description": "ResourceBackupConfig represents a resource along with its backup configurations.", +"id": "ResourceBackupConfig", +"properties": { +"backupConfigsDetails": { +"description": "Backup configurations applying to the target resource, including those targeting its related/child resources. For example, backup configuration applicable to Compute Engine disks will be populated in this field for a Compute Engine VM which has the disk associated.", "items": { -"$ref": "AccessConfig" +"$ref": "BackupConfigDetails" }, "type": "array" }, -"ipv6AccessType": { -"description": "Optional. [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.", -"enum": [ -"UNSPECIFIED_IPV6_ACCESS_TYPE", -"INTERNAL", -"EXTERNAL" -], -"enumDescriptions": [ -"IPv6 access type not set. Means this network interface hasn't been turned on IPv6 yet.", -"This network interface can have internal IPv6.", -"This network interface can have external IPv6." -], -"type": "string" +"backupConfigured": { +"description": "Output only. Whether the target resource is configured for backup. This is true if the backup_configs_details is not empty.", +"readOnly": true, +"type": "boolean" }, -"ipv6Address": { -"description": "Optional. An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", +"name": { +"description": "Identifier. The resource name of the ResourceBackupConfig. Format: projects/{project}/locations/{location}/resourceBackupConfigs/{uid}", "type": "string" }, -"name": { -"description": "Output only. [Output Only] The name of the network interface, which is generated by the server.", +"targetResource": { +"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the cloud resource that this configuration applies to. Supported resource types are ResourceBackupConfig.ResourceType.", "readOnly": true, "type": "string" }, -"network": { -"description": "Optional. URL of the VPC network resource for this instance.", +"targetResourceDisplayName": { +"description": "Output only. The human friendly name of the target resource.", +"readOnly": true, "type": "string" }, -"networkAttachment": { -"description": "Optional. The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", +"targetResourceLabels": { +"additionalProperties": { "type": "string" }, -"networkIP": { -"description": "Optional. An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", -"type": "string" +"description": "Labels associated with the target resource.", +"type": "object" }, -"nicType": { -"description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"targetResourceType": { +"description": "Output only. The type of the target resource.", "enum": [ -"NIC_TYPE_UNSPECIFIED", -"VIRTIO_NET", -"GVNIC" +"RESOURCE_TYPE_UNSPECIFIED", +"CLOUD_SQL_INSTANCE", +"COMPUTE_ENGINE_VM", +"COMPUTE_ENGINE_DISK", +"COMPUTE_ENGINE_REGIONAL_DISK", +"FILESTORE_INSTANCE" ], "enumDescriptions": [ -"Default should be NIC_TYPE_UNSPECIFIED.", -"VIRTIO", -"GVNIC" +"Resource type not set.", +"Cloud SQL instance.", +"Compute Engine VM.", +"Compute Engine Disk.", +"Compute Engine Regional Disk.", +"Filestore Instance." ], +"readOnly": true, "type": "string" }, -"queueCount": { -"description": "Optional. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", -"format": "int32", -"type": "integer" +"uid": { +"description": "Output only. The unique identifier of the resource backup config.", +"readOnly": true, +"type": "string" }, -"stackType": { -"description": "The stack type for this network interface.", -"enum": [ -"STACK_TYPE_UNSPECIFIED", -"IPV4_ONLY", -"IPV4_IPV6" -], -"enumDescriptions": [ -"Default should be STACK_TYPE_UNSPECIFIED.", -"The network interface will be assigned IPv4 address.", -"The network interface can have both IPv4 and IPv6 addresses." -], +"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.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"RestoreBackupRequest": { +"description": "Request message for restoring from a Backup.", +"id": "RestoreBackupRequest", +"properties": { +"clearOverridesFieldMask": { +"description": "Optional. A field mask used to clear server-side default values for fields within the `instance_properties` oneof. When a field in this mask is cleared, the server will not apply its default logic (like inheriting a value from the source) for that field. The most common current use case is clearing default encryption keys. Examples of field mask paths: - Compute Instance Disks: `compute_instance_restore_properties.disks.*.disk_encryption_key` - Single Disk: `disk_restore_properties.disk_encryption_key`", +"format": "google-fieldmask", "type": "string" }, -"subnetwork": { -"description": "Optional. The URL of the Subnetwork resource for this instance.", +"computeInstanceRestoreProperties": { +"$ref": "ComputeInstanceRestoreProperties", +"description": "Compute Engine instance properties to be overridden during restore." +}, +"computeInstanceTargetEnvironment": { +"$ref": "ComputeInstanceTargetEnvironment", +"description": "Compute Engine target environment to be used during restore." +}, +"diskRestoreProperties": { +"$ref": "DiskRestoreProperties", +"description": "Disk properties to be overridden during restore." +}, +"diskTargetEnvironment": { +"$ref": "DiskTargetEnvironment", +"description": "Disk target environment to be used during restore." +}, +"regionDiskTargetEnvironment": { +"$ref": "RegionDiskTargetEnvironment", +"description": "Region disk target environment to be used during restore." +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" } }, "type": "object" }, -"NetworkPerformanceConfig": { -"description": "Network performance configuration.", -"id": "NetworkPerformanceConfig", +"RestoreBackupResponse": { +"description": "Response message for restoring from a Backup.", +"id": "RestoreBackupResponse", "properties": { -"totalEgressBandwidthTier": { -"description": "Optional. The tier of the total egress bandwidth.", -"enum": [ -"TIER_UNSPECIFIED", -"DEFAULT", -"TIER_1" -], -"enumDescriptions": [ -"This value is unused.", -"Default network performance config.", -"Tier 1 network performance config." -], -"type": "string" +"targetResource": { +"$ref": "TargetResource", +"description": "Details of the target resource created/modified as part of restore." } }, "type": "object" }, -"NodeAffinity": { -"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", -"id": "NodeAffinity", +"RestoreDiskFromInstanceOptions": { +"description": "Options for creating a disk from a source Compute Instance backup.", +"id": "RestoreDiskFromInstanceOptions", "properties": { -"key": { -"description": "Optional. Corresponds to the label key of Node resource.", -"type": "string" -}, -"operator": { -"description": "Optional. Defines the operation of node selection.", -"enum": [ -"OPERATOR_UNSPECIFIED", -"IN", -"NOT_IN" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"Requires Compute Engine to seek for matched nodes.", -"Requires Compute Engine to avoid certain nodes." -], -"type": "string" +"bootDisk": { +"description": "Specifies that the boot disk should be restored from the instance backup. This field should only be set to `true` if selected.", +"type": "boolean" }, -"values": { -"description": "Optional. Corresponds to the label values of Node resource.", -"items": { +"sourceDeviceName": { +"description": "The device name of the disk to restore from the VM backup.", "type": "string" -}, -"type": "array" } }, "type": "object" }, -"Operation": { -"description": "This resource represents a long-running operation that is the result of a network API call.", -"id": "Operation", +"RestorePhaseInfo": { +"description": "Info for Restore phase execution.", +"id": "RestorePhaseInfo", "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" +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, "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": "Output only. Error details if the phase failed.", +"readOnly": true }, -"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" +"phaseState": { +"description": "Output only. The state of this phase.", +"enum": [ +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" +], +"enumDescriptions": [ +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." +], +"readOnly": true, +"type": "string" }, -"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}`.", +"restoreDuration": { +"description": "Output only. Time taken to restore the resource.", +"format": "google-duration", +"readOnly": true, "type": "string" }, -"response": { +"restoreProperties": { "additionalProperties": { -"description": "Properties of the object. Contains field @type with type URL.", +"description": "Properties of the object.", "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`.", +"description": "Output only. Snapshot of environment config used during restore of this RestoreTemplateExecution.", +"readOnly": true, "type": "object" -} }, -"type": "object" +"restoreResource": { +"description": "Output only. The resource created or restored by this execution.", +"readOnly": true, +"type": "string" }, -"PitrSettings": { -"description": "Point in time recovery settings of the backup configuration resource.", -"id": "PitrSettings", -"properties": { -"retentionDays": { -"description": "Output only. Number of days to retain the backup.", -"format": "int32", +"startTime": { +"description": "Output only. Start time of the phase.", +"format": "google-datetime", "readOnly": true, -"type": "integer" +"type": "string" } }, "type": "object" }, -"Policy": { -"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", -"id": "Policy", +"RestoreTemplate": { +"description": "A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.", +"id": "RestoreTemplate", "properties": { -"auditConfigs": { -"description": "Specifies cloud audit logging configuration for this policy.", -"items": { -"$ref": "AuditConfig" +"backupSelectionConfig": { +"$ref": "BackupSelectionConfig", +"description": "Required. Backup selection configuration." }, -"type": "array" -}, -"bindings": { -"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", -"items": { -"$ref": "Binding" +"createTime": { +"description": "Output only. The time when the restore template was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"type": "array" +"description": { +"description": "Optional. User-provided description of the restore template.", +"type": "string" }, "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", +"description": "Optional. Etag for concurrency control.", "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" -} +"executionSummary": { +"$ref": "ExecutionSummary", +"description": "Output only. Summary of the last execution.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" }, +"description": "Optional. User-defined labels.", "type": "object" }, -"PolicyEvaluationSummary": { -"description": "PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources.", -"id": "PolicyEvaluationSummary", -"properties": { -"failedResourceCount": { -"description": "Output only. The number of matching resources whose protection failed during job run.", -"format": "int64", -"readOnly": true, +"name": { +"description": "Identifier. The resource name of the RestoreTemplate.", "type": "string" }, -"matchingResourceCount": { -"description": "Output only. The number of resources that currently match the policy's criteria.", -"format": "int64", +"postRestoreConfig": { +"$ref": "PostRestoreConfig", +"description": "Optional. Post-restore configuration." +}, +"preRestoreConfig": { +"$ref": "PreRestoreConfig", +"description": "Optional. Pre-restore configuration." +}, +"resourceType": { +"description": "Required. Immutable. The specific type of the workload being restored. The format is \"{service_name}/{resource_kind}\", for example, \"compute.googleapis.com/Instance\".", +"type": "string" +}, +"restoreProperties": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `\"restored-resource-{EXECUTION_ID}\"` or `\"restored-{EXECUTION_ID}-resource\"` resolves to `\"restored-resource-5d437b06\"` or `\"restored-5d437b06-resource\"`).", +"type": "object" +}, +"state": { +"description": "Output only. The state of the restore template.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"UPDATING", +"DELETING" +], +"enumDescriptions": [ +"State not specified.", +"The template is being created.", +"The template is active and ready to use.", +"The template is being updated.", +"The template is being deleted." +], "readOnly": true, "type": "string" }, -"protectedResourceCount": { -"description": "Output only. The number of matching resources that are successfully protected.", -"format": "int64", +"updateTime": { +"description": "Output only. The time when the restore template was last updated.", +"format": "google-datetime", "readOnly": true, "type": "string" +}, +"verificationConfig": { +"$ref": "VerificationConfig", +"description": "Optional. Verification configuration." } }, "type": "object" }, -"RegionDiskTargetEnvironment": { -"description": "RegionDiskTargetEnvironment represents the target environment for the disk.", -"id": "RegionDiskTargetEnvironment", +"RestoreTemplateExecution": { +"description": "A `RestoreTemplateExecution` represents a single historical or active execution run.", +"id": "RestoreTemplateExecution", "properties": { -"project": { -"description": "Required. Target project for the disk.", +"cleanupPhaseInfo": { +"$ref": "CleanupPhaseInfo", +"description": "Output only. Info for the cleanup phase.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Create time of the execution.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"region": { -"description": "Required. Target region for the disk.", +"name": { +"description": "Identifier. Resource name of the execution.", "type": "string" }, -"replicaZones": { -"description": "Required. Target URLs of the replica zones for the disk.", -"items": { +"phase": { +"description": "Output only. The current active phase.", +"enum": [ +"EXECUTION_PHASE_UNSPECIFIED", +"PREPARING", +"EXECUTING_PRE_RESTORE_ACTION", +"RESTORING", +"EXECUTING_POST_RESTORE_ACTION", +"VERIFYING", +"CLEANING_UP", +"COMPLETED" +], +"enumDescriptions": [ +"Execution phase not specified.", +"Preparing for execution.", +"Executing pre-restore action.", +"Restoring the resource.", +"Executing post-restore action.", +"Verifying the restored resource.", +"Cleaning up resources.", +"Execution completed." +], +"readOnly": true, "type": "string" }, -"type": "array" +"postRestorePhaseInfo": { +"$ref": "PostRestorePhaseInfo", +"description": "Output only. Info for the post-restore phase.", +"readOnly": true }, -"useProjectServiceAccount": { -"description": "Optional. Whether to use the project service account for the disk restore.", -"type": "boolean" -} +"preRestorePhaseInfo": { +"$ref": "PreRestorePhaseInfo", +"description": "Output only. Info for the pre-restore phase.", +"readOnly": true }, -"type": "object" +"preparePhaseInfo": { +"$ref": "PreparePhaseInfo", +"description": "Output only. Info for the prepare phase.", +"readOnly": true }, -"RemoveDataSourceRequest": { -"description": "Message for deleting a DataSource.", -"id": "RemoveDataSourceRequest", -"properties": { -"requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"resourceType": { +"description": "Output only. The workload resource type being restored. The format is \"{service_name}/{resource_kind}\", for example, \"compute.googleapis.com/Instance\".", +"readOnly": true, +"type": "string" +}, +"restorePhaseInfo": { +"$ref": "RestorePhaseInfo", +"description": "Output only. Info for the restore phase.", +"readOnly": true +}, +"state": { +"description": "Output only. State of the execution.", +"enum": [ +"EXECUTION_STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"DELETING" +], +"enumDescriptions": [ +"State not set.", +"Execution is running.", +"Execution succeeded.", +"Execution failed.", +"Resources are being deleted (cleanup)." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of the execution.", +"enum": [ +"EXECUTION_TYPE_UNSPECIFIED", +"SCHEDULED", +"ON_DEMAND" +], +"enumDescriptions": [ +"Execution type not specified.", +"Scheduled execution.", +"On-demand execution." +], +"readOnly": true, "type": "string" +}, +"updateTime": { +"description": "Output only. Update time of the execution.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"verificationPhaseInfo": { +"$ref": "VerificationPhaseInfo", +"description": "Output only. Info for the verification phase.", +"readOnly": true } }, "type": "object" }, -"ResourceBackupConfig": { -"description": "ResourceBackupConfig represents a resource along with its backup configurations.", -"id": "ResourceBackupConfig", +"RestoreVerificationCleanupRule": { +"description": "Defines the specific cleanup action.", +"id": "RestoreVerificationCleanupRule", "properties": { -"backupConfigsDetails": { -"description": "Backup configurations applying to the target resource, including those targeting its related/child resources. For example, backup configuration applicable to Compute Engine disks will be populated in this field for a Compute Engine VM which has the disk associated.", -"items": { -"$ref": "BackupConfigDetails" -}, -"type": "array" +"cleanupDelay": { +"description": "Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).", +"format": "google-duration", +"type": "string" }, -"backupConfigured": { -"description": "Output only. Whether the target resource is configured for backup. This is true if the backup_configs_details is not empty.", -"readOnly": true, +"skipCleanup": { +"description": "Optional. If set to true, the restored resource will not be cleaned up.", "type": "boolean" +} }, -"name": { -"description": "Identifier. The resource name of the ResourceBackupConfig. Format: projects/{project}/locations/{location}/resourceBackupConfigs/{uid}", -"type": "string" +"type": "object" }, -"targetResource": { -"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the cloud resource that this configuration applies to. Supported resource types are ResourceBackupConfig.ResourceType.", +"RestoreVerificationPlan": { +"description": "A `RestoreVerificationPlan` specifies the scheduling and clean-up template for automated restore verification. It contains a `RestoreVerificationSchedule` to dictate when the verifications should run, and a `CleanupConfig` for post-verification resource deletion.", +"id": "RestoreVerificationPlan", +"properties": { +"createTime": { +"description": "Output only. When the `RestoreVerificationPlan` was created.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"targetResourceDisplayName": { -"description": "Output only. The human friendly name of the target resource.", -"readOnly": true, +"description": { +"description": "Optional. The description of the `RestoreVerificationPlan` resource. The description allows for additional details about `RestoreVerificationPlan` and its use cases to be provided. An example description is the following: \"This is a restore verification plan that performs a daily verification and cleans up the resources immediately after.\" The description must be at most 2048 characters.", "type": "string" }, -"targetResourceLabels": { +"failureCleanupRule": { +"$ref": "RestoreVerificationCleanupRule", +"description": "Optional. The cleanup rule to apply if the restore verification fails." +}, +"labels": { "additionalProperties": { "type": "string" }, -"description": "Labels associated with the target resource.", +"description": "Optional. User-defined labels.", "type": "object" }, -"targetResourceType": { -"description": "Output only. The type of the target resource.", +"name": { +"description": "Output only. Identifier. The resource name of the `RestoreVerificationPlan`. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`", +"readOnly": true, +"type": "string" +}, +"schedule": { +"description": "Required. Describes the schedule on which the restore verification will be executed. The schedule is specified as a [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) string.", +"type": "string" +}, +"state": { +"description": "Output only. The `State` for the `RestoreVerificationPlan`.", "enum": [ -"RESOURCE_TYPE_UNSPECIFIED", -"CLOUD_SQL_INSTANCE", -"COMPUTE_ENGINE_VM", -"COMPUTE_ENGINE_DISK", -"COMPUTE_ENGINE_REGIONAL_DISK", -"FILESTORE_INSTANCE" +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE", +"UPDATING", +"ERROR" ], "enumDescriptions": [ -"Resource type not set.", -"Cloud SQL instance.", -"Compute Engine VM.", -"Compute Engine Disk.", -"Compute Engine Regional Disk.", -"Filestore Instance." +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated.", +"The resource is in an error state due to a configuration issue." ], "readOnly": true, "type": "string" }, -"uid": { -"description": "Output only. The unique identifier of the resource backup config.", -"readOnly": true, +"successCleanupRule": { +"$ref": "RestoreVerificationCleanupRule", +"description": "Optional. The cleanup rule to apply if the restore verification succeeds." +}, +"timeZone": { +"description": "Optional. Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](https://en.wikipedia.org/wiki/Tz_database), like \"America/New_York\" or \"UTC\". Defaults to `UTC` if not specified.", "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.", +"updateTime": { +"description": "Output only. When the `RestoreVerificationPlan` was last updated.", +"format": "google-datetime", "readOnly": true, -"type": "boolean" +"type": "string" } }, "type": "object" }, -"RestoreBackupRequest": { -"description": "Request message for restoring from a Backup.", -"id": "RestoreBackupRequest", +"RestoreVerificationPlanAssociation": { +"description": "A `RestoreVerificationPlanAssociation` binds a specific workload to a `RestoreVerificationPlan`.", +"id": "RestoreVerificationPlanAssociation", "properties": { -"clearOverridesFieldMask": { -"description": "Optional. A field mask used to clear server-side default values for fields within the `instance_properties` oneof. When a field in this mask is cleared, the server will not apply its default logic (like inheriting a value from the source) for that field. The most common current use case is clearing default encryption keys. Examples of field mask paths: - Compute Instance Disks: `compute_instance_restore_properties.disks.*.disk_encryption_key` - Single Disk: `disk_restore_properties.disk_encryption_key`", -"format": "google-fieldmask", +"createTime": { +"description": "Output only. The time when the association was created.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"computeInstanceRestoreProperties": { -"$ref": "ComputeInstanceRestoreProperties", -"description": "Compute Engine instance properties to be overridden during restore." -}, -"computeInstanceTargetEnvironment": { -"$ref": "ComputeInstanceTargetEnvironment", -"description": "Compute Engine target environment to be used during restore." -}, -"diskRestoreProperties": { -"$ref": "DiskRestoreProperties", -"description": "Disk properties to be overridden during restore." +"description": { +"description": "Optional. The description of the `RestoreVerificationPlanAssociation` resource.", +"type": "string" }, -"diskTargetEnvironment": { -"$ref": "DiskTargetEnvironment", -"description": "Disk target environment to be used during restore." +"labels": { +"additionalProperties": { +"type": "string" }, -"regionDiskTargetEnvironment": { -"$ref": "RegionDiskTargetEnvironment", -"description": "Region disk target environment to be used during restore." +"description": "Optional. User-defined labels.", +"type": "object" }, -"requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"name": { +"description": "Output only. Identifier. The resource name of RestoreVerificationPlanAssociation in below format Format : projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}", +"readOnly": true, "type": "string" -} }, -"type": "object" +"resourceType": { +"description": "Required. Immutable. The type of the Google Cloud resource (e.g., `compute.googleapis.com/Instance`, `sqladmin.googleapis.com/Instance`).", +"type": "string" }, -"RestoreBackupResponse": { -"description": "Response message for restoring from a Backup.", -"id": "RestoreBackupResponse", -"properties": { -"targetResource": { -"$ref": "TargetResource", -"description": "Details of the target resource created/modified as part of restore." -} +"restoreTemplate": { +"description": "Required. Immutable. The canonical name of the RestoreTemplate to trigger.", +"type": "string" }, -"type": "object" +"state": { +"description": "Output only. The `State` for the `RestoreVerificationPlanAssociation`.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE", +"UPDATING", +"ERROR" +], +"enumDescriptions": [ +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated.", +"The resource is in an error state due to a configuration issue." +], +"readOnly": true, +"type": "string" }, -"RestoreDiskFromInstanceOptions": { -"description": "Options for creating a disk from a source Compute Instance backup.", -"id": "RestoreDiskFromInstanceOptions", -"properties": { -"bootDisk": { -"description": "Specifies that the boot disk should be restored from the instance backup. This field should only be set to `true` if selected.", -"type": "boolean" +"triggerSummary": { +"$ref": "TriggerSummary", +"description": "Output only. Results of the most recent automated restore initiation and the next scheduled execution time.", +"readOnly": true }, -"sourceDeviceName": { -"description": "The device name of the disk to restore from the VM backup.", +"updateTime": { +"description": "Output only. The time when the association was updated.", +"format": "google-datetime", +"readOnly": true, "type": "string" } }, @@ -7910,6 +9448,21 @@ }, "type": "object" }, +"RunRestoreTemplateRequest": { +"description": "Request message for running a RestoreTemplate.", +"id": "RunRestoreTemplateRequest", +"properties": { +"backup": { +"description": "Optional. The resource name of the Backup to restore from. If not specified, the latest backup matching the backup selection configuration in the RestoreTemplate will be used. Format: 'projects/{project}/locations/{location}/backupVaults/{backup_vault}/dataSources/{data_source}/backups/{backup}'", +"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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, "Scheduling": { "description": "Sets the scheduling options for an Instance.", "id": "Scheduling", @@ -8373,6 +9926,165 @@ }, "type": "object" }, +"TriggerRestoreCleanupRequest": { +"description": "Request message for triggering a restore cleanup.", +"id": "TriggerRestoreCleanupRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"TriggerRestoreVerificationRequest": { +"description": "Request message for TriggerRestoreVerification.", +"id": "TriggerRestoreVerificationRequest", +"properties": { +"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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"TriggerSummary": { +"description": "`TriggerSummary` contains the results of the most recent automated restore initiation and the next scheduled execution time.", +"id": "TriggerSummary", +"properties": { +"lastTriggerError": { +"$ref": "Status", +"description": "Output only. The error status of the most recent failed trigger.", +"readOnly": true +}, +"lastTriggerTime": { +"description": "Output only. The time of the most recent trigger initiation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastVerificationExecution": { +"description": "Output only. The resource name of the most recent initiated RestoreTemplateExecution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`", +"readOnly": true, +"type": "string" +}, +"nextTriggerTime": { +"description": "Output only. The scheduled time of the next trigger initiation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"VerificationConfig": { +"description": "Configuration for Verification.", +"id": "VerificationConfig", +"properties": { +"cloudRunJob": { +"description": "Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`", +"type": "string" +}, +"timeout": { +"description": "Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"VerificationPhaseInfo": { +"description": "Info for Verification phase execution.", +"id": "VerificationPhaseInfo", +"properties": { +"cloudRunExecution": { +"description": "Output only. The fully qualified URI of the Cloud Run Execution triggered for verification.", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true +}, +"phaseState": { +"description": "Output only. The state of this phase.", +"enum": [ +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" +], +"enumDescriptions": [ +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." +], +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Start time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"verificationConfig": { +"$ref": "VerificationConfig", +"description": "Output only. Snapshot of config that will be executed after successful post restore validation.", +"readOnly": true +} +}, +"type": "object" +}, +"VerificationSummary": { +"description": "VerificationSummary contains the status and timestamp of the latest Automated Verification test.", +"id": "VerificationSummary", +"properties": { +"lastVerificationExecution": { +"description": "Output only. The last verification execution.", +"readOnly": true, +"type": "string" +}, +"lastVerificationState": { +"description": "Output only. The state of the last verification.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"Verification state is unspecified.", +"Verification succeeded.", +"Verification failed." +], +"readOnly": true, +"type": "string" +}, +"lastVerificationTime": { +"description": "Output only. The time when the backup was last verified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "WeekDayOfMonth": { "description": "`WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`.", "id": "WeekDayOfMonth", diff --git a/googleapiclient/discovery_cache/documents/backupdr.v1beta.json b/googleapiclient/discovery_cache/documents/backupdr.v1beta.json index d54181b20a..505a2bc5d1 100644 --- a/googleapiclient/discovery_cache/documents/backupdr.v1beta.json +++ b/googleapiclient/discovery_cache/documents/backupdr.v1beta.json @@ -3099,28 +3099,38 @@ } } }, -"serviceConfig": { +"restoreTemplates": { "methods": { -"initialize": { -"description": "Initializes the service related config for a project.", -"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/serviceConfig:initialize", +"create": { +"description": "Creates a new RestoreTemplate in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates", "httpMethod": "POST", -"id": "backupdr.projects.locations.serviceConfig.initialize", +"id": "backupdr.projects.locations.restoreTemplates.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "Required. The resource name of the serviceConfig used to initialize the service. The location must be the location of the BackupVault. Format: `projects/{project_id}/locations/{location}/serviceConfig`.", +"parent": { +"description": "Required. The restore template project and location in the format 'projects/{project_id}/locations/{location}'.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/serviceConfig$", +"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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"restoreTemplateId": { +"description": "Required. The ID of the restore template to create. The ID must be unique for the specified project and location.", +"location": "query", +"type": "string" } }, -"path": "v1beta/{+name}:initialize", +"path": "v1beta/{+parent}/restoreTemplates", "request": { -"$ref": "InitializeServiceRequest" +"$ref": "RestoreTemplate" }, "response": { "$ref": "Operation" @@ -3129,626 +3139,1938 @@ "https://www.googleapis.com/auth/cloud-backupdr", "https://www.googleapis.com/auth/cloud-platform" ] -} -} }, -"trial": { -"methods": { -"end": { -"description": "Ends the trial for a project", -"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/trial:end", -"httpMethod": "POST", -"id": "backupdr.projects.locations.trial.end", +"delete": { +"description": "Deletes a RestoreTemplate.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.restoreTemplates.delete", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The parent resource where the trial has been created. Format: projects/{project}/locations/{location}", +"force": { +"description": "Optional. If set to true, any child RestoreTemplateExecutions will also be deleted. If false and the RestoreTemplate has any child executions, the request will fail.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the restore template to delete. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}'", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1beta/{+parent}/trial:end", -"request": { -"$ref": "EndTrialRequest" +"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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} }, +"path": "v1beta/{+name}", "response": { -"$ref": "Trial" +"$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-backupdr", "https://www.googleapis.com/auth/cloud-platform" ] }, -"subscribe": { -"description": "Subscribes to a trial for a project", -"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/trial:subscribe", -"httpMethod": "POST", -"id": "backupdr.projects.locations.trial.subscribe", +"get": { +"description": "Gets details of a RestoreTemplate.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreTemplates.get", "parameterOrder": [ -"parent" +"name" ], "parameters": { -"parent": { -"description": "Required. The project where this trial will be created. Format: projects/{project}/locations/{location} Supported Locations are - us, eu and asia.", +"name": { +"description": "Required. The name of the restore template to retrieve. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}'", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", "required": true, "type": "string" } }, -"path": "v1beta/{+parent}/trial:subscribe", -"request": { -"$ref": "SubscribeTrialRequest" -}, +"path": "v1beta/{+name}", "response": { -"$ref": "Trial" +"$ref": "RestoreTemplate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-backupdr", "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} -} -} -} }, -"revision": "20261024", -"rootUrl": "https://backupdr.googleapis.com/", -"schemas": { -"AbandonBackupRequest": { -"description": "request message for AbandonBackup.", -"id": "AbandonBackupRequest", -"properties": { -"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).", +"list": { +"description": "Lists RestoreTemplates in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreTemplates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Field match expression used to filter the results.", +"location": "query", "type": "string" -} }, -"type": "object" +"orderBy": { +"description": "Optional. Field by which to sort the results.", +"location": "query", +"type": "string" }, -"AcceleratorConfig": { -"description": "A specification of the type and number of accelerator cards attached to the instance.", -"id": "AcceleratorConfig", -"properties": { -"acceleratorCount": { -"description": "Optional. The number of the guest accelerator cards exposed to this instance.", +"pageSize": { +"description": "Optional. The maximum number of items to return.", "format": "int32", +"location": "query", "type": "integer" }, -"acceleratorType": { -"description": "Optional. Full or partial URL of the accelerator type resource to attach to this instance.", +"pageToken": { +"description": "Optional. A page token, received from a previous `ListRestoreTemplates` call.", +"location": "query", "type": "string" -} }, -"type": "object" -}, -"AccessConfig": { -"description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", -"id": "AccessConfig", -"properties": { -"externalIpv6": { -"description": "Optional. The external IPv6 address of this access configuration.", +"parent": { +"description": "Required. The project and location from which to list the restore templates. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, "type": "string" +} }, -"externalIpv6PrefixLength": { -"description": "Optional. The prefix length of the external IPv6 range.", -"format": "int32", -"type": "integer" +"path": "v1beta/{+parent}/restoreTemplates", +"response": { +"$ref": "ListRestoreTemplatesResponse" }, -"name": { -"description": "Optional. The name of this access configuration.", -"type": "string" +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] }, -"natIP": { -"description": "Optional. The external IP address of this access configuration.", +"patch": { +"description": "Updates the settings of a RestoreTemplate.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}", +"httpMethod": "PATCH", +"id": "backupdr.projects.locations.restoreTemplates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the RestoreTemplate.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", +"required": true, "type": "string" }, -"networkTier": { -"description": "Optional. This signifies the networking tier used for configuring this access", -"enum": [ -"NETWORK_TIER_UNSPECIFIED", -"PREMIUM", -"STANDARD" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"High quality, Google-grade network tier, support for all networking products.", -"Public internet quality, only limited support for other networking products." -], +"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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", "type": "string" }, -"publicPtrDomainName": { -"description": "Optional. The DNS domain name for the public PTR record.", +"updateMask": { +"description": "Optional. The list of fields to update. Field mask is used to specify the fields to be overwritten in the RestoreTemplate resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.", +"format": "google-fieldmask", +"location": "query", "type": "string" }, -"setPublicPtr": { -"description": "Optional. Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name.", +"validateOnly": { +"description": "Optional. Only validate the request, but do not perform mutations. The default is 'false'.", +"location": "query", "type": "boolean" -}, -"type": { -"description": "Optional. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", -"enum": [ -"ACCESS_TYPE_UNSPECIFIED", -"ONE_TO_ONE_NAT", -"DIRECT_IPV6" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"ONE_TO_ONE_NAT", -"Direct IPv6 access." -], -"type": "string" } }, -"type": "object" -}, -"AdvancedMachineFeatures": { -"description": "Specifies options for controlling advanced machine features.", -"id": "AdvancedMachineFeatures", -"properties": { -"enableNestedVirtualization": { -"description": "Optional. Whether to enable nested virtualization or not (default is false).", -"type": "boolean" +"path": "v1beta/{+name}", +"request": { +"$ref": "RestoreTemplate" }, -"enableUefiNetworking": { -"description": "Optional. Whether to enable UEFI networking for instance creation.", -"type": "boolean" +"response": { +"$ref": "Operation" }, -"threadsPerCore": { -"description": "Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", -"format": "int32", -"type": "integer" +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] }, -"visibleCoreCount": { -"description": "Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", -"format": "int32", -"type": "integer" +"run": { +"description": "Runs a RestoreTemplate.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}:run", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreTemplates.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the restore template to run. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", +"required": true, +"type": "string" } }, -"type": "object" +"path": "v1beta/{+name}:run", +"request": { +"$ref": "RunRestoreTemplateRequest" }, -"AliasIpRange": { -"description": "An alias IP range attached to an instance's network interface.", -"id": "AliasIpRange", -"properties": { -"ipCidrRange": { -"description": "Optional. The IP alias ranges to allocate for this interface.", -"type": "string" +"response": { +"$ref": "Operation" }, -"subnetworkRangeName": { -"description": "Optional. The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", -"type": "string" +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] } }, -"type": "object" -}, -"AllocationAffinity": { -"description": "Specifies the reservations that this instance can consume from.", -"id": "AllocationAffinity", -"properties": { -"consumeReservationType": { -"description": "Optional. Specifies the type of reservation from which this instance can consume", -"enum": [ -"TYPE_UNSPECIFIED", -"NO_RESERVATION", +"resources": { +"executions": { +"methods": { +"get": { +"description": "Gets details of a RestoreTemplateExecution.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreTemplates.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the restore template execution to retrieve. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}/executions/{execution_id}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "RestoreTemplateExecution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RestoreTemplateExecutions in a given project, location and restore template.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}/executions", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreTemplates.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project, location, and restore template for which to retrieve executions information. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/executions", +"response": { +"$ref": "ListRestoreTemplateExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"triggerRestoreCleanup": { +"description": "Triggers cleanup of restored resources created during execution.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}/executions/{executionsId}:triggerRestoreCleanup", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreTemplates.executions.triggerRestoreCleanup", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the restore template execution. Format: 'projects/{project_id}/locations/{location}/restoreTemplates/{restore_template_id}/executions/{execution_id}'", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreTemplates/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:triggerRestoreCleanup", +"request": { +"$ref": "TriggerRestoreCleanupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"restoreVerificationPlans": { +"methods": { +"create": { +"description": "Creates a new RestoreVerificationPlan in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreVerificationPlans.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The `RestoreVerificationPlan` project and location in the format `projects/{project}/locations/{location}`. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**.", +"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" +}, +"restoreVerificationPlanId": { +"description": "Required. The name of the `RestoreVerificationPlan` to create. The name must be unique for the specified project and location. The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, `^[a-z]([-a-z0-9]*[a-z0-9])?$`.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/restoreVerificationPlans", +"request": { +"$ref": "RestoreVerificationPlan" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single RestoreVerificationPlan. If the `force` flag is set to `true`, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.restoreVerificationPlans.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, any RestoreVerificationPlanAssociations linked to this RestoreVerificationPlan will also be deleted.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the `RestoreVerificationPlan` to delete. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single RestoreVerificationPlan. Returns the requested RestoreVerificationPlan.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreVerificationPlans.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the `RestoreVerificationPlan` to retrieve. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "RestoreVerificationPlan" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RestoreVerificationPlans in a given project and location.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreVerificationPlans.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Field match expression used to filter the results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field by which to sort the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of `RestoreVerificationPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value of next_page_token received from a previous `ListRestoreVerificationPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListRestoreVerificationPlans` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location for which to retrieve `RestoreVerificationPlans` information. Format: `projects/{project}/locations/{location}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve restore verification plans for all locations, use \"-\" for the `{location}` value.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/restoreVerificationPlans", +"response": { +"$ref": "ListRestoreVerificationPlansResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"associations": { +"methods": { +"create": { +"description": "Creates a new RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this association will be created. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+$", +"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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"restoreVerificationPlanAssociationId": { +"description": "Required. The ID to use for the association, which will become the final component of the association's resource name. This value should be 1-63 characters, and valid characters are /[a-z0-9_-]/.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/associations", +"request": { +"$ref": "RestoreVerificationPlanAssociation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations/{associationsId}", +"httpMethod": "DELETE", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the RestoreVerificationPlanAssociation to delete. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+/associations/[^/]+$", +"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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single RestoreVerificationPlanAssociation in a given RestoreVerificationPlan.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations/{associationsId}", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the RestoreVerificationPlanAssociation to retrieve. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+/associations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "RestoreVerificationPlanAssociation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RestoreVerificationPlanAssociations in a given RestoreVerificationPlan.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations", +"httpMethod": "GET", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of associations to return. The service may return fewer than this value. If unspecified, at most 500 associations 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 `ListRestoreVerificationPlanAssociations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRestoreVerificationPlanAssociations` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent RestoreVerificationPlan name. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/associations", +"response": { +"$ref": "ListRestoreVerificationPlanAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"triggerRestoreVerification": { +"description": "Triggers a new Restore Verification for the association in a given RestoreVerificationPlan.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/restoreVerificationPlans/{restoreVerificationPlansId}/associations/{associationsId}:triggerRestoreVerification", +"httpMethod": "POST", +"id": "backupdr.projects.locations.restoreVerificationPlans.associations.triggerRestoreVerification", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the RestoreVerificationPlanAssociation to trigger. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/restoreVerificationPlans/[^/]+/associations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:triggerRestoreVerification", +"request": { +"$ref": "TriggerRestoreVerificationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"serviceConfig": { +"methods": { +"initialize": { +"description": "Initializes the service related config for a project.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/serviceConfig:initialize", +"httpMethod": "POST", +"id": "backupdr.projects.locations.serviceConfig.initialize", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the serviceConfig used to initialize the service. The location must be the location of the BackupVault. Format: `projects/{project_id}/locations/{location}/serviceConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/serviceConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:initialize", +"request": { +"$ref": "InitializeServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"trial": { +"methods": { +"end": { +"description": "Ends the trial for a project", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/trial:end", +"httpMethod": "POST", +"id": "backupdr.projects.locations.trial.end", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where the trial has been created. Format: projects/{project}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/trial:end", +"request": { +"$ref": "EndTrialRequest" +}, +"response": { +"$ref": "Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"subscribe": { +"description": "Subscribes to a trial for a project", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/trial:subscribe", +"httpMethod": "POST", +"id": "backupdr.projects.locations.trial.subscribe", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project where this trial will be created. Format: projects/{project}/locations/{location} Supported Locations are - us, eu and asia.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/trial:subscribe", +"request": { +"$ref": "SubscribeTrialRequest" +}, +"response": { +"$ref": "Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-backupdr", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20261028", +"rootUrl": "https://backupdr.googleapis.com/", +"schemas": { +"AbandonBackupRequest": { +"description": "request message for AbandonBackup.", +"id": "AbandonBackupRequest", +"properties": { +"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).", +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorConfig": { +"description": "A specification of the type and number of accelerator cards attached to the instance.", +"id": "AcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "Optional. The number of the guest accelerator cards exposed to this instance.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Optional. Full or partial URL of the accelerator type resource to attach to this instance.", +"type": "string" +} +}, +"type": "object" +}, +"AccessConfig": { +"description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", +"id": "AccessConfig", +"properties": { +"externalIpv6": { +"description": "Optional. The external IPv6 address of this access configuration.", +"type": "string" +}, +"externalIpv6PrefixLength": { +"description": "Optional. The prefix length of the external IPv6 range.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Optional. The name of this access configuration.", +"type": "string" +}, +"natIP": { +"description": "Optional. The external IP address of this access configuration.", +"type": "string" +}, +"networkTier": { +"description": "Optional. This signifies the networking tier used for configuring this access", +"enum": [ +"NETWORK_TIER_UNSPECIFIED", +"PREMIUM", +"STANDARD" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"High quality, Google-grade network tier, support for all networking products.", +"Public internet quality, only limited support for other networking products." +], +"type": "string" +}, +"publicPtrDomainName": { +"description": "Optional. The DNS domain name for the public PTR record.", +"type": "string" +}, +"setPublicPtr": { +"description": "Optional. Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name.", +"type": "boolean" +}, +"type": { +"description": "Optional. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", +"enum": [ +"ACCESS_TYPE_UNSPECIFIED", +"ONE_TO_ONE_NAT", +"DIRECT_IPV6" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"ONE_TO_ONE_NAT", +"Direct IPv6 access." +], +"type": "string" +} +}, +"type": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features.", +"id": "AdvancedMachineFeatures", +"properties": { +"enableNestedVirtualization": { +"description": "Optional. Whether to enable nested virtualization or not (default is false).", +"type": "boolean" +}, +"enableUefiNetworking": { +"description": "Optional. Whether to enable UEFI networking for instance creation.", +"type": "boolean" +}, +"threadsPerCore": { +"description": "Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", +"format": "int32", +"type": "integer" +}, +"visibleCoreCount": { +"description": "Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AliasIpRange": { +"description": "An alias IP range attached to an instance's network interface.", +"id": "AliasIpRange", +"properties": { +"ipCidrRange": { +"description": "Optional. The IP alias ranges to allocate for this interface.", +"type": "string" +}, +"subnetworkRangeName": { +"description": "Optional. The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", +"type": "string" +} +}, +"type": "object" +}, +"AllocationAffinity": { +"description": "Specifies the reservations that this instance can consume from.", +"id": "AllocationAffinity", +"properties": { +"consumeReservationType": { +"description": "Optional. Specifies the type of reservation from which this instance can consume", +"enum": [ +"TYPE_UNSPECIFIED", +"NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Do not consume from any allocated capacity.", -"Consume any allocation available.", -"Must consume from a specific reservation. Must specify key value fields for specifying the reservations." +"Default value. This value is unused.", +"Do not consume from any allocated capacity.", +"Consume any allocation available.", +"Must consume from a specific reservation. Must specify key value fields for specifying the reservations." +], +"type": "string" +}, +"key": { +"description": "Optional. Corresponds to the label key of a reservation resource.", +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of a reservation resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AlloyDBClusterBackupPlanAssociationProperties": { +"description": "Properties for an AlloyDB cluster backup plan association.", +"id": "AlloyDBClusterBackupPlanAssociationProperties", +"properties": { +"clusterUid": { +"description": "Output only. The cluster UID of the AlloyDB cluster.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AlloyDBClusterDataSourceProperties": { +"description": "AlloyDBClusterDataSourceProperties represents the properties of a AlloyDB cluster resource that are stored in the DataSource. .", +"id": "AlloyDBClusterDataSourceProperties", +"properties": { +"clusterUid": { +"description": "Output only. The cluster UID of the AlloyDB cluster backed up by the datasource.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the AlloyDB cluster backed up by the datasource.", +"readOnly": true, +"type": "string" +}, +"pitrWindows": { +"description": "Output only. Point in time recovery windows. The order is guaranteed to be ascending by start time.", +"items": { +"$ref": "AlloyDbPitrWindow" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"AlloyDBClusterDataSourceReferenceProperties": { +"description": "AlloyDBClusterDataSourceReferenceProperties represents the properties of an AlloyDB cluster that are stored in the DataSourceReference.", +"id": "AlloyDBClusterDataSourceReferenceProperties", +"properties": { +"name": { +"description": "Output only. Name of the AlloyDB cluster backed up by the datasource. Format: projects/{project}/locations/{location}/clusters/{cluster}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AlloyDbClusterBackupProperties": { +"description": "AlloyDbClusterBackupProperties represents AlloyDB cluster backup properties. .", +"id": "AlloyDbClusterBackupProperties", +"properties": { +"chainId": { +"description": "Output only. The chain id of this backup. Backups belonging to the same chain are sharing the same chain id. This property is calculated and maintained by BackupDR.", +"readOnly": true, +"type": "string" +}, +"databaseVersion": { +"description": "Output only. The PostgreSQL major version of the AlloyDB cluster when the backup was taken.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "An optional text description for the backup.", +"type": "string" +}, +"storedBytes": { +"description": "Output only. Storage usage of this particular backup", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AlloyDbPitrWindow": { +"description": "Point in time recovery window for an AlloyDB cluster.", +"id": "AlloyDbPitrWindow", +"properties": { +"endTime": { +"description": "Output only. The end time of the PITR window. It is not set if the corresponding Backup Plan Association is active.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"logRetentionDays": { +"description": "Output only. Log retention days for the PITR window.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The start time of the PITR window.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AppliedAutoProtectionPolicy": { +"description": "AppliedAutoProtectionPolicy is a read-only view of AutoProtectionPolicy and AutoProtectionPolicyBinding resources that apply to a given workload project.", +"id": "AppliedAutoProtectionPolicy", +"properties": { +"backupPlanDetails": { +"description": "Output only. The set of backup plan configurations, mirroring the backup_plan_details from the source AutoProtectionPolicy. Each element specifies a backup plan for a given resource type.", +"items": { +"$ref": "BackupPlanDetail" +}, +"readOnly": true, +"type": "array" +}, +"bindingEvaluationSummary": { +"$ref": "BindingEvaluationSummary", +"description": "Output only. The summary of the last policy application when the job has run.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Timestamp indicating when the binding was last created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"criteria": { +"$ref": "Criteria", +"description": "Output only. The criteria resources must meet for this rule to apply. From AutoProtectionPolicy.criteria.", +"readOnly": true +}, +"name": { +"description": "Identifier. Canonical resource name. Format: projects/{workload-project-number}/locations/{location}/appliedAutoProtectionPolicies/{id}.", +"type": "string" +}, +"sourceBinding": { +"description": "Output only. The full resource name of the AutoProtectionPolicyBinding that applies the source policy to a scope including this workload project. e.g., projects/{admin-project}/locations/{location}/autoProtectionPolicies/{policy_id}/autoProtectionPolicyBindings/{binding_id}.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of the applied auto protection policy.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETION_INITIATED" +], +"enumDescriptions": [ +"State is not specified.", +"The policy is in the process of being applied.", +"The policy has been applied and is active.", +"The policy is in the process of being removed." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp indicating when the binding was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AttachedDisk": { +"description": "An instance-attached disk resource.", +"id": "AttachedDisk", +"properties": { +"autoDelete": { +"description": "Optional. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", +"type": "boolean" +}, +"boot": { +"description": "Optional. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", +"type": "boolean" +}, +"deviceName": { +"description": "Optional. This is used as an identifier for the disks. This is the unique name has to provided to modify disk parameters like disk_name and replica_zones (in case of RePDs)", +"type": "string" +}, +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Encrypts or decrypts a disk using a customer-supplied encryption key." +}, +"diskInterface": { +"description": "Optional. Specifies the disk interface to use for attaching this disk.", +"enum": [ +"DISK_INTERFACE_UNSPECIFIED", +"SCSI", +"NVME", +"NVDIMM", +"ISCSI" +], +"enumDescriptions": [ +"Default value, which is unused.", +"SCSI Disk Interface.", +"NVME Disk Interface.", +"NVDIMM Disk Interface.", +"ISCSI Disk Interface." +], +"type": "string" +}, +"diskSizeGb": { +"description": "Optional. The size of the disk in GB.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Optional. Output only. The URI of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", +"readOnly": true, +"type": "string" +}, +"diskTypeDeprecated": { +"deprecated": true, +"description": "Specifies the type of the disk.", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"SCRATCH", +"PERSISTENT" +], +"enumDescriptions": [ +"Default value, which is unused.", +"A scratch disk type.", +"A persistent disk type." +], +"type": "string" +}, +"guestOsFeature": { +"description": "Optional. A list of features to enable on the guest operating system. Applicable only for bootable images.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"index": { +"description": "Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.", +"format": "int64", +"type": "string" +}, +"initializeParams": { +"$ref": "InitializeParams", +"description": "Optional. Specifies the parameters to initialize this disk." +}, +"kind": { +"description": "Optional. Type of the resource.", +"type": "string" +}, +"license": { +"description": "Optional. Any valid publicly visible licenses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "Optional. The mode in which to attach this disk.", +"enum": [ +"DISK_MODE_UNSPECIFIED", +"READ_WRITE", +"READ_ONLY", +"LOCKED" +], +"enumDescriptions": [ +"Default value, which is unused.", +"Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode.", +"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", +"The disk is locked for administrative reasons. Nobody else can use the disk. This mode is used (for example) when taking a snapshot of a disk to prevent mounting the disk while it is being snapshotted." +], +"type": "string" +}, +"savedState": { +"description": "Optional. Output only. The state of the disk.", +"enum": [ +"DISK_SAVED_STATE_UNSPECIFIED", +"PRESERVED" +], +"enumDescriptions": [ +"Default Disk state has not been preserved.", +"Disk state has been preserved." +], +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.", +"type": "string" +}, +"type": { +"description": "Optional. Specifies the type of the disk.", +"enum": [ +"DISK_TYPE_UNSPECIFIED", +"SCRATCH", +"PERSISTENT" +], +"enumDescriptions": [ +"Default value, which is unused.", +"A scratch disk type.", +"A persistent disk type." +], +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"AutoProtectionDetails": { +"description": "AutoProtectionDetails contains the protection details of a resource from the current binding's perspective.", +"id": "AutoProtectionDetails", +"properties": { +"backupPlanAssociation": { +"description": "Output only. Resource name of backup plan association linked to the resource, if any. Format: projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", +"readOnly": true, +"type": "string" +}, +"dataSource": { +"description": "Output only. Resource name of the datasource linked to the resource, if any. Format: projects/{project}/locations/{location}/backupVaults/{backupVaultId}/dataSources/{dataSourceId}", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Error during last sync for protection/unprotection, if any.", +"readOnly": true +}, +"state": { +"description": "Output only. Protection state of the resource from the current binding's perspective. Output only.", +"enum": [ +"STATE_UNSPECIFIED", +"PROTECTED", +"PROTECTION_FAILED", +"UNPROTECTING", +"UNPROTECTION_FAILED" +], +"enumDescriptions": [ +"State unspecified.", +"Resource is protected.", +"Resource protection failed.", +"Resource is being unprotected.", +"Resource unprotection failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AutoProtectionPolicy": { +"description": "An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.", +"id": "AutoProtectionPolicy", +"properties": { +"backupPlanDetails": { +"description": "Required. The backup plan details for matching resources.", +"items": { +"$ref": "BackupPlanDetail" +}, +"type": "array" +}, +"bindingSummary": { +"$ref": "BindingSummary", +"description": "Output only. Summary of total count of different containers covered through this policy.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The timestamp when the policy was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"criteria": { +"$ref": "Criteria", +"description": "Required. The criteria for matching resources." +}, +"description": { +"description": "Optional. A description of the policy. The description must be at most 2048 characters.", +"type": "string" +}, +"etag": { +"description": "Output only. The etag for the policy. If this is provided on update, it must match the server's etag, otherwise the request will be rejected with an ABORTED error.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`", +"readOnly": true, +"type": "string" +}, +"policyEvaluationSummary": { +"$ref": "PolicyEvaluationSummary", +"description": "Output only. Summary of last policy application when job was run per workload type.", +"readOnly": true +}, +"state": { +"description": "Output only. The current state of the AutoprotectionPolicy.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"UPDATING", +"DELETING" +], +"enumDescriptions": [ +"The state of the policy is unspecified.", +"The policy is being created.", +"The policy is active and protecting matching resources.", +"The policy is being updated.", +"The policy is being deleted." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the policy was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AutoProtectionPolicyBinding": { +"description": "An AutoprotectionPolicyBinding (APPA) acts as the bridge between an AutoprotectionPolicy and the scope (Project, Folder, or Organization) where the policy should be applied.", +"id": "AutoProtectionPolicyBinding", +"properties": { +"bindingEvaluationSummary": { +"$ref": "BindingEvaluationSummary", +"description": "Output only. Summaries of the last policy application when the job has run, with one entry per resource type specified in the AutoProtectionPolicy.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The timestamp when the binding was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. A description of the binding. The description must be at most 2048 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. Output only. The etag for the binding. If this is provided on update, it must match the server's etag.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The resource name of the AutoProtectionPolicyBinding. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}`", +"readOnly": true, +"type": "string" +}, +"scope": { +"description": "Required. Immutable. Resource Id of target container on which policy will be applied. Format: projects/{project_id}", +"type": "string" +}, +"state": { +"description": "Output only. The current state of the AutoProtectionPolicyBinding.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETION_INITIATED" +], +"enumDescriptions": [ +"The state of the binding is unspecified.", +"The binding is being created.", +"The binding is active.", +"The binding deletion is initiated." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the binding was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Backup": { +"description": "Message describing a Backup object.", +"id": "Backup", +"properties": { +"alloyDbBackupProperties": { +"$ref": "AlloyDbClusterBackupProperties", +"description": "Output only. AlloyDB specific backup properties.", +"readOnly": true +}, +"backupApplianceBackupProperties": { +"$ref": "BackupApplianceBackupProperties", +"description": "Output only. Backup Appliance specific backup properties.", +"readOnly": true +}, +"backupApplianceLocks": { +"description": "Optional. The list of BackupLocks taken by the accessor Backup Appliance.", +"items": { +"$ref": "BackupLock" +}, +"type": "array" +}, +"backupRetentionInheritance": { +"description": "Output only. Setting for how the enforced retention end time is inherited. This value is copied from this backup's BackupVault.", +"enum": [ +"BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", +"INHERIT_VAULT_RETENTION", +"MATCH_BACKUP_EXPIRE_TIME" +], +"enumDescriptions": [ +"Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", +"The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", +"The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." +], +"readOnly": true, +"type": "string" +}, +"backupType": { +"description": "Output only. Type of the backup, unspecified, scheduled or ondemand.", +"enum": [ +"BACKUP_TYPE_UNSPECIFIED", +"SCHEDULED", +"ON_DEMAND", +"ON_DEMAND_OPERATIONAL" +], +"enumDescriptions": [ +"Backup type is unspecified.", +"Scheduled backup.", +"On demand backup.", +"Operational backup." ], +"readOnly": true, "type": "string" }, -"key": { -"description": "Optional. Corresponds to the label key of a reservation resource.", -"type": "string" +"cloudSqlInstanceBackupProperties": { +"$ref": "CloudSqlInstanceBackupProperties", +"description": "Output only. Cloud SQL specific backup properties.", +"readOnly": true }, -"values": { -"description": "Optional. Corresponds to the label values of a reservation resource.", -"items": { -"type": "string" +"computeInstanceBackupProperties": { +"$ref": "ComputeInstanceBackupProperties", +"description": "Output only. Compute Engine specific backup properties.", +"readOnly": true }, -"type": "array" -} +"consistencyTime": { +"description": "Output only. The point in time when this backup was captured from the source.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"type": "object" +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"AlloyDBClusterBackupPlanAssociationProperties": { -"description": "Properties for an AlloyDB cluster backup plan association.", -"id": "AlloyDBClusterBackupPlanAssociationProperties", -"properties": { -"clusterUid": { -"description": "Output only. The cluster UID of the AlloyDB cluster.", +"description": { +"description": "Output only. The description of the Backup instance (2048 characters or less).", "readOnly": true, "type": "string" -} }, -"type": "object" +"diskBackupProperties": { +"$ref": "DiskBackupProperties", +"description": "Output only. Disk specific backup properties.", +"readOnly": true }, -"AlloyDBClusterDataSourceProperties": { -"description": "AlloyDBClusterDataSourceProperties represents the properties of a AlloyDB cluster resource that are stored in the DataSource. .", -"id": "AlloyDBClusterDataSourceProperties", -"properties": { -"clusterUid": { -"description": "Output only. The cluster UID of the AlloyDB cluster backed up by the datasource.", -"readOnly": true, +"enforcedRetentionEndTime": { +"description": "Optional. The backup can not be deleted before this time.", +"format": "google-datetime", "type": "string" }, -"name": { -"description": "Output only. Name of the AlloyDB cluster backed up by the datasource.", -"readOnly": true, +"etag": { +"description": "Optional. Server specified ETag to prevent updates from overwriting each other.", "type": "string" }, -"pitrWindows": { -"description": "Output only. Point in time recovery windows. The order is guaranteed to be ascending by start time.", +"expireTime": { +"description": "Optional. When this backup is automatically expired.", +"format": "google-datetime", +"type": "string" +}, +"filestoreInstanceBackupProperties": { +"$ref": "FilestoreInstanceBackupProperties", +"description": "Output only. Filestore specific backup properties.", +"readOnly": true +}, +"gcpBackupPlanInfo": { +"$ref": "GCPBackupPlanInfo", +"description": "Output only. Configuration for a Google Cloud resource.", +"readOnly": true +}, +"gcpResource": { +"$ref": "BackupGcpResource", +"description": "Output only. Unique identifier of the GCP resource that is being backed up.", +"readOnly": true +}, +"kmsKeyVersions": { +"description": "Optional. Output only. The list of KMS key versions used to encrypt the backup.", "items": { -"$ref": "AlloyDbPitrWindow" +"type": "string" }, "readOnly": true, "type": "array" -} }, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined.", "type": "object" }, -"AlloyDBClusterDataSourceReferenceProperties": { -"description": "AlloyDBClusterDataSourceReferenceProperties represents the properties of an AlloyDB cluster that are stored in the DataSourceReference.", -"id": "AlloyDBClusterDataSourceReferenceProperties", -"properties": { "name": { -"description": "Output only. Name of the AlloyDB cluster backed up by the datasource. Format: projects/{project}/locations/{location}/clusters/{cluster}", +"description": "Output only. Identifier. Name of the backup to create. It must have the format`\"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}\"`. `{backup}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource.", "readOnly": true, "type": "string" -} }, -"type": "object" +"netappVolumeBackupProperties": { +"$ref": "NetAppVolumeBackupProperties", +"description": "Output only. NetApp Volume specific backup properties.", +"readOnly": true }, -"AlloyDbClusterBackupProperties": { -"description": "AlloyDbClusterBackupProperties represents AlloyDB cluster backup properties. .", -"id": "AlloyDbClusterBackupProperties", -"properties": { -"chainId": { -"description": "Output only. The chain id of this backup. Backups belonging to the same chain are sharing the same chain id. This property is calculated and maintained by BackupDR.", +"resourceSizeBytes": { +"description": "Output only. source resource size in bytes at the time of the backup.", +"format": "int64", "readOnly": true, "type": "string" }, -"databaseVersion": { -"description": "Output only. The PostgreSQL major version of the AlloyDB cluster when the backup was taken.", +"satisfiesPzi": { +"description": "Optional. Output only. Reserved for future use.", "readOnly": true, -"type": "string" -}, -"description": { -"description": "An optional text description for the backup.", -"type": "string" +"type": "boolean" }, -"storedBytes": { -"description": "Output only. Storage usage of this particular backup", -"format": "int64", +"satisfiesPzs": { +"description": "Optional. Output only. Reserved for future use.", "readOnly": true, -"type": "string" -} +"type": "boolean" }, -"type": "object" +"serviceLocks": { +"description": "Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup.", +"items": { +"$ref": "BackupLock" }, -"AlloyDbPitrWindow": { -"description": "Point in time recovery window for an AlloyDB cluster.", -"id": "AlloyDbPitrWindow", -"properties": { -"endTime": { -"description": "Output only. The end time of the PITR window. It is not set if the corresponding Backup Plan Association is active.", -"format": "google-datetime", "readOnly": true, -"type": "string" +"type": "array" }, -"logRetentionDays": { -"description": "Output only. Log retention days for the PITR window.", -"format": "int64", +"state": { +"description": "Output only. The Backup resource instance state.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"ERROR", +"UPLOADING" +], +"enumDescriptions": [ +"State not set.", +"The backup is being created.", +"The backup has been created and is fully usable.", +"The backup is being deleted.", +"The backup is experiencing an issue and might be unusable.", +"The backup is being uploaded." +], "readOnly": true, "type": "string" }, -"startTime": { -"description": "Output only. The start time of the PITR window.", +"updateTime": { +"description": "Output only. The time when the instance was updated.", "format": "google-datetime", "readOnly": true, "type": "string" +}, +"verificationSummary": { +"$ref": "VerificationSummary", +"description": "Output only. The restore verification status of the backup.", +"readOnly": true } }, "type": "object" }, -"AppliedAutoProtectionPolicy": { -"description": "AppliedAutoProtectionPolicy is a read-only view of AutoProtectionPolicy and AutoProtectionPolicyBinding resources that apply to a given workload project.", -"id": "AppliedAutoProtectionPolicy", +"BackupApplianceBackupConfig": { +"description": "BackupApplianceBackupConfig captures the backup configuration for applications that are protected by Backup Appliances.", +"id": "BackupApplianceBackupConfig", "properties": { -"backupPlanDetails": { -"description": "Output only. The set of backup plan configurations, mirroring the backup_plan_details from the source AutoProtectionPolicy. Each element specifies a backup plan for a given resource type.", -"items": { -"$ref": "BackupPlanDetail" +"applicationName": { +"description": "The name of the application.", +"type": "string" }, -"readOnly": true, -"type": "array" +"backupApplianceId": { +"description": "The ID of the backup appliance.", +"format": "int64", +"type": "string" }, -"bindingEvaluationSummary": { -"$ref": "BindingEvaluationSummary", -"description": "Output only. The summary of the last policy application when the job has run.", -"readOnly": true +"backupApplianceName": { +"description": "The name of the backup appliance.", +"type": "string" }, -"createTime": { -"description": "Output only. Timestamp indicating when the binding was last created.", -"format": "google-datetime", -"readOnly": true, +"hostName": { +"description": "The name of the host where the application is running.", "type": "string" }, -"criteria": { -"$ref": "Criteria", -"description": "Output only. The criteria resources must meet for this rule to apply. From AutoProtectionPolicy.criteria.", -"readOnly": true +"slaId": { +"description": "The ID of the SLA of this application.", +"format": "int64", +"type": "string" }, -"name": { -"description": "Identifier. Canonical resource name. Format: projects/{workload-project-number}/locations/{location}/appliedAutoProtectionPolicies/{id}.", +"slpName": { +"description": "The name of the SLP associated with the application.", "type": "string" }, -"sourceBinding": { -"description": "Output only. The full resource name of the AutoProtectionPolicyBinding that applies the source policy to a scope including this workload project. e.g., projects/{admin-project}/locations/{location}/autoProtectionPolicies/{policy_id}/autoProtectionPolicyBindings/{binding_id}.", +"sltName": { +"description": "The name of the SLT associated with the application.", +"type": "string" +} +}, +"type": "object" +}, +"BackupApplianceBackupProperties": { +"description": "BackupApplianceBackupProperties represents BackupDR backup appliance's properties.", +"id": "BackupApplianceBackupProperties", +"properties": { +"finalizeTime": { +"description": "Output only. The time when this backup object was finalized (if none, backup is not finalized).", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"status": { -"description": "Output only. The status of the applied auto protection policy.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETION_INITIATED" -], -"enumDescriptions": [ -"State is not specified.", -"The policy is in the process of being applied.", -"The policy has been applied and is active.", -"The policy is in the process of being removed." -], +"generationId": { +"description": "Output only. The numeric generation ID of the backup (monotonically increasing).", +"format": "int32", "readOnly": true, +"type": "integer" +}, +"recoveryRangeEndTime": { +"description": "Optional. The latest timestamp of data available in this Backup.", +"format": "google-datetime", "type": "string" }, -"updateTime": { -"description": "Output only. Timestamp indicating when the binding was last modified.", +"recoveryRangeStartTime": { +"description": "Optional. The earliest timestamp of data available in this Backup.", "format": "google-datetime", -"readOnly": true, "type": "string" } }, "type": "object" }, -"AttachedDisk": { -"description": "An instance-attached disk resource.", -"id": "AttachedDisk", +"BackupApplianceLockInfo": { +"description": "BackupApplianceLockInfo contains metadata about the backupappliance that created the lock.", +"id": "BackupApplianceLockInfo", "properties": { -"autoDelete": { -"description": "Optional. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", -"type": "boolean" +"backupApplianceId": { +"description": "Required. The ID of the backup/recovery appliance that created this lock.", +"format": "int64", +"type": "string" }, -"boot": { -"description": "Optional. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", -"type": "boolean" +"backupApplianceName": { +"description": "Required. The name of the backup/recovery appliance that created this lock.", +"type": "string" }, -"deviceName": { -"description": "Optional. This is used as an identifier for the disks. This is the unique name has to provided to modify disk parameters like disk_name and replica_zones (in case of RePDs)", +"backupImage": { +"description": "The image name that depends on this Backup.", "type": "string" }, -"diskEncryptionKey": { -"$ref": "CustomerEncryptionKey", -"description": "Optional. Encrypts or decrypts a disk using a customer-supplied encryption key." +"jobName": { +"description": "The job name on the backup/recovery appliance that created this lock.", +"type": "string" }, -"diskInterface": { -"description": "Optional. Specifies the disk interface to use for attaching this disk.", -"enum": [ -"DISK_INTERFACE_UNSPECIFIED", -"SCSI", -"NVME", -"NVDIMM", -"ISCSI" -], -"enumDescriptions": [ -"Default value, which is unused.", -"SCSI Disk Interface.", -"NVME Disk Interface.", -"NVDIMM Disk Interface.", -"ISCSI Disk Interface." -], +"lockReason": { +"description": "Required. The reason for the lock: e.g. MOUNT/RESTORE/BACKUP/etc. The value of this string is only meaningful to the client and it is not interpreted by the BackupVault service.", "type": "string" }, -"diskSizeGb": { -"description": "Optional. The size of the disk in GB.", +"slaId": { +"description": "The SLA on the backup/recovery appliance that owns the lock.", "format": "int64", "type": "string" +} }, -"diskType": { -"description": "Optional. Output only. The URI of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", +"type": "object" +}, +"BackupConfigDetails": { +"description": "BackupConfigDetails has information about how the resource is configured for backups and about the most recent backup taken for this configuration.", +"id": "BackupConfigDetails", +"properties": { +"applicableResource": { +"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource that is applicable for the backup configuration. Example: \"//compute.googleapis.com/projects/{project}/zones/{zone}/instances/{instance}\"", "readOnly": true, "type": "string" }, -"diskTypeDeprecated": { -"deprecated": true, -"description": "Specifies the type of the disk.", -"enum": [ -"DISK_TYPE_UNSPECIFIED", -"SCRATCH", -"PERSISTENT" -], -"enumDescriptions": [ -"Default value, which is unused.", -"A scratch disk type.", -"A persistent disk type." -], +"backupConfigSource": { +"description": "Output only. The full resource name of the backup config source resource. For example, \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupPlans/{backupplanId}\" or \"//compute.googleapis.com/projects/{project}/locations/{region}/resourcePolicies/{resourcePolicyId}\".", +"readOnly": true, "type": "string" }, -"guestOsFeature": { -"description": "Optional. A list of features to enable on the guest operating system. Applicable only for bootable images.", -"items": { -"$ref": "GuestOsFeature" +"backupConfigSourceDisplayName": { +"description": "Output only. The display name of the backup config source resource.", +"readOnly": true, +"type": "string" }, -"type": "array" +"backupDrPlanConfig": { +"$ref": "BackupDrPlanConfig", +"description": "Google Cloud Backup and DR's Backup Plan specific data." }, -"index": { -"description": "Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.", -"format": "int64", -"type": "string" +"backupDrTemplateConfig": { +"$ref": "BackupDrTemplateConfig", +"description": "Google Cloud Backup and DR's Template specific data." }, -"initializeParams": { -"$ref": "InitializeParams", -"description": "Optional. Specifies the parameters to initialize this disk." +"backupLocations": { +"description": "The locations where the backups are to be stored.", +"items": { +"$ref": "BackupLocation" }, -"kind": { -"description": "Optional. Type of the resource.", +"type": "array" +}, +"backupVault": { +"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the backup vault that will store the backups generated through this backup configuration. Example: \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupVaults/{backupvaultId}\"", +"readOnly": true, "type": "string" }, -"license": { -"description": "Optional. Any valid publicly visible licenses.", -"items": { +"latestSuccessfulBackupTime": { +"description": "Output only. Timestamp of the latest successful backup created via this backup configuration.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"type": "array" +"pitrSettings": { +"$ref": "PitrSettings", +"description": "Output only. Point in time recovery settings of the backup configuration resource.", +"readOnly": true }, -"mode": { -"description": "Optional. The mode in which to attach this disk.", +"state": { +"description": "Output only. The state of the backup config resource.", "enum": [ -"DISK_MODE_UNSPECIFIED", -"READ_WRITE", -"READ_ONLY", -"LOCKED" +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE", +"ERROR" ], "enumDescriptions": [ -"Default value, which is unused.", -"Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode.", -"Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", -"The disk is locked for administrative reasons. Nobody else can use the disk. This mode is used (for example) when taking a snapshot of a disk to prevent mounting the disk while it is being snapshotted." +"Backup config state not set.", +"The config is in an active state protecting the resource", +"The config is currently not protecting the resource. Either because it is disabled or the owning project has been deleted without cleanup of the actual resource.", +"The config still exists but because of some error state it is not protecting the resource. Like the source project is deleted. For eg. PlanAssociation, BackupPlan is deleted." ], +"readOnly": true, "type": "string" }, -"savedState": { -"description": "Optional. Output only. The state of the disk.", +"type": { +"description": "Output only. The type of the backup config resource.", "enum": [ -"DISK_SAVED_STATE_UNSPECIFIED", -"PRESERVED" +"TYPE_UNSPECIFIED", +"CLOUD_SQL_INSTANCE_BACKUP_CONFIG", +"COMPUTE_ENGINE_RESOURCE_POLICY", +"BACKUPDR_BACKUP_PLAN", +"BACKUPDR_TEMPLATE" ], "enumDescriptions": [ -"Default Disk state has not been preserved.", -"Disk state has been preserved." +"Backup config type is unspecified.", +"Backup config is Cloud SQL instance's automated backup config.", +"Backup config is Compute Engine Resource Policy.", +"Backup config is Google Cloud Backup and DR's Backup Plan.", +"Backup config is Google Cloud Backup and DR's Template." ], "readOnly": true, "type": "string" +} }, -"source": { -"description": "Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.", -"type": "string" +"type": "object" }, -"type": { -"description": "Optional. Specifies the type of the disk.", +"BackupConfigInfo": { +"description": "BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault.", +"id": "BackupConfigInfo", +"properties": { +"backupApplianceBackupConfig": { +"$ref": "BackupApplianceBackupConfig", +"description": "Configuration for an application backed up by a Backup Appliance." +}, +"gcpBackupConfig": { +"$ref": "GcpBackupConfig", +"description": "Configuration for a Google Cloud resource." +}, +"lastBackupError": { +"$ref": "Status", +"description": "Output only. If the last backup failed, this field has the error message.", +"readOnly": true +}, +"lastBackupState": { +"description": "Output only. The status of the last backup to this BackupVault", "enum": [ -"DISK_TYPE_UNSPECIFIED", -"SCRATCH", -"PERSISTENT" +"LAST_BACKUP_STATE_UNSPECIFIED", +"FIRST_BACKUP_PENDING", +"SUCCEEDED", +"FAILED", +"PERMISSION_DENIED" ], "enumDescriptions": [ -"Default value, which is unused.", -"A scratch disk type.", -"A persistent disk type." +"Status not set.", +"The first backup has not yet completed", +"The most recent backup was successful", +"The most recent backup failed", +"The most recent backup could not be run/failed because of the lack of permissions" ], +"readOnly": true, +"type": "string" +}, +"lastSuccessfulBackupConsistencyTime": { +"description": "Output only. If the last backup were successful, this field has the consistency date.", +"format": "google-datetime", +"readOnly": true, "type": "string" } }, "type": "object" }, -"AuditConfig": { -"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", -"id": "AuditConfig", +"BackupDrPlanConfig": { +"description": "BackupDrPlanConfig has additional information about Google Cloud Backup and DR's Plan backup configuration.", +"id": "BackupDrPlanConfig", "properties": { -"auditLogConfigs": { -"description": "The configuration for logging of each type of permission.", +"backupDrPlanRules": { +"description": "Backup rules of the backup plan resource.", "items": { -"$ref": "AuditLogConfig" +"$ref": "BackupDrPlanRule" }, "type": "array" +} +}, +"type": "object" +}, +"BackupDrPlanRule": { +"description": "BackupDrPlanRule has rule specific information of the backup plan resource.", +"id": "BackupDrPlanRule", +"properties": { +"lastSuccessfulBackupTime": { +"description": "Output only. Timestamp of the latest successful backup created via this backup rule.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"ruleId": { +"description": "Output only. Unique Id of the backup rule.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupDrTemplateConfig": { +"description": "Provides additional information about Google Cloud Backup and DR's Template backup configuration.", +"id": "BackupDrTemplateConfig", +"properties": { +"firstPartyManagementUri": { +"description": "Output only. The URI of the BackupDr template resource for the first party identity users.", +"readOnly": true, +"type": "string" }, -"service": { -"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"thirdPartyManagementUri": { +"description": "Output only. The URI of the BackupDr template resource for the third party identity users.", +"readOnly": true, "type": "string" } }, "type": "object" }, -"AuditLogConfig": { -"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", -"id": "AuditLogConfig", +"BackupGcpResource": { +"description": "Minimum details to identify a Google Cloud resource for a backup.", +"id": "BackupGcpResource", "properties": { -"exemptedMembers": { -"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", -"items": { +"gcpResourcename": { +"description": "Name of the Google Cloud resource.", "type": "string" }, -"type": "array" +"location": { +"description": "Location of the resource: //\"global\"/\"unspecified\".", +"type": "string" }, -"logType": { -"description": "The log type that this config enables.", -"enum": [ -"LOG_TYPE_UNSPECIFIED", -"ADMIN_READ", -"DATA_WRITE", -"DATA_READ" -], -"enumDescriptions": [ -"Default case. Should never be this.", -"Admin reads. Example: CloudIAM getIamPolicy", -"Data writes. Example: CloudSQL Users create", -"Data reads. Example: CloudSQL Users list" -], +"type": { +"description": "Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", "type": "string" } }, "type": "object" }, -"AutoProtectionDetails": { -"description": "AutoProtectionDetails contains the protection details of a resource from the current binding's perspective.", -"id": "AutoProtectionDetails", +"BackupLocation": { +"description": "BackupLocation represents a cloud location where a backup can be stored.", +"id": "BackupLocation", "properties": { -"backupPlanAssociation": { -"description": "Output only. Resource name of backup plan association linked to the resource, if any. Format: projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", -"readOnly": true, -"type": "string" -}, -"dataSource": { -"description": "Output only. Resource name of the datasource linked to the resource, if any. Format: projects/{project}/locations/{location}/backupVaults/{backupVaultId}/dataSources/{dataSourceId}", +"locationId": { +"description": "Output only. The id of the cloud location. Example: \"us-central1\"", "readOnly": true, "type": "string" }, -"error": { -"$ref": "Status", -"description": "Output only. Error during last sync for protection/unprotection, if any.", -"readOnly": true -}, -"state": { -"description": "Output only. Protection state of the resource from the current binding's perspective. Output only.", +"type": { +"description": "Output only. The type of the location.", "enum": [ -"STATE_UNSPECIFIED", -"PROTECTED", -"PROTECTION_FAILED", -"UNPROTECTING", -"UNPROTECTION_FAILED" +"TYPE_UNSPECIFIED", +"ZONAL", +"REGIONAL", +"MULTI_REGIONAL" ], "enumDescriptions": [ -"State unspecified.", -"Resource is protected.", -"Resource protection failed.", -"Resource is being unprotected.", -"Resource unprotection failed." +"Location type is unspecified.", +"Location type is zonal.", +"Location type is regional.", +"Location type is multi regional." ], "readOnly": true, "type": "string" @@ -3756,316 +5078,237 @@ }, "type": "object" }, -"AutoProtectionPolicy": { -"description": "An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.", -"id": "AutoProtectionPolicy", +"BackupLock": { +"description": "BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted.", +"id": "BackupLock", "properties": { -"backupPlanDetails": { -"description": "Required. The backup plan details for matching resources.", -"items": { -"$ref": "BackupPlanDetail" -}, -"type": "array" -}, -"bindingSummary": { -"$ref": "BindingSummary", -"description": "Output only. Summary of total count of different containers covered through this policy.", -"readOnly": true +"backupApplianceLockInfo": { +"$ref": "BackupApplianceLockInfo", +"description": "If the client is a backup and recovery appliance, this contains metadata about why the lock exists." }, -"createTime": { -"description": "Output only. The timestamp when the policy was created.", +"lockUntilTime": { +"description": "Required. The time after which this lock is not considered valid and will no longer protect the Backup from deletion.", "format": "google-datetime", -"readOnly": true, "type": "string" }, -"criteria": { -"$ref": "Criteria", -"description": "Required. The criteria for matching resources." -}, -"description": { -"description": "Optional. A description of the policy. The description must be at most 2048 characters.", -"type": "string" +"serviceLockInfo": { +"$ref": "ServiceLockInfo", +"description": "Output only. Contains metadata about the lock exist for Google Cloud native backups.", +"readOnly": true +} }, -"etag": { -"description": "Output only. The etag for the policy. If this is provided on update, it must match the server's etag, otherwise the request will be rejected with an ABORTED error.", -"type": "string" +"type": "object" }, -"name": { -"description": "Output only. Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`", -"readOnly": true, -"type": "string" +"BackupPlan": { +"description": "A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.", +"id": "BackupPlan", +"properties": { +"backupRules": { +"description": "Optional. The backup rules for this `BackupPlan`.", +"items": { +"$ref": "BackupRule" }, -"policyEvaluationSummary": { -"$ref": "PolicyEvaluationSummary", -"description": "Output only. Summary of last policy application when job was run per workload type.", -"readOnly": true +"type": "array" }, -"state": { -"description": "Output only. The current state of the AutoprotectionPolicy.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"UPDATING", -"DELETING" -], -"enumDescriptions": [ -"The state of the policy is unspecified.", -"The policy is being created.", -"The policy is active and protecting matching resources.", -"The policy is being updated.", -"The policy is being deleted." -], -"readOnly": true, +"backupVault": { +"description": "Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}", "type": "string" }, -"updateTime": { -"description": "Output only. The timestamp when the policy was last updated.", -"format": "google-datetime", +"backupVaultServiceAccount": { +"description": "Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.", "readOnly": true, "type": "string" -} -}, -"type": "object" }, -"AutoProtectionPolicyBinding": { -"description": "An AutoprotectionPolicyBinding (APPA) acts as the bridge between an AutoprotectionPolicy and the scope (Project, Folder, or Organization) where the policy should be applied.", -"id": "AutoProtectionPolicyBinding", -"properties": { -"bindingEvaluationSummary": { -"$ref": "BindingEvaluationSummary", -"description": "Output only. Summaries of the last policy application when the job has run, with one entry per resource type specified in the AutoProtectionPolicy.", -"readOnly": true +"computeInstanceBackupPlanProperties": { +"$ref": "ComputeInstanceBackupPlanProperties", +"description": "Optional. Defines optional properties specific to backups of compute instance based resources, such as Compute Engine Instances. This includes settings like whether to perform a guest flush." }, "createTime": { -"description": "Output only. The timestamp when the binding was created.", +"description": "Output only. When the `BackupPlan` was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "Optional. A description of the binding. The description must be at most 2048 characters.", +"description": "Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: \"This is a backup plan that performs a daily backup at 6pm and retains data for 3 months\". The description must be at most 2048 characters.", "type": "string" }, +"diskBackupPlanProperties": { +"$ref": "DiskBackupPlanProperties", +"description": "Optional. Defines optional properties specific to backups of disk-based resources, such as Compute Engine Persistent Disks. This includes settings like whether to perform a guest flush." +}, "etag": { -"description": "Optional. Output only. The etag for the binding. If this is provided on update, it must match the server's etag.", +"description": "Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.", "type": "string" }, -"name": { -"description": "Output only. Identifier. The resource name of the AutoProtectionPolicyBinding. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}`", -"readOnly": true, +"labels": { +"additionalProperties": { "type": "string" }, -"scope": { -"description": "Required. Immutable. Resource Id of target container on which policy will be applied. Format: projects/{project_id}", -"type": "string" +"description": "Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {\"tag\": \"Weekly\"}.", +"type": "object" }, -"state": { -"description": "Output only. The current state of the AutoProtectionPolicyBinding.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETION_INITIATED" -], -"enumDescriptions": [ -"The state of the binding is unspecified.", -"The binding is being created.", -"The binding is active.", -"The binding deletion is initiated." -], -"readOnly": true, +"logRetentionDays": { +"description": "Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in \u201cdays\u201d. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.", +"format": "int64", "type": "string" }, -"updateTime": { -"description": "Output only. The timestamp when the binding was last updated.", -"format": "google-datetime", +"maxCustomOnDemandRetentionDays": { +"description": "Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", "readOnly": true, "type": "string" -} -}, -"type": "object" -}, -"Backup": { -"description": "Message describing a Backup object.", -"id": "Backup", -"properties": { -"alloyDbBackupProperties": { -"$ref": "AlloyDbClusterBackupProperties", -"description": "Output only. AlloyDB specific backup properties.", -"readOnly": true -}, -"backupApplianceBackupProperties": { -"$ref": "BackupApplianceBackupProperties", -"description": "Output only. Backup Appliance specific backup properties.", -"readOnly": true }, -"backupApplianceLocks": { -"description": "Optional. The list of BackupLocks taken by the accessor Backup Appliance.", -"items": { -"$ref": "BackupLock" +"resourceType": { +"description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\", \"sqladmin.googleapis.com/Instance\", \"alloydb.googleapis.com/Cluster\", \"compute.googleapis.com/Disk\".", +"type": "string" }, -"type": "array" +"revisionId": { +"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", +"readOnly": true, +"type": "string" }, -"backupRetentionInheritance": { -"description": "Output only. Setting for how the enforced retention end time is inherited. This value is copied from this backup's BackupVault.", -"enum": [ -"BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", -"INHERIT_VAULT_RETENTION", -"MATCH_BACKUP_EXPIRE_TIME" -], -"enumDescriptions": [ -"Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", -"The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", -"The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." -], +"revisionName": { +"description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", "readOnly": true, "type": "string" }, -"backupType": { -"description": "Output only. Type of the backup, unspecified, scheduled or ondemand.", +"state": { +"description": "Output only. The `State` for the `BackupPlan`.", "enum": [ -"BACKUP_TYPE_UNSPECIFIED", -"SCHEDULED", -"ON_DEMAND", -"ON_DEMAND_OPERATIONAL" +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE", +"UPDATING" ], "enumDescriptions": [ -"Backup type is unspecified.", -"Scheduled backup.", -"On demand backup.", -"Operational backup." +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated." ], "readOnly": true, "type": "string" }, -"cloudSqlInstanceBackupProperties": { -"$ref": "CloudSqlInstanceBackupProperties", -"description": "Output only. Cloud SQL specific backup properties.", -"readOnly": true -}, -"computeInstanceBackupProperties": { -"$ref": "ComputeInstanceBackupProperties", -"description": "Output only. Compute Engine specific backup properties.", -"readOnly": true +"supportedResourceTypes": { +"description": "Output only. All resource types to which backupPlan can be applied.", +"items": { +"type": "string" }, -"consistencyTime": { -"description": "Output only. The point in time when this backup was captured from the source.", -"format": "google-datetime", "readOnly": true, -"type": "string" +"type": "array" }, -"createTime": { -"description": "Output only. The time when the instance was created.", +"updateTime": { +"description": "Output only. When the `BackupPlan` was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" +} }, -"description": { -"description": "Output only. The description of the Backup instance (2048 characters or less).", -"readOnly": true, -"type": "string" +"type": "object" }, -"diskBackupProperties": { -"$ref": "DiskBackupProperties", -"description": "Output only. Disk specific backup properties.", +"BackupPlanAssociation": { +"description": "A BackupPlanAssociation represents a single BackupPlanAssociation which contains details like workload, backup plan etc", +"id": "BackupPlanAssociation", +"properties": { +"alloydbClusterBackupPlanAssociationProperties": { +"$ref": "AlloyDBClusterBackupPlanAssociationProperties", +"description": "Output only. AlloyDB cluster's backup plan association properties.", "readOnly": true }, -"enforcedRetentionEndTime": { -"description": "Optional. The backup can not be deleted before this time.", -"format": "google-datetime", +"autoProtectionPolicyBinding": { +"description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this association, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", +"readOnly": true, "type": "string" }, -"etag": { -"description": "Optional. Server specified ETag to prevent updates from overwriting each other.", +"backupPlan": { +"description": "Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", "type": "string" }, -"expireTime": { -"description": "Optional. When this backup is automatically expired.", -"format": "google-datetime", +"backupPlanRevisionId": { +"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", +"readOnly": true, "type": "string" }, -"filestoreInstanceBackupProperties": { -"$ref": "FilestoreInstanceBackupProperties", -"description": "Output only. Filestore specific backup properties.", -"readOnly": true -}, -"gcpBackupPlanInfo": { -"$ref": "GCPBackupPlanInfo", -"description": "Output only. Configuration for a Google Cloud resource.", -"readOnly": true +"backupPlanRevisionName": { +"description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", +"readOnly": true, +"type": "string" }, -"gcpResource": { -"$ref": "BackupGcpResource", -"description": "Output only. Unique identifier of the GCP resource that is being backed up.", +"cloudSqlInstanceBackupPlanAssociationProperties": { +"$ref": "CloudSqlInstanceBackupPlanAssociationProperties", +"description": "Output only. Cloud SQL instance's backup plan association properties.", "readOnly": true }, -"kmsKeyVersions": { -"description": "Optional. Output only. The list of KMS key versions used to encrypt the backup.", -"items": { +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, +"dataSource": { +"description": "Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}", "readOnly": true, -"type": "array" -}, -"labels": { -"additionalProperties": { "type": "string" }, -"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined.", -"type": "object" +"filestoreInstanceBackupPlanAssociationProperties": { +"$ref": "FilestoreInstanceBackupPlanAssociationProperties", +"description": "Output only. Filestore instance's backup plan association properties.", +"readOnly": true }, "name": { -"description": "Output only. Identifier. Name of the backup to create. It must have the format`\"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}\"`. `{backup}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource.", +"description": "Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", "readOnly": true, "type": "string" }, -"netappVolumeBackupProperties": { -"$ref": "NetAppVolumeBackupProperties", -"description": "Output only. NetApp Volume specific backup properties.", +"netappVolumeBackupPlanAssociationProperties": { +"$ref": "NetAppVolumeBackupPlanAssociationProperties", +"description": "Output only. NetApp volume backup plan association properties.", "readOnly": true }, -"resourceSizeBytes": { -"description": "Output only. source resource size in bytes at the time of the backup.", -"format": "int64", -"readOnly": true, +"resource": { +"description": "Required. Immutable. Resource name of workload on which the backup plan is applied. The format can either be the resource name (e.g., \"projects/my-project/zones/us-central1-a/instances/my-instance\") or the full resource URI (e.g., \"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance\").", "type": "string" }, -"satisfiesPzi": { -"description": "Optional. Output only. Reserved for future use.", -"readOnly": true, -"type": "boolean" -}, -"satisfiesPzs": { -"description": "Optional. Output only. Reserved for future use.", -"readOnly": true, -"type": "boolean" +"resourceType": { +"description": "Required. Immutable. Resource type of workload on which backupplan is applied", +"type": "string" }, -"serviceLocks": { -"description": "Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup.", +"rulesConfigInfo": { +"description": "Output only. The config info related to backup rules.", "items": { -"$ref": "BackupLock" +"$ref": "RuleConfigInfo" }, "readOnly": true, "type": "array" }, "state": { -"description": "Output only. The Backup resource instance state.", +"description": "Output only. The BackupPlanAssociation resource state.", "enum": [ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", "DELETING", -"ERROR", -"UPLOADING" +"INACTIVE", +"UPDATING", +"PAUSED" ], "enumDescriptions": [ "State not set.", -"The backup is being created.", -"The backup has been created and is fully usable.", -"The backup is being deleted.", -"The backup is experiencing an issue and might be unusable.", -"The backup is being uploaded." +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated.", +"The resource has been created but backups are paused." ], "readOnly": true, "type": "string" @@ -4079,2204 +5322,2314 @@ }, "type": "object" }, -"BackupApplianceBackupConfig": { -"description": "BackupApplianceBackupConfig captures the backup configuration for applications that are protected by Backup Appliances.", -"id": "BackupApplianceBackupConfig", +"BackupPlanDetail": { +"description": "BackupPlanDetail defines configuration of protection.", +"id": "BackupPlanDetail", "properties": { -"applicationName": { -"description": "The name of the application.", -"type": "string" -}, -"backupApplianceId": { -"description": "The ID of the backup appliance.", -"format": "int64", -"type": "string" -}, -"backupApplianceName": { -"description": "The name of the backup appliance.", -"type": "string" -}, -"hostName": { -"description": "The name of the host where the application is running.", -"type": "string" -}, -"slaId": { -"description": "The ID of the SLA of this application.", -"format": "int64", -"type": "string" -}, -"slpName": { -"description": "The name of the SLP associated with the application.", +"backupPlan": { +"description": "Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", "type": "string" }, -"sltName": { -"description": "The name of the SLT associated with the application.", +"resourceType": { +"description": "Required. The type of resource that this policy will automatically protect. For MVP, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.", "type": "string" } }, "type": "object" }, -"BackupApplianceBackupProperties": { -"description": "BackupApplianceBackupProperties represents BackupDR backup appliance's properties.", -"id": "BackupApplianceBackupProperties", +"BackupPlanRevision": { +"description": "`BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time.", +"id": "BackupPlanRevision", "properties": { -"finalizeTime": { -"description": "Output only. The time when this backup object was finalized (if none, backup is not finalized).", +"backupPlanSnapshot": { +"$ref": "BackupPlan", +"description": "The Backup Plan being encompassed by this revision." +}, +"createTime": { +"description": "Output only. The timestamp that the revision was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, -"generationId": { -"description": "Output only. The numeric generation ID of the backup (monotonically increasing).", -"format": "int32", +"name": { +"description": "Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}`", "readOnly": true, -"type": "integer" +"type": "string" }, -"recoveryRangeEndTime": { -"description": "Optional. The latest timestamp of data available in this Backup.", -"format": "google-datetime", +"revisionId": { +"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", +"readOnly": true, "type": "string" }, -"recoveryRangeStartTime": { -"description": "Optional. The earliest timestamp of data available in this Backup.", -"format": "google-datetime", +"state": { +"description": "Output only. Resource State", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE" +], +"enumDescriptions": [ +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable." +], +"readOnly": true, "type": "string" } }, "type": "object" }, -"BackupApplianceLockInfo": { -"description": "BackupApplianceLockInfo contains metadata about the backupappliance that created the lock.", -"id": "BackupApplianceLockInfo", +"BackupRule": { +"description": "`BackupRule` binds the backup schedule to a retention policy.", +"id": "BackupRule", "properties": { -"backupApplianceId": { -"description": "Required. The ID of the backup/recovery appliance that created this lock.", -"format": "int64", -"type": "string" +"backupRetentionDays": { +"description": "Required. Configures the duration for which backup data will be kept. It is defined in \u201cdays\u201d. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", +"format": "int32", +"type": "integer" }, -"backupApplianceName": { -"description": "Required. The name of the backup/recovery appliance that created this lock.", +"backupVault": { +"description": "Optional. Resource name of backup vault which will be used as storage location for backups generated by this rule. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault}", "type": "string" }, -"backupImage": { -"description": "The image name that depends on this Backup.", +"backupVaultServiceAccount": { +"description": "Output only. The service account used by the BackupVault to take backups.", +"readOnly": true, "type": "string" }, -"jobName": { -"description": "The job name on the backup/recovery appliance that created this lock.", +"ruleId": { +"description": "Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.", "type": "string" }, -"lockReason": { -"description": "Required. The reason for the lock: e.g. MOUNT/RESTORE/BACKUP/etc. The value of this string is only meaningful to the client and it is not interpreted by the BackupVault service.", -"type": "string" +"standardSchedule": { +"$ref": "StandardSchedule", +"description": "Optional. Defines a schedule that runs within the confines of a defined window of time." +} }, -"slaId": { -"description": "The SLA on the backup/recovery appliance that owns the lock.", -"format": "int64", +"type": "object" +}, +"BackupSelectionConfig": { +"description": "Configuration for selecting a backup.", +"id": "BackupSelectionConfig", +"properties": { +"dataSource": { +"description": "Required. Immutable. The fully qualified URI of the backupdr data source.", "type": "string" } }, "type": "object" }, -"BackupConfigDetails": { -"description": "BackupConfigDetails has information about how the resource is configured for backups and about the most recent backup taken for this configuration.", -"id": "BackupConfigDetails", +"BackupVault": { +"description": "Message describing a BackupVault object.", +"id": "BackupVault", "properties": { -"applicableResource": { -"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource that is applicable for the backup configuration. Example: \"//compute.googleapis.com/projects/{project}/zones/{zone}/instances/{instance}\"", -"readOnly": true, +"accessRestriction": { +"description": "Optional. Restricts access to certain sources and destinations for data being sent into, or restored from, the backup vault. Defaults to WITHIN_ORGANIZATION if not provided during creation.", +"enum": [ +"ACCESS_RESTRICTION_UNSPECIFIED", +"WITHIN_PROJECT", +"WITHIN_ORGANIZATION", +"UNRESTRICTED", +"WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA" +], +"enumDescriptions": [ +"Access restriction not set. If user does not provide any value or pass this value, it will be changed to WITHIN_ORGANIZATION.", +"Access to or from resources outside your current project will be denied.", +"Access to or from resources outside your current organization will be denied.", +"No access restriction.", +"Access to or from resources outside your current organization will be denied except for backup appliance." +], "type": "string" }, -"backupConfigSource": { -"description": "Output only. The full resource name of the backup config source resource. For example, \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupPlans/{backupplanId}\" or \"//compute.googleapis.com/projects/{project}/locations/{region}/resourcePolicies/{resourcePolicyId}\".", -"readOnly": true, +"annotations": { +"additionalProperties": { "type": "string" }, -"backupConfigSourceDisplayName": { -"description": "Output only. The display name of the backup config source resource.", +"description": "Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data.", +"type": "object" +}, +"backupCount": { +"description": "Output only. The number of backups in this backup vault.", +"format": "int64", "readOnly": true, "type": "string" }, -"backupDrPlanConfig": { -"$ref": "BackupDrPlanConfig", -"description": "Google Cloud Backup and DR's Backup Plan specific data." -}, -"backupDrTemplateConfig": { -"$ref": "BackupDrTemplateConfig", -"description": "Google Cloud Backup and DR's Template specific data." +"backupMinimumEnforcedRetentionDuration": { +"description": "Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended. Note: Longer minimum enforced retention period impacts potential storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", +"format": "google-duration", +"type": "string" }, -"backupLocations": { -"description": "The locations where the backups are to be stored.", -"items": { -"$ref": "BackupLocation" +"backupRetentionInheritance": { +"description": "Optional. Setting for how a backup's enforced retention end time is inherited.", +"enum": [ +"BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", +"INHERIT_VAULT_RETENTION", +"MATCH_BACKUP_EXPIRE_TIME" +], +"enumDescriptions": [ +"Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", +"The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", +"The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." +], +"type": "string" }, -"type": "array" +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"backupVault": { -"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the backup vault that will store the backups generated through this backup configuration. Example: \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupVaults/{backupvaultId}\"", +"deletable": { +"description": "Output only. Set to true when there are no backups nested under this resource.", "readOnly": true, +"type": "boolean" +}, +"description": { +"description": "Optional. The description of the BackupVault instance (2048 characters or less).", "type": "string" }, -"latestSuccessfulBackupTime": { -"description": "Output only. Timestamp of the latest successful backup created via this backup configuration.", +"effectiveTime": { +"description": "Optional. Time after which the BackupVault resource is locked.", "format": "google-datetime", -"readOnly": true, "type": "string" }, -"pitrSettings": { -"$ref": "PitrSettings", -"description": "Output only. Point in time recovery settings of the backup configuration resource.", -"readOnly": true +"encryptionConfig": { +"$ref": "EncryptionConfig", +"description": "Optional. The encryption config of the backup vault." }, -"state": { -"description": "Output only. The state of the backup config resource.", -"enum": [ -"STATE_UNSPECIFIED", -"ACTIVE", -"INACTIVE", -"ERROR" -], -"enumDescriptions": [ -"Backup config state not set.", -"The config is in an active state protecting the resource", -"The config is currently not protecting the resource. Either because it is disabled or the owning project has been deleted without cleanup of the actual resource.", -"The config still exists but because of some error state it is not protecting the resource. Like the source project is deleted. For eg. PlanAssociation, BackupPlan is deleted." -], -"readOnly": true, +"etag": { +"description": "Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other.", "type": "string" }, -"type": { -"description": "Output only. The type of the backup config resource.", -"enum": [ -"TYPE_UNSPECIFIED", -"CLOUD_SQL_INSTANCE_BACKUP_CONFIG", -"COMPUTE_ENGINE_RESOURCE_POLICY", -"BACKUPDR_BACKUP_PLAN", -"BACKUPDR_TEMPLATE" -], -"enumDescriptions": [ -"Backup config type is unspecified.", -"Backup config is Cloud SQL instance's automated backup config.", -"Backup config is Compute Engine Resource Policy.", -"Backup config is Google Cloud Backup and DR's Backup Plan.", -"Backup config is Google Cloud Backup and DR's Template." -], -"readOnly": true, +"labels": { +"additionalProperties": { "type": "string" -} }, +"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", "type": "object" }, -"BackupConfigInfo": { -"description": "BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault.", -"id": "BackupConfigInfo", -"properties": { -"backupApplianceBackupConfig": { -"$ref": "BackupApplianceBackupConfig", -"description": "Configuration for an application backed up by a Backup Appliance." -}, -"gcpBackupConfig": { -"$ref": "GcpBackupConfig", -"description": "Configuration for a Google Cloud resource." +"name": { +"description": "Output only. Identifier. Name of the backup vault to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}\"`. `{backupvault}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location.", +"readOnly": true, +"type": "string" }, -"lastBackupError": { -"$ref": "Status", -"description": "Output only. If the last backup failed, this field has the error message.", -"readOnly": true +"serviceAccount": { +"description": "Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there.", +"readOnly": true, +"type": "string" }, -"lastBackupState": { -"description": "Output only. The status of the last backup to this BackupVault", +"state": { +"description": "Output only. The BackupVault resource instance state.", "enum": [ -"LAST_BACKUP_STATE_UNSPECIFIED", -"FIRST_BACKUP_PENDING", -"SUCCEEDED", -"FAILED", -"PERMISSION_DENIED" +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"ERROR", +"UPDATING" ], "enumDescriptions": [ -"Status not set.", -"The first backup has not yet completed", -"The most recent backup was successful", -"The most recent backup failed", -"The most recent backup could not be run/failed because of the lack of permissions" +"State not set.", +"The backup vault is being created.", +"The backup vault has been created and is fully usable.", +"The backup vault is being deleted.", +"The backup vault is experiencing an issue and might be unusable.", +"The backup vault is being updated." ], "readOnly": true, "type": "string" }, -"lastSuccessfulBackupConsistencyTime": { -"description": "Output only. If the last backup were successful, this field has the consistency date.", -"format": "google-datetime", +"totalStoredBytes": { +"description": "Output only. Total size of the storage used by all backup resources.", +"format": "int64", "readOnly": true, "type": "string" -} -}, -"type": "object" -}, -"BackupDrPlanConfig": { -"description": "BackupDrPlanConfig has additional information about Google Cloud Backup and DR's Plan backup configuration.", -"id": "BackupDrPlanConfig", -"properties": { -"backupDrPlanRules": { -"description": "Backup rules of the backup plan resource.", -"items": { -"$ref": "BackupDrPlanRule" -}, -"type": "array" -} -}, -"type": "object" }, -"BackupDrPlanRule": { -"description": "BackupDrPlanRule has rule specific information of the backup plan resource.", -"id": "BackupDrPlanRule", -"properties": { -"lastSuccessfulBackupTime": { -"description": "Output only. Timestamp of the latest successful backup created via this backup rule.", -"format": "google-datetime", +"uid": { +"description": "Output only. Immutable after resource creation until resource deletion.", "readOnly": true, "type": "string" }, -"ruleId": { -"description": "Output only. Unique Id of the backup rule.", +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", "readOnly": true, "type": "string" } }, "type": "object" }, -"BackupDrTemplateConfig": { -"description": "Provides additional information about Google Cloud Backup and DR's Template backup configuration.", -"id": "BackupDrTemplateConfig", +"BackupWindow": { +"description": "`BackupWindow` defines a window of the day during which backup jobs will run.", +"id": "BackupWindow", "properties": { -"firstPartyManagementUri": { -"description": "Output only. The URI of the BackupDr template resource for the first party identity users.", -"readOnly": true, -"type": "string" +"endHourOfDay": { +"description": "Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.", +"format": "int32", +"type": "integer" }, -"thirdPartyManagementUri": { -"description": "Output only. The URI of the BackupDr template resource for the third party identity users.", -"readOnly": true, -"type": "string" +"startHourOfDay": { +"description": "Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00.", +"format": "int32", +"type": "integer" } }, "type": "object" }, -"BackupGcpResource": { -"description": "Minimum details to identify a Google Cloud resource for a backup.", -"id": "BackupGcpResource", +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", "properties": { -"gcpResourcename": { -"description": "Name of the Google Cloud resource.", -"type": "string" +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, -"location": { -"description": "Location of the resource: //\"global\"/\"unspecified\".", +"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": { -"description": "Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", +"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" }, -"BackupLocation": { -"description": "BackupLocation represents a cloud location where a backup can be stored.", -"id": "BackupLocation", +"BindingEvaluationSummary": { +"description": "BindingEvaluationSummary contains the summary of the last run of job that applies policy to matching resources for a given binding.", +"id": "BindingEvaluationSummary", "properties": { -"locationId": { -"description": "Output only. The id of the cloud location. Example: \"us-central1\"", +"failedResourceCount": { +"description": "Output only. The number of matching resources whose protection failed during job run.", +"format": "int64", "readOnly": true, "type": "string" }, -"type": { -"description": "Output only. The type of the location.", -"enum": [ -"TYPE_UNSPECIFIED", -"ZONAL", -"REGIONAL", -"MULTI_REGIONAL" -], -"enumDescriptions": [ -"Location type is unspecified.", -"Location type is zonal.", -"Location type is regional.", -"Location type is multi regional." -], +"matchingResourceCount": { +"description": "Output only. The number of resources that currently match the policy's criteria.", +"format": "int64", "readOnly": true, "type": "string" -} }, -"type": "object" -}, -"BackupLock": { -"description": "BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted.", -"id": "BackupLock", -"properties": { -"backupApplianceLockInfo": { -"$ref": "BackupApplianceLockInfo", -"description": "If the client is a backup and recovery appliance, this contains metadata about why the lock exists." -}, -"lockUntilTime": { -"description": "Required. The time after which this lock is not considered valid and will no longer protect the Backup from deletion.", -"format": "google-datetime", +"protectedResourceCount": { +"description": "Output only. The number of matching resources that are successfully protected.", +"format": "int64", +"readOnly": true, "type": "string" -}, -"serviceLockInfo": { -"$ref": "ServiceLockInfo", -"description": "Output only. Contains metadata about the lock exist for Google Cloud native backups.", -"readOnly": true } }, "type": "object" }, -"BackupPlan": { -"description": "A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.", -"id": "BackupPlan", +"BindingMatchingResource": { +"description": "BindingMatchingResource contains the details of a resource that matches the criteria of a binding.", +"id": "BindingMatchingResource", "properties": { -"backupRules": { -"description": "Optional. The backup rules for this `BackupPlan`.", -"items": { -"$ref": "BackupRule" -}, -"type": "array" -}, -"backupVault": { -"description": "Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}", -"type": "string" -}, -"backupVaultServiceAccount": { -"description": "Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.", -"readOnly": true, -"type": "string" -}, -"computeInstanceBackupPlanProperties": { -"$ref": "ComputeInstanceBackupPlanProperties", -"description": "Optional. Defines optional properties specific to backups of compute instance based resources, such as Compute Engine Instances. This includes settings like whether to perform a guest flush." +"autoProtectionDetails": { +"$ref": "AutoProtectionDetails", +"description": "Output only. The auto protection details of the resource from the current binding's perspective.", +"readOnly": true }, -"createTime": { -"description": "Output only. When the `BackupPlan` was created.", +"lastEvaluationTime": { +"description": "Output only. The timestamp when the resource was last evaluated for protection.", "format": "google-datetime", "readOnly": true, "type": "string" }, -"description": { -"description": "Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: \"This is a backup plan that performs a daily backup at 6pm and retains data for 3 months\". The description must be at most 2048 characters.", -"type": "string" -}, -"diskBackupPlanProperties": { -"$ref": "DiskBackupPlanProperties", -"description": "Optional. Defines optional properties specific to backups of disk-based resources, such as Compute Engine Persistent Disks. This includes settings like whether to perform a guest flush." -}, -"etag": { -"description": "Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.", +"name": { +"description": "Identifier. The resource name of the `BindingMatchingResource`. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}/matchingResources/{matching_resource}`", "type": "string" }, -"labels": { -"additionalProperties": { +"resource": { +"description": "Required. Immutable. Resource name of the workload that matches the criteria of the binding. The format can be either a relative resource name (e.g., `projects/my-project/zones/us-central1-a/instances/my-instance`) or a schemeless full resource name (e.g., `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`).", "type": "string" +} }, -"description": "Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {\"tag\": \"Weekly\"}.", "type": "object" }, -"logRetentionDays": { -"description": "Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in \u201cdays\u201d. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.", +"BindingSummary": { +"description": "BindingSummary contains count of different containers covered through this policy.", +"id": "BindingSummary", +"properties": { +"projectCount": { +"description": "Output only. Total count of Projects protected with this policy.", "format": "int64", -"type": "string" -}, -"maxCustomOnDemandRetentionDays": { -"description": "Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value.", -"format": "int32", -"type": "integer" -}, -"name": { -"description": "Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", "readOnly": true, "type": "string" +} }, -"resourceType": { -"description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\", \"sqladmin.googleapis.com/Instance\", \"alloydb.googleapis.com/Cluster\", \"compute.googleapis.com/Disk\".", -"type": "string" +"type": "object" }, -"revisionId": { -"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", -"readOnly": true, -"type": "string" +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" }, -"revisionName": { -"description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", +"CleanupPhaseInfo": { +"description": "Info for Cleanup phase execution.", +"id": "CleanupPhaseInfo", +"properties": { +"cleanupDuration": { +"description": "Output only. Time taken to perform the cleanup of restored resource.", +"format": "google-duration", "readOnly": true, "type": "string" }, -"state": { -"description": "Output only. The `State` for the `BackupPlan`.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"INACTIVE", -"UPDATING" -], -"enumDescriptions": [ -"State not set.", -"The resource is being created.", -"The resource has been created and is fully usable.", -"The resource is being deleted.", -"The resource has been created but is not usable.", -"The resource is being updated." -], +"cleanupTime": { +"description": "Output only. The time when the resources will be cleaned up.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"supportedResourceTypes": { -"description": "Output only. All resource types to which backupPlan can be applied.", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"updateTime": { -"description": "Output only. When the `BackupPlan` was last updated.", +"endTime": { +"description": "Output only. End time of the phase.", "format": "google-datetime", "readOnly": true, "type": "string" -} -}, -"type": "object" }, -"BackupPlanAssociation": { -"description": "A BackupPlanAssociation represents a single BackupPlanAssociation which contains details like workload, backup plan etc", -"id": "BackupPlanAssociation", -"properties": { -"alloydbClusterBackupPlanAssociationProperties": { -"$ref": "AlloyDBClusterBackupPlanAssociationProperties", -"description": "Output only. AlloyDB cluster's backup plan association properties.", +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", "readOnly": true }, -"autoProtectionPolicyBinding": { -"description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this association, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", -"readOnly": true, -"type": "string" -}, -"backupPlan": { -"description": "Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", -"type": "string" +"failureCleanupRule": { +"$ref": "RestoreVerificationCleanupRule", +"description": "Output only. Snapshot of cleanup rule provided for this execution when execution is failed.", +"readOnly": true }, -"backupPlanRevisionId": { -"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", +"phaseState": { +"description": "Output only. The state of this phase.", +"enum": [ +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" +], +"enumDescriptions": [ +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." +], "readOnly": true, "type": "string" }, -"backupPlanRevisionName": { -"description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", +"startTime": { +"description": "Output only. Start time of the phase.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"cloudSqlInstanceBackupPlanAssociationProperties": { -"$ref": "CloudSqlInstanceBackupPlanAssociationProperties", -"description": "Output only. Cloud SQL instance's backup plan association properties.", +"successCleanupRule": { +"$ref": "RestoreVerificationCleanupRule", +"description": "Output only. Snapshot of cleanup rule provided for this execution when execution is successful.", "readOnly": true +} +}, +"type": "object" }, -"createTime": { +"CloudSqlInstanceBackupPlanAssociationProperties": { +"description": "Cloud SQL instance's BPA properties.", +"id": "CloudSqlInstanceBackupPlanAssociationProperties", +"properties": { +"instanceCreateTime": { "description": "Output only. The time when the instance was created.", "format": "google-datetime", "readOnly": true, "type": "string" +} }, -"dataSource": { -"description": "Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}", +"type": "object" +}, +"CloudSqlInstanceBackupProperties": { +"description": "CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties.", +"id": "CloudSqlInstanceBackupProperties", +"properties": { +"databaseInstalledVersion": { +"description": "Output only. The installed database version of the Cloud SQL instance when the backup was taken.", "readOnly": true, "type": "string" }, -"filestoreInstanceBackupPlanAssociationProperties": { -"$ref": "FilestoreInstanceBackupPlanAssociationProperties", -"description": "Output only. Filestore instance's backup plan association properties.", -"readOnly": true +"finalBackup": { +"description": "Output only. Whether the backup is a final backup.", +"readOnly": true, +"type": "boolean" }, -"name": { -"description": "Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"netappVolumeBackupPlanAssociationProperties": { -"$ref": "NetAppVolumeBackupPlanAssociationProperties", -"description": "Output only. NetApp volume backup plan association properties.", -"readOnly": true -}, -"resource": { -"description": "Required. Immutable. Resource name of workload on which the backup plan is applied. The format can either be the resource name (e.g., \"projects/my-project/zones/us-central1-a/instances/my-instance\") or the full resource URI (e.g., \"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance\").", +"instanceDeleteTime": { +"description": "Output only. The instance delete timestamp.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"resourceType": { -"description": "Required. Immutable. Resource type of workload on which backupplan is applied", +"instanceTier": { +"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", +"readOnly": true, "type": "string" }, -"rulesConfigInfo": { -"description": "Output only. The config info related to backup rules.", -"items": { -"$ref": "RuleConfigInfo" -}, +"sourceInstance": { +"description": "Output only. The source instance of the backup. Format: projects/{project}/instances/{instance}", "readOnly": true, -"type": "array" +"type": "string" +} }, -"state": { -"description": "Output only. The BackupPlanAssociation resource state.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"INACTIVE", -"UPDATING", -"PAUSED" -], -"enumDescriptions": [ -"State not set.", -"The resource is being created.", -"The resource has been created and is fully usable.", -"The resource is being deleted.", -"The resource has been created but is not usable.", -"The resource is being updated.", -"The resource has been created but backups are paused." -], +"type": "object" +}, +"CloudSqlInstanceDataSourceProperties": { +"description": "CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource.", +"id": "CloudSqlInstanceDataSourceProperties", +"properties": { +"databaseInstalledVersion": { +"description": "Output only. The installed database version of the Cloud SQL instance.", "readOnly": true, "type": "string" }, -"updateTime": { -"description": "Output only. The time when the instance was updated.", +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", "format": "google-datetime", "readOnly": true, "type": "string" -} -}, -"type": "object" }, -"BackupPlanDetail": { -"description": "BackupPlanDetail defines configuration of protection.", -"id": "BackupPlanDetail", -"properties": { -"backupPlan": { -"description": "Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", +"instanceTier": { +"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", +"readOnly": true, "type": "string" }, -"resourceType": { -"description": "Required. The type of resource that this policy will automatically protect. For MVP, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.", +"name": { +"description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", +"readOnly": true, "type": "string" } }, "type": "object" }, -"BackupPlanRevision": { -"description": "`BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time.", -"id": "BackupPlanRevision", +"CloudSqlInstanceDataSourceReferenceProperties": { +"description": "CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference.", +"id": "CloudSqlInstanceDataSourceReferenceProperties", "properties": { -"backupPlanSnapshot": { -"$ref": "BackupPlan", -"description": "The Backup Plan being encompassed by this revision." +"databaseInstalledVersion": { +"description": "Output only. The installed database version of the Cloud SQL instance.", +"readOnly": true, +"type": "string" }, -"createTime": { -"description": "Output only. The timestamp that the revision was created.", +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", "format": "google-datetime", "readOnly": true, "type": "string" }, -"name": { -"description": "Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}`", +"instanceTier": { +"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", "readOnly": true, "type": "string" }, -"revisionId": { -"description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", +"name": { +"description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", "readOnly": true, "type": "string" +} }, -"state": { -"description": "Output only. Resource State", +"type": "object" +}, +"CloudSqlInstanceInitializationConfig": { +"description": "CloudSqlInstanceInitializationConfig contains the configuration for initializing a Cloud SQL instance.", +"id": "CloudSqlInstanceInitializationConfig", +"properties": { +"edition": { +"description": "Required. The edition of the Cloud SQL instance.", "enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"INACTIVE" +"EDITION_UNSPECIFIED", +"ENTERPRISE", +"ENTERPRISE_PLUS" ], "enumDescriptions": [ -"State not set.", -"The resource is being created.", -"The resource has been created and is fully usable.", -"The resource is being deleted.", -"The resource has been created but is not usable." +"Unspecified edition.", +"Enterprise edition.", +"Enterprise Plus edition." ], -"readOnly": true, "type": "string" } }, "type": "object" }, -"BackupRule": { -"description": "`BackupRule` binds the backup schedule to a retention policy.", -"id": "BackupRule", +"ComputeInstanceBackupPlanProperties": { +"description": "Properties for a compute instance backup plan.", +"id": "ComputeInstanceBackupPlanProperties", "properties": { -"backupRetentionDays": { -"description": "Required. Configures the duration for which backup data will be kept. It is defined in \u201cdays\u201d. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", -"format": "int32", -"type": "integer" -}, -"ruleId": { -"description": "Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.", -"type": "string" -}, -"standardSchedule": { -"$ref": "StandardSchedule", -"description": "Optional. Defines a schedule that runs within the confines of a defined window of time." +"guestFlush": { +"description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", +"type": "boolean" } }, "type": "object" }, -"BackupVault": { -"description": "Message describing a BackupVault object.", -"id": "BackupVault", +"ComputeInstanceBackupProperties": { +"description": "ComputeInstanceBackupProperties represents Compute Engine instance backup properties.", +"id": "ComputeInstanceBackupProperties", "properties": { -"accessRestriction": { -"description": "Optional. Restricts access to certain sources and destinations for data being sent into, or restored from, the backup vault. Defaults to WITHIN_ORGANIZATION if not provided during creation.", -"enum": [ -"ACCESS_RESTRICTION_UNSPECIFIED", -"WITHIN_PROJECT", -"WITHIN_ORGANIZATION", -"UNRESTRICTED", -"WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA" -], -"enumDescriptions": [ -"Access restriction not set. If user does not provide any value or pass this value, it will be changed to WITHIN_ORGANIZATION.", -"Access to or from resources outside your current project will be denied.", -"Access to or from resources outside your current organization will be denied.", -"No access restriction.", -"Access to or from resources outside your current organization will be denied except for backup appliance." -], -"type": "string" +"canIpForward": { +"description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify `true`. If unsure, leave this set to `false`. See the https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.", +"type": "boolean" }, -"annotations": { -"additionalProperties": { +"description": { +"description": "An optional text description for the instances that are created from these properties.", "type": "string" }, -"description": "Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data.", -"type": "object" +"disk": { +"description": "An array of disks that are associated with the instances that are created from these properties.", +"items": { +"$ref": "AttachedDisk" }, -"backupCount": { -"description": "Output only. The number of backups in this backup vault.", -"format": "int64", -"readOnly": true, -"type": "string" +"type": "array" }, -"backupMinimumEnforcedRetentionDuration": { -"description": "Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended. Note: Longer minimum enforced retention period impacts potential storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", -"format": "google-duration", -"type": "string" +"guestAccelerator": { +"description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", +"items": { +"$ref": "AcceleratorConfig" }, -"backupRetentionInheritance": { -"description": "Optional. Setting for how a backup's enforced retention end time is inherited.", +"type": "array" +}, +"guestFlush": { +"description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", +"type": "boolean" +}, +"keyRevocationActionType": { +"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", "enum": [ -"BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", -"INHERIT_VAULT_RETENTION", -"MATCH_BACKUP_EXPIRE_TIME" +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" ], "enumDescriptions": [ -"Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", -"The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", -"The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." ], "type": "string" }, -"createTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to apply to instances that are created from these properties.", +"type": "object" +}, +"machineType": { +"description": "The machine type to use for instances that are created from these properties.", "type": "string" }, -"deletable": { -"description": "Output only. Set to true when there are no backups nested under this resource.", -"readOnly": true, -"type": "boolean" +"metadata": { +"$ref": "Metadata", +"description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See https://cloud.google.com/compute/docs/metadata/overview for more information." }, -"description": { -"description": "Optional. The description of the BackupVault instance (2048 characters or less).", +"minCpuPlatform": { +"description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information, read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", "type": "string" }, -"effectiveTime": { -"description": "Optional. Time after which the BackupVault resource is locked.", -"format": "google-datetime", -"type": "string" +"networkInterface": { +"description": "An array of network access configurations for this interface.", +"items": { +"$ref": "NetworkInterface" }, -"encryptionConfig": { -"$ref": "EncryptionConfig", -"description": "Optional. The encryption config of the backup vault." +"type": "array" }, -"etag": { -"description": "Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other.", -"type": "string" +"scheduling": { +"$ref": "Scheduling", +"description": "Specifies the scheduling options for the instances that are created from these properties." }, -"labels": { -"additionalProperties": { +"serviceAccount": { +"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", +"items": { +"$ref": "ServiceAccount" +}, +"type": "array" +}, +"sourceInstance": { +"description": "The source instance used to create this backup. This can be a partial or full URL to the resource. For example, the following are valid values: -https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance -projects/project/zones/zone/instances/instance", "type": "string" }, -"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", +"tags": { +"$ref": "Tags", +"description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt)." +} +}, "type": "object" }, -"name": { -"description": "Output only. Identifier. Name of the backup vault to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}\"`. `{backupvault}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location.", -"readOnly": true, +"ComputeInstanceDataSourceProperties": { +"description": "ComputeInstanceDataSourceProperties represents the properties of a ComputeEngine resource that are stored in the DataSource.", +"id": "ComputeInstanceDataSourceProperties", +"properties": { +"description": { +"description": "The description of the Compute Engine instance.", "type": "string" }, -"serviceAccount": { -"description": "Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there.", -"readOnly": true, +"machineType": { +"description": "The machine type of the instance.", "type": "string" }, -"state": { -"description": "Output only. The BackupVault resource instance state.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"ERROR", -"UPDATING" -], -"enumDescriptions": [ -"State not set.", -"The backup vault is being created.", -"The backup vault has been created and is fully usable.", -"The backup vault is being deleted.", -"The backup vault is experiencing an issue and might be unusable.", -"The backup vault is being updated." -], -"readOnly": true, +"name": { +"description": "Name of the compute instance backed up by the datasource.", "type": "string" }, -"totalStoredBytes": { -"description": "Output only. Total size of the storage used by all backup resources.", +"totalDiskCount": { +"description": "The total number of disks attached to the Instance.", "format": "int64", -"readOnly": true, -"type": "string" -}, -"uid": { -"description": "Output only. Immutable after resource creation until resource deletion.", -"readOnly": true, "type": "string" }, -"updateTime": { -"description": "Output only. The time when the instance was updated.", -"format": "google-datetime", -"readOnly": true, +"totalDiskSizeGb": { +"description": "The sum of all the disk sizes.", +"format": "int64", "type": "string" } }, "type": "object" }, -"BackupWindow": { -"description": "`BackupWindow` defines a window of the day during which backup jobs will run.", -"id": "BackupWindow", +"ComputeInstanceRestoreProperties": { +"description": "ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore.", +"id": "ComputeInstanceRestoreProperties", "properties": { -"endHourOfDay": { -"description": "Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.", -"format": "int32", -"type": "integer" +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Optional. Controls for advanced machine-related behavior features." }, -"startHourOfDay": { -"description": "Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00.", -"format": "int32", -"type": "integer" -} +"canIpForward": { +"description": "Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.", +"type": "boolean" }, -"type": "object" +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig", +"description": "Optional. Controls Confidential compute options on the instance" }, -"Binding": { -"description": "Associates `members`, or principals, with a `role`.", -"id": "Binding", -"properties": { -"condition": { -"$ref": "Expr", -"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +"deletionProtection": { +"description": "Optional. Whether the resource should be protected against deletion.", +"type": "boolean" }, -"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": { +"description": { +"description": "Optional. An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, +"disks": { +"description": "Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them. Source regional persistent disks will be restored with default replica zones if not specified.", +"items": { +"$ref": "AttachedDisk" +}, "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).", +"displayDevice": { +"$ref": "DisplayDevice", +"description": "Optional. Enables display device for the instance." +}, +"guestAccelerators": { +"description": "Optional. A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"hostname": { +"description": "Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", +"type": "string" +}, +"instanceEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Encrypts suspended data for an instance with a customer-managed encryption key." +}, +"keyRevocationActionType": { +"description": "Optional. KeyRevocationActionType of the instance.", +"enum": [ +"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", +"NONE", +"STOP" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Indicates user chose no operation.", +"Indicates user chose to opt for VM shutdown on key revocation." +], +"type": "string" +}, +"labels": { +"additionalProperties": { "type": "string" -} }, +"description": "Optional. Labels to apply to this instance.", "type": "object" }, -"BindingEvaluationSummary": { -"description": "BindingEvaluationSummary contains the summary of the last run of job that applies policy to matching resources for a given binding.", -"id": "BindingEvaluationSummary", -"properties": { -"failedResourceCount": { -"description": "Output only. The number of matching resources whose protection failed during job run.", -"format": "int64", -"readOnly": true, +"machineType": { +"description": "Optional. Full or partial URL of the machine type resource to use for this instance.", "type": "string" }, -"matchingResourceCount": { -"description": "Output only. The number of resources that currently match the policy's criteria.", -"format": "int64", -"readOnly": true, +"metadata": { +"$ref": "Metadata", +"description": "Optional. This includes custom metadata and predefined keys." +}, +"minCpuPlatform": { +"description": "Optional. Minimum CPU platform to use for this instance.", "type": "string" }, -"protectedResourceCount": { -"description": "Output only. The number of matching resources that are successfully protected.", -"format": "int64", -"readOnly": true, +"name": { +"description": "Required. Name of the compute instance.", "type": "string" -} }, -"type": "object" +"networkInterfaces": { +"description": "Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. Required to restore in different project or region.", +"items": { +"$ref": "NetworkInterface" }, -"BindingMatchingResource": { -"description": "BindingMatchingResource contains the details of a resource that matches the criteria of a binding.", -"id": "BindingMatchingResource", -"properties": { -"autoProtectionDetails": { -"$ref": "AutoProtectionDetails", -"description": "Output only. The auto protection details of the resource from the current binding's perspective.", -"readOnly": true +"type": "array" }, -"lastEvaluationTime": { -"description": "Output only. The timestamp when the resource was last evaluated for protection.", -"format": "google-datetime", -"readOnly": true, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig", +"description": "Optional. Configure network performance such as egress bandwidth tier." +}, +"params": { +"$ref": "InstanceParams", +"description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." +}, +"privateIpv6GoogleAccess": { +"description": "Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", +"enum": [ +"INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", +"INHERIT_FROM_SUBNETWORK", +"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", +"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.", +"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", +"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before." +], "type": "string" }, -"name": { -"description": "Identifier. The resource name of the `BindingMatchingResource`. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}/matchingResources/{matching_resource}`", -"type": "string" +"reservationAffinity": { +"$ref": "AllocationAffinity", +"description": "Optional. Specifies the reservations that this instance can consume from." }, -"resource": { -"description": "Required. Immutable. Resource name of the workload that matches the criteria of the binding. The format can be either a relative resource name (e.g., `projects/my-project/zones/us-central1-a/instances/my-instance`) or a schemeless full resource name (e.g., `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`).", +"resourcePolicies": { +"description": "Optional. Resource policies applied to this instance. By default, no resource policies will be applied.", +"items": { "type": "string" -} }, -"type": "object" +"type": "array" }, -"BindingSummary": { -"description": "BindingSummary contains count of different containers covered through this policy.", -"id": "BindingSummary", -"properties": { -"projectCount": { -"description": "Output only. Total count of Projects protected with this policy.", -"format": "int64", -"readOnly": true, -"type": "string" -} +"scheduling": { +"$ref": "Scheduling", +"description": "Optional. Sets the scheduling options for this instance." }, -"type": "object" +"serviceAccounts": { +"description": "Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported.", +"items": { +"$ref": "ServiceAccount" }, -"CancelOperationRequest": { -"description": "The request message for Operations.CancelOperation.", -"id": "CancelOperationRequest", -"properties": {}, -"type": "object" +"type": "array" }, -"CloudSqlInstanceBackupPlanAssociationProperties": { -"description": "Cloud SQL instance's BPA properties.", -"id": "CloudSqlInstanceBackupPlanAssociationProperties", -"properties": { -"instanceCreateTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"tags": { +"$ref": "Tags", +"description": "Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation." } }, "type": "object" }, -"CloudSqlInstanceBackupProperties": { -"description": "CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties.", -"id": "CloudSqlInstanceBackupProperties", +"ComputeInstanceTargetEnvironment": { +"description": "ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore.", +"id": "ComputeInstanceTargetEnvironment", "properties": { -"databaseInstalledVersion": { -"description": "Output only. The installed database version of the Cloud SQL instance when the backup was taken.", -"readOnly": true, +"project": { +"description": "Required. Target project for the Compute Engine instance.", "type": "string" }, -"finalBackup": { -"description": "Output only. Whether the backup is a final backup.", -"readOnly": true, +"useProjectServiceAccount": { +"description": "Optional. Whether to use the project service account for the Compute Engine instance restore.", "type": "boolean" }, -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"instanceDeleteTime": { -"description": "Output only. The instance delete timestamp.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"instanceTier": { -"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", -"readOnly": true, -"type": "string" -}, -"sourceInstance": { -"description": "Output only. The source instance of the backup. Format: projects/{project}/instances/{instance}", -"readOnly": true, +"zone": { +"description": "Required. The zone of the Compute Engine instance.", "type": "string" } }, "type": "object" }, -"CloudSqlInstanceDataSourceProperties": { -"description": "CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource.", -"id": "CloudSqlInstanceDataSourceProperties", +"ConfidentialInstanceConfig": { +"description": "A set of Confidential Instance options.", +"id": "ConfidentialInstanceConfig", "properties": { -"databaseInstalledVersion": { -"description": "Output only. The installed database version of the Cloud SQL instance.", -"readOnly": true, -"type": "string" +"enableConfidentialCompute": { +"description": "Optional. Defines whether the instance should have confidential compute enabled.", +"type": "boolean" +} }, -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"type": "object" }, -"instanceTier": { -"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", -"readOnly": true, -"type": "string" +"Criteria": { +"description": "Criteria specifies a set of criteria for matching resources.", +"id": "Criteria", +"properties": { +"matchingConditions": { +"description": "Required. A list of matching conditions that a resource must meet to be protected by the policy.", +"items": { +"$ref": "MatchingCondition" }, -"name": { -"description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", -"readOnly": true, -"type": "string" +"type": "array" } }, "type": "object" }, -"CloudSqlInstanceDataSourceReferenceProperties": { -"description": "CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference.", -"id": "CloudSqlInstanceDataSourceReferenceProperties", +"CustomerEncryptionKey": { +"description": "A customer-supplied encryption key.", +"id": "CustomerEncryptionKey", "properties": { -"databaseInstalledVersion": { -"description": "Output only. The installed database version of the Cloud SQL instance.", -"readOnly": true, +"kmsKeyName": { +"description": "Optional. The name of the encryption key that is stored in Google Cloud KMS.", "type": "string" }, -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", -"readOnly": true, +"kmsKeyServiceAccount": { +"description": "Optional. The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.", "type": "string" }, -"instanceTier": { -"description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", -"readOnly": true, +"rawKey": { +"description": "Optional. Specifies a 256-bit customer-supplied encryption key.", "type": "string" }, -"name": { -"description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", -"readOnly": true, +"rsaEncryptedKey": { +"description": "Optional. RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource.", "type": "string" } }, "type": "object" }, -"CloudSqlInstanceInitializationConfig": { -"description": "CloudSqlInstanceInitializationConfig contains the configuration for initializing a Cloud SQL instance.", -"id": "CloudSqlInstanceInitializationConfig", +"DataSource": { +"description": "Message describing a DataSource object. Datasource object used to represent Datasource details for both admin and basic view.", +"id": "DataSource", "properties": { -"edition": { -"description": "Required. The edition of the Cloud SQL instance.", +"backupBlockedByVaultAccessRestriction": { +"description": "Output only. This field is set to true if the backup is blocked by vault access restriction.", +"readOnly": true, +"type": "boolean" +}, +"backupConfigInfo": { +"$ref": "BackupConfigInfo", +"description": "Output only. Details of how the resource is configured for backup.", +"readOnly": true +}, +"backupCount": { +"description": "Number of backups in the data source.", +"format": "int64", +"type": "string" +}, +"configState": { +"description": "Output only. The backup configuration state.", "enum": [ -"EDITION_UNSPECIFIED", -"ENTERPRISE", -"ENTERPRISE_PLUS" +"BACKUP_CONFIG_STATE_UNSPECIFIED", +"ACTIVE", +"PASSIVE", +"PAUSED" ], "enumDescriptions": [ -"Unspecified edition.", -"Enterprise edition.", -"Enterprise Plus edition." +"The possible states of backup configuration. Status not set.", +"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", +"The data source is no longer protected (but may have backups under it)", +"The data source has been created but backups are paused" ], +"readOnly": true, "type": "string" -} -}, -"type": "object" }, -"ComputeInstanceBackupPlanProperties": { -"description": "Properties for a compute instance backup plan.", -"id": "ComputeInstanceBackupPlanProperties", -"properties": { -"guestFlush": { -"description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", -"type": "boolean" -} +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"type": "object" +"dataSourceBackupApplianceApplication": { +"$ref": "DataSourceBackupApplianceApplication", +"description": "The backed up resource is a backup appliance application." }, -"ComputeInstanceBackupProperties": { -"description": "ComputeInstanceBackupProperties represents Compute Engine instance backup properties.", -"id": "ComputeInstanceBackupProperties", -"properties": { -"canIpForward": { -"description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify `true`. If unsure, leave this set to `false`. See the https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.", -"type": "boolean" +"dataSourceGcpResource": { +"$ref": "DataSourceGcpResource", +"description": "The backed up resource is a Google Cloud resource. The word 'DataSource' was included in the names to indicate that this is the representation of the Google Cloud resource used within the DataSource object." }, -"description": { -"description": "An optional text description for the instances that are created from these properties.", +"etag": { +"description": "Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", "type": "string" }, -"disk": { -"description": "An array of disks that are associated with the instances that are created from these properties.", -"items": { -"$ref": "AttachedDisk" -}, -"type": "array" -}, -"guestAccelerator": { -"description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", -"items": { -"$ref": "AcceleratorConfig" +"labels": { +"additionalProperties": { +"type": "string" }, -"type": "array" +"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", +"type": "object" }, -"guestFlush": { -"description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", -"type": "boolean" +"name": { +"description": "Output only. Identifier. Name of the datasource to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}\"`. `{datasource}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault.", +"readOnly": true, +"type": "string" }, -"keyRevocationActionType": { -"description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", +"state": { +"description": "Output only. The DataSource resource instance state.", "enum": [ -"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", -"NONE", -"STOP" +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"ERROR" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Indicates user chose no operation.", -"Indicates user chose to opt for VM shutdown on key revocation." +"State not set.", +"The data source is being created.", +"The data source has been created and is fully usable.", +"The data source is being deleted.", +"The data source is experiencing an issue and might be unusable." ], +"readOnly": true, "type": "string" }, -"labels": { -"additionalProperties": { +"totalStoredBytes": { +"description": "The number of bytes (metadata and data) stored in this datasource.", +"format": "int64", "type": "string" }, -"description": "Labels to apply to instances that are created from these properties.", +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, "type": "object" }, -"machineType": { -"description": "The machine type to use for instances that are created from these properties.", +"DataSourceBackupApplianceApplication": { +"description": "BackupApplianceApplication describes a Source Resource when it is an application backed up by a BackupAppliance.", +"id": "DataSourceBackupApplianceApplication", +"properties": { +"applianceId": { +"description": "Appliance Id of the Backup Appliance.", +"format": "int64", "type": "string" }, -"metadata": { -"$ref": "Metadata", -"description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See https://cloud.google.com/compute/docs/metadata/overview for more information." +"applicationId": { +"description": "The appid field of the application within the Backup Appliance.", +"format": "int64", +"type": "string" }, -"minCpuPlatform": { -"description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information, read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", +"applicationName": { +"description": "The name of the Application as known to the Backup Appliance.", "type": "string" }, -"networkInterface": { -"description": "An array of network access configurations for this interface.", -"items": { -"$ref": "NetworkInterface" +"backupAppliance": { +"description": "Appliance name.", +"type": "string" }, -"type": "array" +"hostId": { +"description": "Hostid of the application host.", +"format": "int64", +"type": "string" }, -"scheduling": { -"$ref": "Scheduling", -"description": "Specifies the scheduling options for the instances that are created from these properties." +"hostname": { +"description": "Hostname of the host where the application is running.", +"type": "string" }, -"serviceAccount": { -"description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", -"items": { -"$ref": "ServiceAccount" +"type": { +"description": "The type of the application. e.g. VMBackup", +"type": "string" +} }, -"type": "array" +"type": "object" }, -"sourceInstance": { -"description": "The source instance used to create this backup. This can be a partial or full URL to the resource. For example, the following are valid values: -https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance -projects/project/zones/zone/instances/instance", +"DataSourceBackupConfigInfo": { +"description": "Information of backup configuration on the DataSource.", +"id": "DataSourceBackupConfigInfo", +"properties": { +"lastBackupState": { +"description": "Output only. The status of the last backup in this DataSource", +"enum": [ +"LAST_BACKUP_STATE_UNSPECIFIED", +"FIRST_BACKUP_PENDING", +"SUCCEEDED", +"FAILED", +"PERMISSION_DENIED" +], +"enumDescriptions": [ +"Status not set.", +"The first backup has not yet completed", +"The most recent backup was successful", +"The most recent backup failed", +"The most recent backup could not be run/failed because of the lack of permissions" +], +"readOnly": true, "type": "string" }, -"tags": { -"$ref": "Tags", -"description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt)." +"lastSuccessfulBackupConsistencyTime": { +"description": "Output only. Timestamp of the last successful backup to this DataSource.", +"format": "google-datetime", +"readOnly": true, +"type": "string" } }, "type": "object" }, -"ComputeInstanceDataSourceProperties": { -"description": "ComputeInstanceDataSourceProperties represents the properties of a ComputeEngine resource that are stored in the DataSource.", -"id": "ComputeInstanceDataSourceProperties", +"DataSourceGcpResource": { +"description": "DataSourceGcpResource is used for protected resources that are Google Cloud Resources. This name is easeier to understand than GcpResourceDataSource or GcpDataSourceResource", +"id": "DataSourceGcpResource", "properties": { -"description": { -"description": "The description of the Compute Engine instance.", -"type": "string" +"alloyDbClusterDatasourceProperties": { +"$ref": "AlloyDBClusterDataSourceProperties", +"description": "Output only. AlloyDBClusterDataSourceProperties has a subset of AlloyDB cluster properties that are useful at the Datasource level. Currently none of its child properties are auditable. If new auditable properties are added, the AUDIT annotation should be added.", +"readOnly": true }, -"machineType": { -"description": "The machine type of the instance.", -"type": "string" +"cloudSqlInstanceDatasourceProperties": { +"$ref": "CloudSqlInstanceDataSourceProperties", +"description": "Output only. CloudSqlInstanceDataSourceProperties has a subset of Cloud SQL Instance properties that are useful at the Datasource level.", +"readOnly": true }, -"name": { -"description": "Name of the compute instance backed up by the datasource.", +"computeInstanceDatasourceProperties": { +"$ref": "ComputeInstanceDataSourceProperties", +"description": "ComputeInstanceDataSourceProperties has a subset of Compute Instance properties that are useful at the Datasource level." +}, +"diskDatasourceProperties": { +"$ref": "DiskDataSourceProperties", +"description": "DiskDataSourceProperties has a subset of Disk properties that are useful at the Datasource level." +}, +"filestoreInstanceDatasourceProperties": { +"$ref": "FilestoreInstanceDataSourceProperties", +"description": "Output only. FilestoreInstanceDataSourceProperties has a subset of FileStore instance properties that are useful at the Datasource level.", +"readOnly": true +}, +"gcpResourcename": { +"description": "Output only. Full resource pathname URL of the source Google Cloud resource.", +"readOnly": true, "type": "string" }, -"totalDiskCount": { -"description": "The total number of disks attached to the Instance.", -"format": "int64", +"location": { +"description": "Location of the resource: //\"global\"/\"unspecified\".", "type": "string" }, -"totalDiskSizeGb": { -"description": "The sum of all the disk sizes.", -"format": "int64", +"netappVolumeDatasourceProperties": { +"$ref": "NetAppVolumeDataSourceProperties", +"description": "Output only. NetAppVolumeDataSourceProperties has a subset of NetApp Volume properties that are useful at the Datasource level.", +"readOnly": true +}, +"type": { +"description": "The type of the Google Cloud resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", "type": "string" } }, "type": "object" }, -"ComputeInstanceRestoreProperties": { -"description": "ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore.", -"id": "ComputeInstanceRestoreProperties", +"DataSourceGcpResourceInfo": { +"description": "The Google Cloud resource that the DataSource is associated with.", +"id": "DataSourceGcpResourceInfo", "properties": { -"advancedMachineFeatures": { -"$ref": "AdvancedMachineFeatures", -"description": "Optional. Controls for advanced machine-related behavior features." -}, -"canIpForward": { -"description": "Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.", -"type": "boolean" +"alloyDbClusterProperties": { +"$ref": "AlloyDBClusterDataSourceReferenceProperties", +"description": "Output only. The properties of the AlloyDB cluster.", +"readOnly": true }, -"confidentialInstanceConfig": { -"$ref": "ConfidentialInstanceConfig", -"description": "Optional. Controls Confidential compute options on the instance" +"cloudSqlInstanceProperties": { +"$ref": "CloudSqlInstanceDataSourceReferenceProperties", +"description": "Output only. The properties of the Cloud SQL instance.", +"readOnly": true }, -"deletionProtection": { -"description": "Optional. Whether the resource should be protected against deletion.", -"type": "boolean" +"filestoreInstanceProperties": { +"$ref": "FilestoreInstanceDataSourceReferenceProperties", +"description": "Output only. The properties of the Filestore instance.", +"readOnly": true }, -"description": { -"description": "Optional. An optional description of this resource. Provide this property when you create the resource.", +"gcpResourcename": { +"description": "Output only. The resource name of the Google Cloud resource. Ex: projects/{project}/zones/{zone}/instances/{instance}", +"readOnly": true, "type": "string" }, -"disks": { -"description": "Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them. Source regional persistent disks will be restored with default replica zones if not specified.", -"items": { -"$ref": "AttachedDisk" +"location": { +"description": "Output only. The location of the Google Cloud resource. Ex: //\"global\"/\"unspecified\"", +"readOnly": true, +"type": "string" }, -"type": "array" +"netappVolumeProperties": { +"$ref": "NetAppVolumeDataSourceReferenceProperties", +"description": "Output only. The properties of the NetApp volume.", +"readOnly": true }, -"displayDevice": { -"$ref": "DisplayDevice", -"description": "Optional. Enables display device for the instance." +"type": { +"description": "Output only. The type of the Google Cloud resource. Ex: compute.googleapis.com/Instance", +"readOnly": true, +"type": "string" +} }, -"guestAccelerators": { -"description": "Optional. A list of the type and count of accelerator cards attached to the instance.", -"items": { -"$ref": "AcceleratorConfig" +"type": "object" }, -"type": "array" +"DataSourceReference": { +"description": "DataSourceReference is a reference to a DataSource resource.", +"id": "DataSourceReference", +"properties": { +"createTime": { +"description": "Output only. The time when the DataSourceReference was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"hostname": { -"description": "Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", +"dataSource": { +"description": "Output only. The resource name of the DataSource. Format: projects/{project}/locations/{location}/backupVaults/{backupVault}/dataSources/{dataSource}", +"readOnly": true, "type": "string" }, -"instanceEncryptionKey": { -"$ref": "CustomerEncryptionKey", -"description": "Optional. Encrypts suspended data for an instance with a customer-managed encryption key." +"dataSourceBackupConfigInfo": { +"$ref": "DataSourceBackupConfigInfo", +"description": "Output only. Information of backup configuration on the DataSource.", +"readOnly": true }, -"keyRevocationActionType": { -"description": "Optional. KeyRevocationActionType of the instance.", +"dataSourceBackupConfigState": { +"description": "Output only. The backup configuration state of the DataSource.", "enum": [ -"KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", -"NONE", -"STOP" +"BACKUP_CONFIG_STATE_UNSPECIFIED", +"ACTIVE", +"PASSIVE", +"PAUSED" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Indicates user chose no operation.", -"Indicates user chose to opt for VM shutdown on key revocation." +"The possible states of backup configuration. Status not set.", +"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", +"The data source is no longer protected (but may have backups under it)", +"The data source has been created but backups are paused" ], +"readOnly": true, "type": "string" }, -"labels": { -"additionalProperties": { -"type": "string" -}, -"description": "Optional. Labels to apply to this instance.", -"type": "object" -}, -"machineType": { -"description": "Optional. Full or partial URL of the machine type resource to use for this instance.", +"dataSourceBackupCount": { +"description": "Output only. Number of backups in the DataSource.", +"format": "int64", +"readOnly": true, "type": "string" }, -"metadata": { -"$ref": "Metadata", -"description": "Optional. This includes custom metadata and predefined keys." +"dataSourceGcpResourceInfo": { +"$ref": "DataSourceGcpResourceInfo", +"description": "Output only. The Google Cloud resource that the DataSource is associated with.", +"readOnly": true }, -"minCpuPlatform": { -"description": "Optional. Minimum CPU platform to use for this instance.", +"name": { +"description": "Identifier. The resource name of the DataSourceReference. Format: projects/{project}/locations/{location}/dataSourceReferences/{data_source_reference}", "type": "string" }, -"name": { -"description": "Required. Name of the compute instance.", +"totalStoredBytes": { +"description": "Output only. Total size of the storage used by all backup resources for the referenced datasource.", +"format": "int64", +"readOnly": true, "type": "string" +} }, -"networkInterfaces": { -"description": "Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. Required to restore in different project or region.", -"items": { -"$ref": "NetworkInterface" +"type": "object" }, -"type": "array" +"DiskBackupPlanProperties": { +"description": "Properties for a disk backup plan.", +"id": "DiskBackupPlanProperties", +"properties": { +"guestFlush": { +"description": "Optional. Indicates whether to perform a guest flush operation before taking a disk backup. When set to false, the system will create crash-consistent backups. Default value is false.", +"type": "boolean" +} }, -"networkPerformanceConfig": { -"$ref": "NetworkPerformanceConfig", -"description": "Optional. Configure network performance such as egress bandwidth tier." +"type": "object" }, -"params": { -"$ref": "InstanceParams", -"description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." +"DiskBackupProperties": { +"description": "DiskBackupProperties represents the properties of a Disk backup.", +"id": "DiskBackupProperties", +"properties": { +"accessMode": { +"description": "The access mode of the source disk.", +"type": "string" }, -"privateIpv6GoogleAccess": { -"description": "Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", +"architecture": { +"description": "The architecture of the source disk. Valid values are ARM64 or X86_64.", "enum": [ -"INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", -"INHERIT_FROM_SUBNETWORK", -"ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", -"ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE" +"ARCHITECTURE_UNSPECIFIED", +"X86_64", +"ARM64" ], "enumDescriptions": [ "Default value. This value is unused.", -"Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.", -"Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", -"Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before." +"Disks with architecture X86_64", +"Disks with architecture ARM64" ], "type": "string" }, -"reservationAffinity": { -"$ref": "AllocationAffinity", -"description": "Optional. Specifies the reservations that this instance can consume from." -}, -"resourcePolicies": { -"description": "Optional. Resource policies applied to this instance. By default, no resource policies will be applied.", -"items": { +"description": { +"description": "A description of the source disk.", "type": "string" }, -"type": "array" +"enableConfidentialCompute": { +"description": "Indicates whether the source disk is using confidential compute mode.", +"type": "boolean" }, -"scheduling": { -"$ref": "Scheduling", -"description": "Optional. Sets the scheduling options for this instance." +"guestFlush": { +"description": "Optional. Defines if the guest flush is enabled for the source disk. Default value is false.", +"type": "boolean" }, -"serviceAccounts": { -"description": "Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported.", +"guestOsFeature": { +"description": "A list of guest OS features that are applicable to this backup.", "items": { -"$ref": "ServiceAccount" +"$ref": "GuestOsFeature" }, "type": "array" }, -"tags": { -"$ref": "Tags", -"description": "Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation." -} +"labels": { +"additionalProperties": { +"type": "string" }, +"description": "The labels of the source disk.", "type": "object" }, -"ComputeInstanceTargetEnvironment": { -"description": "ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore.", -"id": "ComputeInstanceTargetEnvironment", -"properties": { -"project": { -"description": "Required. Target project for the Compute Engine instance.", +"licenses": { +"description": "A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image.", +"items": { "type": "string" }, -"useProjectServiceAccount": { -"description": "Optional. Whether to use the project service account for the Compute Engine instance restore.", -"type": "boolean" +"type": "array" }, -"zone": { -"description": "Required. The zone of the Compute Engine instance.", +"physicalBlockSizeBytes": { +"description": "The physical block size of the source disk.", +"format": "int64", "type": "string" -} }, -"type": "object" +"provisionedIops": { +"description": "The number of IOPS provisioned for the source disk.", +"format": "int64", +"type": "string" }, -"ConfidentialInstanceConfig": { -"description": "A set of Confidential Instance options.", -"id": "ConfidentialInstanceConfig", -"properties": { -"enableConfidentialCompute": { -"description": "Optional. Defines whether the instance should have confidential compute enabled.", -"type": "boolean" -} +"provisionedThroughput": { +"description": "The number of throughput provisioned for the source disk.", +"format": "int64", +"type": "string" }, -"type": "object" +"region": { +"description": "Region and zone are mutually exclusive fields. The URL of the region of the source disk.", +"type": "string" }, -"Criteria": { -"description": "Criteria specifies a set of criteria for matching resources.", -"id": "Criteria", -"properties": { -"matchingConditions": { -"description": "Required. A list of matching conditions that a resource must meet to be protected by the policy.", +"replicaZones": { +"description": "The URL of the Zones where the source disk should be replicated.", "items": { -"$ref": "MatchingCondition" +"type": "string" }, "type": "array" -} }, -"type": "object" +"sizeGb": { +"description": "Size(in GB) of the source disk.", +"format": "int64", +"type": "string" }, -"CustomerEncryptionKey": { -"description": "A customer-supplied encryption key.", -"id": "CustomerEncryptionKey", -"properties": { -"kmsKeyName": { -"description": "Optional. The name of the encryption key that is stored in Google Cloud KMS.", +"sourceDisk": { +"description": "The source disk used to create this backup.", "type": "string" }, -"kmsKeyServiceAccount": { -"description": "Optional. The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.", +"storagePool": { +"description": "The storage pool of the source disk.", "type": "string" }, -"rawKey": { -"description": "Optional. Specifies a 256-bit customer-supplied encryption key.", +"type": { +"description": "The URL of the type of the disk.", "type": "string" }, -"rsaEncryptedKey": { -"description": "Optional. RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource.", +"zone": { +"description": "The URL of the Zone where the source disk.", "type": "string" } }, "type": "object" }, -"DataSource": { -"description": "Message describing a DataSource object. Datasource object used to represent Datasource details for both admin and basic view.", -"id": "DataSource", +"DiskDataSourceProperties": { +"description": "DiskDataSourceProperties represents the properties of a Disk resource that are stored in the DataSource. .", +"id": "DiskDataSourceProperties", "properties": { -"backupBlockedByVaultAccessRestriction": { -"description": "Output only. This field is set to true if the backup is blocked by vault access restriction.", -"readOnly": true, -"type": "boolean" +"description": { +"description": "The description of the disk.", +"type": "string" }, -"backupConfigInfo": { -"$ref": "BackupConfigInfo", -"description": "Output only. Details of how the resource is configured for backup.", -"readOnly": true +"name": { +"description": "Name of the disk backed up by the datasource.", +"type": "string" }, -"backupCount": { -"description": "Number of backups in the data source.", +"sizeGb": { +"description": "The size of the disk in GB.", "format": "int64", "type": "string" }, -"configState": { -"description": "Output only. The backup configuration state.", +"type": { +"description": "The type of the disk.", +"type": "string" +} +}, +"type": "object" +}, +"DiskRestoreProperties": { +"description": "DiskRestoreProperties represents the properties of a Disk restore.", +"id": "DiskRestoreProperties", +"properties": { +"accessMode": { +"description": "Optional. The access mode of the disk.", "enum": [ -"BACKUP_CONFIG_STATE_UNSPECIFIED", -"ACTIVE", -"PASSIVE", -"PAUSED" +"READ_WRITE_SINGLE", +"READ_WRITE_MANY", +"READ_ONLY_MANY" ], "enumDescriptions": [ -"The possible states of backup configuration. Status not set.", -"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", -"The data source is no longer protected (but may have backups under it)", -"The data source has been created but backups are paused" +"The default AccessMode, means the disk can be attached to single instance in RW mode.", +"The AccessMode means the disk can be attached to multiple instances in RW mode.", +"The AccessMode means the disk can be attached to multiple instances in RO mode." +], +"type": "string" +}, +"architecture": { +"description": "Optional. The architecture of the source disk. Valid values are ARM64 or X86_64.", +"enum": [ +"ARCHITECTURE_UNSPECIFIED", +"X86_64", +"ARM64" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Disks with architecture X86_64", +"Disks with architecture ARM64" ], -"readOnly": true, "type": "string" }, -"createTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, +"description": { +"description": "Optional. An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, -"dataSourceBackupApplianceApplication": { -"$ref": "DataSourceBackupApplianceApplication", -"description": "The backed up resource is a backup appliance application." +"diskEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key." }, -"dataSourceGcpResource": { -"$ref": "DataSourceGcpResource", -"description": "The backed up resource is a Google Cloud resource. The word 'DataSource' was included in the names to indicate that this is the representation of the Google Cloud resource used within the DataSource object." +"enableConfidentialCompute": { +"description": "Optional. Indicates whether this disk is using confidential compute mode. Encryption with a Cloud KMS key is required to enable this option.", +"type": "boolean" }, -"etag": { -"description": "Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", -"type": "string" +"guestOsFeature": { +"description": "Optional. A list of features to enable in the guest operating system. This is applicable only for bootable images.", +"items": { +"$ref": "GuestOsFeature" +}, +"type": "array" +}, +"instanceBackupSource": { +"$ref": "RestoreDiskFromInstanceOptions", +"description": "Options for creating a disk from a source Compute Instance backup." }, "labels": { "additionalProperties": { "type": "string" }, -"description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", +"description": "Optional. Labels to apply to this disk. These can be modified later using setLabels method. Label values can be empty.", "type": "object" }, +"licenses": { +"description": "Optional. A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image", +"items": { +"type": "string" +}, +"type": "array" +}, "name": { -"description": "Output only. Identifier. Name of the datasource to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}\"`. `{datasource}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault.", -"readOnly": true, +"description": "Required. Name of the disk.", "type": "string" }, -"state": { -"description": "Output only. The DataSource resource instance state.", -"enum": [ -"STATE_UNSPECIFIED", -"CREATING", -"ACTIVE", -"DELETING", -"ERROR" -], -"enumDescriptions": [ -"State not set.", -"The data source is being created.", -"The data source has been created and is fully usable.", -"The data source is being deleted.", -"The data source is experiencing an issue and might be unusable." -], -"readOnly": true, +"physicalBlockSizeBytes": { +"description": "Optional. Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently, the supported size is 4096.", +"format": "int64", "type": "string" }, -"totalStoredBytes": { -"description": "The number of bytes (metadata and data) stored in this datasource.", +"provisionedIops": { +"description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.", "format": "int64", "type": "string" }, -"updateTime": { -"description": "Output only. The time when the instance was updated.", -"format": "google-datetime", -"readOnly": true, +"provisionedThroughput": { +"description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput MB per second that the disk can handle.", +"format": "int64", "type": "string" -} }, +"resourceManagerTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource manager tags to be bound to the disk.", "type": "object" }, -"DataSourceBackupApplianceApplication": { -"description": "BackupApplianceApplication describes a Source Resource when it is an application backed up by a BackupAppliance.", -"id": "DataSourceBackupApplianceApplication", -"properties": { -"applianceId": { -"description": "Appliance Id of the Backup Appliance.", -"format": "int64", +"resourcePolicy": { +"description": "Optional. Resource policies applied to this disk.", +"items": { "type": "string" }, -"applicationId": { -"description": "The appid field of the application within the Backup Appliance.", +"type": "array" +}, +"sizeGb": { +"description": "Required. The size of the disk in GB.", "format": "int64", "type": "string" }, -"applicationName": { -"description": "The name of the Application as known to the Backup Appliance.", +"storagePool": { +"description": "Optional. The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource.", "type": "string" }, -"backupAppliance": { -"description": "Appliance name.", +"type": { +"description": "Required. URL of the disk type resource describing which disk type to use to create the disk.", "type": "string" +} }, -"hostId": { -"description": "Hostid of the application host.", -"format": "int64", +"type": "object" +}, +"DiskTargetEnvironment": { +"description": "DiskTargetEnvironment represents the target environment for the disk.", +"id": "DiskTargetEnvironment", +"properties": { +"project": { +"description": "Required. Target project for the disk.", "type": "string" }, -"hostname": { -"description": "Hostname of the host where the application is running.", +"useProjectServiceAccount": { +"description": "Optional. Whether to use the project service account for the disk restore.", +"type": "boolean" +}, +"zone": { +"description": "Required. Target zone for the disk.", "type": "string" +} }, -"type": { -"description": "The type of the application. e.g. VMBackup", +"type": "object" +}, +"DisplayDevice": { +"description": "A set of Display Device options", +"id": "DisplayDevice", +"properties": { +"enableDisplay": { +"description": "Optional. Enables display for the Compute Engine VM", +"type": "boolean" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EncryptionConfig": { +"description": "Message describing the EncryptionConfig of backup vault. This determines how data within the vault is encrypted at rest.", +"id": "EncryptionConfig", +"properties": { +"kmsKeyName": { +"description": "Optional. The Cloud KMS key name to encrypt backups in this backup vault. Must be in the same region as the vault. Some workload backups like compute disk backups may use their inherited source key instead. Format: projects/{project}/locations/{location}/keyRings/{ring}/cryptoKeys/{key}", "type": "string" } }, "type": "object" }, -"DataSourceBackupConfigInfo": { -"description": "Information of backup configuration on the DataSource.", -"id": "DataSourceBackupConfigInfo", +"EndTrialRequest": { +"description": "Request message for ending a trial.", +"id": "EndTrialRequest", "properties": { -"lastBackupState": { -"description": "Output only. The status of the last backup in this DataSource", +"endReason": { +"description": "Required. The reason for ending the trial.", "enum": [ -"LAST_BACKUP_STATE_UNSPECIFIED", -"FIRST_BACKUP_PENDING", -"SUCCEEDED", -"FAILED", -"PERMISSION_DENIED" +"END_REASON_UNSPECIFIED", +"MOVE_TO_PAID", +"DISCONTINUED" ], "enumDescriptions": [ -"Status not set.", -"The first backup has not yet completed", -"The most recent backup was successful", -"The most recent backup failed", -"The most recent backup could not be run/failed because of the lack of permissions" +"End reason not set.", +"Trial is deliberately ended by the user to transition to paid usage.", +"Trial is discontinued before expiration." ], -"readOnly": true, -"type": "string" -}, -"lastSuccessfulBackupConsistencyTime": { -"description": "Output only. Timestamp of the last successful backup to this DataSource.", -"format": "google-datetime", -"readOnly": true, "type": "string" } }, "type": "object" }, -"DataSourceGcpResource": { -"description": "DataSourceGcpResource is used for protected resources that are Google Cloud Resources. This name is easeier to understand than GcpResourceDataSource or GcpDataSourceResource", -"id": "DataSourceGcpResource", +"Entry": { +"description": "A key/value pair to be used for storing metadata.", +"id": "Entry", "properties": { -"alloyDbClusterDatasourceProperties": { -"$ref": "AlloyDBClusterDataSourceProperties", -"description": "Output only. AlloyDBClusterDataSourceProperties has a subset of AlloyDB cluster properties that are useful at the Datasource level. Currently none of its child properties are auditable. If new auditable properties are added, the AUDIT annotation should be added.", -"readOnly": true -}, -"cloudSqlInstanceDatasourceProperties": { -"$ref": "CloudSqlInstanceDataSourceProperties", -"description": "Output only. CloudSqlInstanceDataSourceProperties has a subset of Cloud SQL Instance properties that are useful at the Datasource level.", -"readOnly": true +"key": { +"description": "Optional. Key for the metadata entry.", +"type": "string" }, -"computeInstanceDatasourceProperties": { -"$ref": "ComputeInstanceDataSourceProperties", -"description": "ComputeInstanceDataSourceProperties has a subset of Compute Instance properties that are useful at the Datasource level." +"value": { +"description": "Optional. Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", +"type": "string" +} }, -"diskDatasourceProperties": { -"$ref": "DiskDataSourceProperties", -"description": "DiskDataSourceProperties has a subset of Disk properties that are useful at the Datasource level." +"type": "object" }, -"filestoreInstanceDatasourceProperties": { -"$ref": "FilestoreInstanceDataSourceProperties", -"description": "Output only. FilestoreInstanceDataSourceProperties has a subset of FileStore instance properties that are useful at the Datasource level.", -"readOnly": true +"ExecutionSummary": { +"description": "Summary of the last execution.", +"id": "ExecutionSummary", +"properties": { +"lastExecution": { +"description": "Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`", +"readOnly": true, +"type": "string" }, -"gcpResourcename": { -"description": "Output only. Full resource pathname URL of the source Google Cloud resource.", +"lastExecutionState": { +"description": "Output only. The state of the last execution.", +"enum": [ +"EXECUTION_STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"DELETING" +], +"enumDescriptions": [ +"State not set.", +"Execution is running.", +"Execution succeeded.", +"Execution failed.", +"Resources are being deleted (cleanup)." +], "readOnly": true, "type": "string" +} }, -"location": { -"description": "Location of the resource: //\"global\"/\"unspecified\".", +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", "type": "string" }, -"netappVolumeDatasourceProperties": { -"$ref": "NetAppVolumeDataSourceProperties", -"description": "Output only. NetAppVolumeDataSourceProperties has a subset of NetApp Volume properties that are useful at the Datasource level.", -"readOnly": true +"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" }, -"type": { -"description": "The type of the Google Cloud resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", +"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" }, -"DataSourceGcpResourceInfo": { -"description": "The Google Cloud resource that the DataSource is associated with.", -"id": "DataSourceGcpResourceInfo", +"FetchAccessTokenRequest": { +"description": "Request message for FetchAccessToken.", +"id": "FetchAccessTokenRequest", "properties": { -"alloyDbClusterProperties": { -"$ref": "AlloyDBClusterDataSourceReferenceProperties", -"description": "Output only. The properties of the AlloyDB cluster.", -"readOnly": true -}, -"cloudSqlInstanceProperties": { -"$ref": "CloudSqlInstanceDataSourceReferenceProperties", -"description": "Output only. The properties of the Cloud SQL instance.", -"readOnly": true +"generationId": { +"description": "Required. The generation of the backup to update.", +"format": "int32", +"type": "integer" +} }, -"filestoreInstanceProperties": { -"$ref": "FilestoreInstanceDataSourceReferenceProperties", -"description": "Output only. The properties of the Filestore instance.", -"readOnly": true +"type": "object" }, -"gcpResourcename": { -"description": "Output only. The resource name of the Google Cloud resource. Ex: projects/{project}/zones/{zone}/instances/{instance}", -"readOnly": true, +"FetchAccessTokenResponse": { +"description": "Response message for FetchAccessToken.", +"id": "FetchAccessTokenResponse", +"properties": { +"expireTime": { +"description": "The token is valid until this time.", +"format": "google-datetime", "type": "string" }, -"location": { -"description": "Output only. The location of the Google Cloud resource. Ex: //\"global\"/\"unspecified\"", -"readOnly": true, +"readLocation": { +"description": "The location in bucket that can be used for reading.", "type": "string" }, -"netappVolumeProperties": { -"$ref": "NetAppVolumeDataSourceReferenceProperties", -"description": "Output only. The properties of the NetApp volume.", -"readOnly": true +"token": { +"description": "Input only. The downscoped token that was created.", +"type": "string" }, -"type": { -"description": "Output only. The type of the Google Cloud resource. Ex: compute.googleapis.com/Instance", -"readOnly": true, +"writeLocation": { +"description": "The location in bucket that can be used for writing.", "type": "string" } }, "type": "object" }, -"DataSourceReference": { -"description": "DataSourceReference is a reference to a DataSource resource.", -"id": "DataSourceReference", +"FetchBackupPlanAssociationsForResourceTypeResponse": { +"description": "Response for the FetchBackupPlanAssociationsForResourceType method.", +"id": "FetchBackupPlanAssociationsForResourceTypeResponse", "properties": { -"createTime": { -"description": "Output only. The time when the DataSourceReference was created.", -"format": "google-datetime", +"backupPlanAssociations": { +"description": "Output only. The BackupPlanAssociations from the specified parent.", +"items": { +"$ref": "BackupPlanAssociation" +}, "readOnly": true, -"type": "string" +"type": "array" }, -"dataSource": { -"description": "Output only. The resource name of the DataSource. Format: projects/{project}/locations/{location}/backupVaults/{backupVault}/dataSources/{dataSource}", +"nextPageToken": { +"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "readOnly": true, "type": "string" +} }, -"dataSourceBackupConfigInfo": { -"$ref": "DataSourceBackupConfigInfo", -"description": "Output only. Information of backup configuration on the DataSource.", -"readOnly": true +"type": "object" }, -"dataSourceBackupConfigState": { -"description": "Output only. The backup configuration state of the DataSource.", -"enum": [ -"BACKUP_CONFIG_STATE_UNSPECIFIED", -"ACTIVE", -"PASSIVE", -"PAUSED" -], -"enumDescriptions": [ -"The possible states of backup configuration. Status not set.", -"The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", -"The data source is no longer protected (but may have backups under it)", -"The data source has been created but backups are paused" -], -"readOnly": true, -"type": "string" +"FetchBackupsForResourceTypeResponse": { +"description": "Response for the FetchBackupsForResourceType method.", +"id": "FetchBackupsForResourceTypeResponse", +"properties": { +"backups": { +"description": "The Backups from the specified parent.", +"items": { +"$ref": "Backup" }, -"dataSourceBackupCount": { -"description": "Output only. Number of backups in the DataSource.", -"format": "int64", -"readOnly": true, +"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" +} }, -"dataSourceGcpResourceInfo": { -"$ref": "DataSourceGcpResourceInfo", -"description": "Output only. The Google Cloud resource that the DataSource is associated with.", -"readOnly": true +"type": "object" }, -"name": { -"description": "Identifier. The resource name of the DataSourceReference. Format: projects/{project}/locations/{location}/dataSourceReferences/{data_source_reference}", +"FetchDataSourceReferencesForResourceTypeResponse": { +"description": "Response for the FetchDataSourceReferencesForResourceType method.", +"id": "FetchDataSourceReferencesForResourceTypeResponse", +"properties": { +"dataSourceReferences": { +"description": "The DataSourceReferences from the specified parent.", +"items": { +"$ref": "DataSourceReference" +}, +"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" +} }, -"totalStoredBytes": { -"description": "Output only. Total size of the storage used by all backup resources for the referenced datasource.", -"format": "int64", -"readOnly": true, +"type": "object" +}, +"FetchMsComplianceMetadataRequest": { +"description": "Request message for GetMsComplianceMetadata", +"id": "FetchMsComplianceMetadataRequest", +"properties": { +"projectId": { +"description": "Required. The project id of the target project", "type": "string" } }, "type": "object" }, -"DiskBackupPlanProperties": { -"description": "Properties for a disk backup plan.", -"id": "DiskBackupPlanProperties", +"FetchMsComplianceMetadataResponse": { +"description": "Response message for GetMsComplianceMetadata", +"id": "FetchMsComplianceMetadataResponse", "properties": { -"guestFlush": { -"description": "Optional. Indicates whether to perform a guest flush operation before taking a disk backup. When set to false, the system will create crash-consistent backups. Default value is false.", +"isAssuredWorkload": { +"description": "The ms compliance metadata of the target project, if the project is an Assured Workloads project, values will be true, otherwise false.", "type": "boolean" } }, "type": "object" }, -"DiskBackupProperties": { -"description": "DiskBackupProperties represents the properties of a Disk backup.", -"id": "DiskBackupProperties", +"FetchResourceBackupConfigsResponse": { +"description": "Response for FetchResourceBackupConfigs.", +"id": "FetchResourceBackupConfigsResponse", "properties": { -"accessMode": { -"description": "The access mode of the source disk.", +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" }, -"architecture": { -"description": "The architecture of the source disk. Valid values are ARM64 or X86_64.", -"enum": [ -"ARCHITECTURE_UNSPECIFIED", -"X86_64", -"ARM64" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"Disks with architecture X86_64", -"Disks with architecture ARM64" -], -"type": "string" +"resourceBackupConfigs": { +"description": "The list of ResourceBackupConfigs for the specified scope.", +"items": { +"$ref": "ResourceBackupConfig" }, -"description": { -"description": "A description of the source disk.", -"type": "string" +"type": "array" +} }, -"enableConfidentialCompute": { -"description": "Indicates whether the source disk is using confidential compute mode.", -"type": "boolean" +"type": "object" }, -"guestFlush": { -"description": "Optional. Defines if the guest flush is enabled for the source disk. Default value is false.", -"type": "boolean" +"FetchUsableBackupVaultsResponse": { +"description": "Response message for fetching usable BackupVaults.", +"id": "FetchUsableBackupVaultsResponse", +"properties": { +"backupVaults": { +"description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "BackupVault" }, -"guestOsFeature": { -"description": "A list of guest OS features that are applicable to this backup.", +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", "items": { -"$ref": "GuestOsFeature" +"type": "string" }, "type": "array" +} }, -"labels": { -"additionalProperties": { +"type": "object" +}, +"FilestoreInstanceBackupPlanAssociationProperties": { +"description": "Filestore instance's BPA properties.", +"id": "FilestoreInstanceBackupPlanAssociationProperties", +"properties": { +"instanceCreateTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, "type": "string" +} +}, +"type": "object" +}, +"FilestoreInstanceBackupProperties": { +"description": "FilestoreInstanceBackupProperties represents the properties of a Filestore instance that are backed up by the datasource. .", +"id": "FilestoreInstanceBackupProperties", +"properties": { +"sourceInstance": { +"description": "Output only. The source instance of the backup.", +"readOnly": true, +"type": "string" +} }, -"description": "The labels of the source disk.", "type": "object" }, -"licenses": { -"description": "A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image.", -"items": { +"FilestoreInstanceDataSourceProperties": { +"description": "FilestoreInstanceDataSourceProperties represents the properties of a Filestore resource that are stored in the DataSource. .", +"id": "FilestoreInstanceDataSourceProperties", +"properties": { +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the Filestore instance backed up by the datasource.", +"readOnly": true, "type": "string" +} }, -"type": "array" +"type": "object" }, -"physicalBlockSizeBytes": { -"description": "The physical block size of the source disk.", -"format": "int64", +"FilestoreInstanceDataSourceReferenceProperties": { +"description": "FilestoreInstanceDataSourceReferenceProperties represents the properties of a Filestore resource that are stored in the DataSourceReference. .", +"id": "FilestoreInstanceDataSourceReferenceProperties", +"properties": { +"instanceCreateTime": { +"description": "Output only. The instance creation timestamp.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"provisionedIops": { -"description": "The number of IOPS provisioned for the source disk.", -"format": "int64", +"name": { +"description": "Output only. Name of the Filestore instance backed up by the datasource. Format: projects/{project}/instances/{instance}", +"readOnly": true, "type": "string" +} }, -"provisionedThroughput": { -"description": "The number of throughput provisioned for the source disk.", -"format": "int64", -"type": "string" +"type": "object" }, -"region": { -"description": "Region and zone are mutually exclusive fields. The URL of the region of the source disk.", +"FinalizeBackupRequest": { +"description": "Message for finalizing a Backup.", +"id": "FinalizeBackupRequest", +"properties": { +"backupId": { +"description": "Required. Resource ID of the Backup resource to be finalized. This must be the same backup_id that was used in the InitiateBackupRequest.", "type": "string" }, -"replicaZones": { -"description": "The URL of the Zones where the source disk should be replicated.", -"items": { +"consistencyTime": { +"description": "The point in time when this backup was captured from the source. This will be assigned to the consistency_time field of the newly created Backup.", +"format": "google-datetime", "type": "string" }, -"type": "array" -}, -"sizeGb": { -"description": "Size(in GB) of the source disk.", -"format": "int64", +"description": { +"description": "This will be assigned to the description field of the newly created Backup.", "type": "string" }, -"sourceDisk": { -"description": "The source disk used to create this backup.", +"recoveryRangeEndTime": { +"description": "The latest timestamp of data available in this Backup. This will be set on the newly created Backup.", +"format": "google-datetime", "type": "string" }, -"storagePool": { -"description": "The storage pool of the source disk.", +"recoveryRangeStartTime": { +"description": "The earliest timestamp of data available in this Backup. This will set on the newly created Backup.", +"format": "google-datetime", "type": "string" }, -"type": { -"description": "The URL of the type of the disk.", +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" }, -"zone": { -"description": "The URL of the Zone where the source disk.", +"retentionDuration": { +"description": "The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime.", +"format": "google-duration", "type": "string" } }, "type": "object" }, -"DiskDataSourceProperties": { -"description": "DiskDataSourceProperties represents the properties of a Disk resource that are stored in the DataSource. .", -"id": "DiskDataSourceProperties", +"GCPBackupPlanInfo": { +"description": "GCPBackupPlanInfo captures the plan configuration details of Google Cloud resources at the time of backup.", +"id": "GCPBackupPlanInfo", "properties": { -"description": { -"description": "The description of the disk.", +"backupPlan": { +"description": "Resource name of backup plan by which workload is protected at the time of the backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", "type": "string" }, -"name": { -"description": "Name of the disk backed up by the datasource.", +"backupPlanRevisionId": { +"description": "The user friendly id of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup.", "type": "string" }, -"sizeGb": { -"description": "The size of the disk in GB.", -"format": "int64", +"backupPlanRevisionName": { +"description": "Resource name of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}/revisions/{revisionId}", "type": "string" }, -"type": { -"description": "The type of the disk.", +"backupPlanRuleId": { +"description": "The rule id of the backup plan which triggered this backup in case of scheduled backup or used for", "type": "string" } }, "type": "object" }, -"DiskRestoreProperties": { -"description": "DiskRestoreProperties represents the properties of a Disk restore.", -"id": "DiskRestoreProperties", +"GcpBackupConfig": { +"description": "GcpBackupConfig captures the Backup configuration details for Google Cloud resources. All Google Cloud resources regardless of type are protected with backup plan associations.", +"id": "GcpBackupConfig", "properties": { -"accessMode": { -"description": "Optional. The access mode of the disk.", -"enum": [ -"READ_WRITE_SINGLE", -"READ_WRITE_MANY", -"READ_ONLY_MANY" -], -"enumDescriptions": [ -"The default AccessMode, means the disk can be attached to single instance in RW mode.", -"The AccessMode means the disk can be attached to multiple instances in RW mode.", -"The AccessMode means the disk can be attached to multiple instances in RO mode." -], +"autoProtectionPolicyBinding": { +"description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this datasource, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", +"readOnly": true, "type": "string" }, -"architecture": { -"description": "Optional. The architecture of the source disk. Valid values are ARM64 or X86_64.", -"enum": [ -"ARCHITECTURE_UNSPECIFIED", -"X86_64", -"ARM64" -], -"enumDescriptions": [ -"Default value. This value is unused.", -"Disks with architecture X86_64", -"Disks with architecture ARM64" -], +"backupPlan": { +"description": "The name of the backup plan.", "type": "string" }, -"description": { -"description": "Optional. An optional description of this resource. Provide this property when you create the resource.", +"backupPlanAssociation": { +"description": "The name of the backup plan association.", "type": "string" }, -"diskEncryptionKey": { -"$ref": "CustomerEncryptionKey", -"description": "Optional. Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key." +"backupPlanDescription": { +"description": "The description of the backup plan.", +"type": "string" }, -"enableConfidentialCompute": { -"description": "Optional. Indicates whether this disk is using confidential compute mode. Encryption with a Cloud KMS key is required to enable this option.", -"type": "boolean" +"backupPlanRevisionId": { +"description": "The user friendly id of the backup plan revision. E.g. v0, v1 etc.", +"type": "string" }, -"guestOsFeature": { -"description": "Optional. A list of features to enable in the guest operating system. This is applicable only for bootable images.", +"backupPlanRevisionName": { +"description": "The name of the backup plan revision.", +"type": "string" +}, +"backupPlanRules": { +"description": "The names of the backup plan rules which point to this backupvault", "items": { -"$ref": "GuestOsFeature" +"type": "string" }, "type": "array" +} }, -"instanceBackupSource": { -"$ref": "RestoreDiskFromInstanceOptions", -"description": "Options for creating a disk from a source Compute Instance backup." +"type": "object" }, -"labels": { +"GoogleCloudBackupdrV1betaOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBackupdrV1betaOperationMetadata", +"properties": { +"additionalInfo": { "additionalProperties": { "type": "string" }, -"description": "Optional. Labels to apply to this disk. These can be modified later using setLabels method. Label values can be empty.", +"description": "Output only. AdditionalInfo contains additional Info related to backup plan association resource.", +"readOnly": true, "type": "object" }, -"licenses": { -"description": "Optional. A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image", -"items": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, "type": "string" }, -"type": "array" +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"name": { -"description": "Required. Name of the disk.", +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"physicalBlockSizeBytes": { -"description": "Optional. Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently, the supported size is 4096.", -"format": "int64", +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, "type": "string" }, -"provisionedIops": { -"description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.", -"format": "int64", +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, "type": "string" }, -"provisionedThroughput": { -"description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput MB per second that the disk can handle.", -"format": "int64", +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, "type": "string" +} }, -"resourceManagerTags": { -"additionalProperties": { +"type": "object" +}, +"GuestOsFeature": { +"description": "Feature type of the Guest OS.", +"id": "GuestOsFeature", +"properties": { +"type": { +"description": "The ID of a supported feature.", +"enum": [ +"FEATURE_TYPE_UNSPECIFIED", +"VIRTIO_SCSI_MULTIQUEUE", +"WINDOWS", +"MULTI_IP_SUBNET", +"UEFI_COMPATIBLE", +"SECURE_BOOT", +"GVNIC", +"SEV_CAPABLE", +"BARE_METAL_LINUX_COMPATIBLE", +"SUSPEND_RESUME_COMPATIBLE", +"SEV_LIVE_MIGRATABLE", +"SEV_SNP_CAPABLE", +"TDX_CAPABLE", +"IDPF", +"SEV_LIVE_MIGRATABLE_V2" +], +"enumDescriptions": [ +"Default value, which is unused.", +"VIRTIO_SCSI_MULTIQUEUE feature type.", +"WINDOWS feature type.", +"MULTI_IP_SUBNET feature type.", +"UEFI_COMPATIBLE feature type.", +"SECURE_BOOT feature type.", +"GVNIC feature type.", +"SEV_CAPABLE feature type.", +"BARE_METAL_LINUX_COMPATIBLE feature type.", +"SUSPEND_RESUME_COMPATIBLE feature type.", +"SEV_LIVE_MIGRATABLE feature type.", +"SEV_SNP_CAPABLE feature type.", +"TDX_CAPABLE feature type.", +"IDPF feature type.", +"SEV_LIVE_MIGRATABLE_V2 feature type." +], "type": "string" +} }, -"description": "Optional. Resource manager tags to be bound to the disk.", "type": "object" }, -"resourcePolicy": { -"description": "Optional. Resource policies applied to this disk.", +"InitializeParams": { +"description": "Specifies the parameters to initialize this disk.", +"id": "InitializeParams", +"properties": { +"diskName": { +"description": "Optional. Specifies the disk name. If not specified, the default is to use the name of the instance.", +"type": "string" +}, +"replicaZones": { +"description": "Optional. URL of the zone where the disk should be created. Required for each regional disk associated with the instance.", "items": { "type": "string" }, "type": "array" +} }, -"sizeGb": { -"description": "Required. The size of the disk in GB.", -"format": "int64", +"type": "object" +}, +"InitializeServiceRequest": { +"description": "Request message for initializing the service.", +"id": "InitializeServiceRequest", +"properties": { +"backupPlanLocation": { +"description": "Optional. The location where the BackupPlan will be created. This field is required for multi-region BackupVaults and is optional for regional BackupVaults. It is useful when creating a Backup Vault in a multi-region, allowing the BackupPlan to reside in a specific region within that multi-region. If this field is not provided, the BackupPlan will be created in the same location as specified in the `name` field.", "type": "string" }, -"storagePool": { -"description": "Optional. The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource.", +"cloudSqlInstanceInitializationConfig": { +"$ref": "CloudSqlInstanceInitializationConfig", +"description": "Optional. The configuration for initializing a Cloud SQL instance." +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" }, -"type": { -"description": "Required. URL of the disk type resource describing which disk type to use to create the disk.", +"resourceType": { +"description": "Required. The resource type to which the default service config will be applied. Examples include, \"compute.googleapis.com/Instance\" and \"storage.googleapis.com/Bucket\".", "type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates the request and returns the result, but does not actually run it.", +"type": "boolean" } }, "type": "object" }, -"DiskTargetEnvironment": { -"description": "DiskTargetEnvironment represents the target environment for the disk.", -"id": "DiskTargetEnvironment", +"InitiateBackupRequest": { +"description": "request message for InitiateBackup.", +"id": "InitiateBackupRequest", "properties": { -"project": { -"description": "Required. Target project for the disk.", +"backupId": { +"description": "Required. Resource ID of the Backup resource.", "type": "string" }, -"useProjectServiceAccount": { -"description": "Optional. Whether to use the project service account for the disk restore.", -"type": "boolean" -}, -"zone": { -"description": "Required. Target zone for the disk.", +"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).", "type": "string" } }, "type": "object" }, -"DisplayDevice": { -"description": "A set of Display Device options", -"id": "DisplayDevice", +"InitiateBackupResponse": { +"description": "Response message for InitiateBackup.", +"id": "InitiateBackupResponse", "properties": { -"enableDisplay": { -"description": "Optional. Enables display for the Compute Engine VM", -"type": "boolean" -} +"backup": { +"description": "The name of the backup that was created.", +"type": "string" }, -"type": "object" +"baseBackupGenerationId": { +"description": "The generation id of the base backup. It is needed for the incremental backups.", +"format": "int32", +"type": "integer" +}, +"newBackupGenerationId": { +"description": "The generation id of the new backup.", +"format": "int32", +"type": "integer" +} }, -"Empty": { -"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", -"id": "Empty", -"properties": {}, "type": "object" }, -"EncryptionConfig": { -"description": "Message describing the EncryptionConfig of backup vault. This determines how data within the vault is encrypted at rest.", -"id": "EncryptionConfig", +"InitiateDeleteAutoProtectionPolicyBindingRequest": { +"description": "Request message for initiating delete of an AutoProtectionPolicyBinding.", +"id": "InitiateDeleteAutoProtectionPolicyBindingRequest", "properties": { -"kmsKeyName": { -"description": "Optional. The Cloud KMS key name to encrypt backups in this backup vault. Must be in the same region as the vault. Some workload backups like compute disk backups may use their inherited source key instead. Format: projects/{project}/locations/{location}/keyRings/{ring}/cryptoKeys/{key}", +"etag": { +"description": "Optional. The current etag of the AutoProtectionPolicyBinding. If an etag is provided and does not match the current etag of the binding, deletion will be blocked and an ABORTED error will be returned.", +"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. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" } }, "type": "object" }, -"EndTrialRequest": { -"description": "Request message for ending a trial.", -"id": "EndTrialRequest", +"InstanceParams": { +"description": "Additional instance params.", +"id": "InstanceParams", "properties": { -"endReason": { -"description": "Required. The reason for ending the trial.", -"enum": [ -"END_REASON_UNSPECIFIED", -"MOVE_TO_PAID", -"DISCONTINUED" -], -"enumDescriptions": [ -"End reason not set.", -"Trial is deliberately ended by the user to transition to paid usage.", -"Trial is discontinued before expiration." -], +"resourceManagerTags": { +"additionalProperties": { "type": "string" +}, +"description": "Optional. Resource manager tags to be bound to the instance.", +"type": "object" } }, "type": "object" }, -"Entry": { -"description": "A key/value pair to be used for storing metadata.", -"id": "Entry", +"KeyValuePair": { +"description": "KeyValuePair defines a key-value pair for matching resource labels.", +"id": "KeyValuePair", "properties": { "key": { -"description": "Optional. Key for the metadata entry.", +"description": "Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\\p{Ll}\\p{Lo}{0,62}`.", "type": "string" }, -"value": { -"description": "Optional. Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", +"values": { +"description": "Required. The values of the label to match. There will be explicit \u201cOR\u201d between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\\\p{Ll}\\\\p{Lo}\\\\p{N}_-]{1,63}`.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"Expr": { -"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", -"id": "Expr", +"ListAppliedAutoProtectionPoliciesResponse": { +"description": "Response message for ListAppliedAutoProtectionPolicies.", +"id": "ListAppliedAutoProtectionPoliciesResponse", "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" +"appliedAutoProtectionPolicies": { +"description": "A list of the AppliedAutoProtectionPolicy resources found.", +"items": { +"$ref": "AppliedAutoProtectionPolicy" }, -"expression": { -"description": "Textual representation of an expression in Common Expression Language syntax.", -"type": "string" +"type": "array" }, -"location": { -"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page.", "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.", +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { "type": "string" -} -}, -"type": "object" }, -"FetchAccessTokenRequest": { -"description": "Request message for FetchAccessToken.", -"id": "FetchAccessTokenRequest", -"properties": { -"generationId": { -"description": "Required. The generation of the backup to update.", -"format": "int32", -"type": "integer" +"type": "array" } }, "type": "object" }, -"FetchAccessTokenResponse": { -"description": "Response message for FetchAccessToken.", -"id": "FetchAccessTokenResponse", +"ListAutoProtectionPoliciesResponse": { +"description": "Response message for ListAutoProtectionPolicies.", +"id": "ListAutoProtectionPoliciesResponse", "properties": { -"expireTime": { -"description": "The token is valid until this time.", -"format": "google-datetime", -"type": "string" +"autoProtectionPolicies": { +"description": "A list of the AutoProtectionPolicy resources found.", +"items": { +"$ref": "AutoProtectionPolicy" }, -"readLocation": { -"description": "The location in bucket that can be used for reading.", -"type": "string" +"type": "array" }, -"token": { -"description": "Input only. The downscoped token that was created.", +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, -"writeLocation": { -"description": "The location in bucket that can be used for writing.", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FetchBackupPlanAssociationsForResourceTypeResponse": { -"description": "Response for the FetchBackupPlanAssociationsForResourceType method.", -"id": "FetchBackupPlanAssociationsForResourceTypeResponse", +"ListAutoProtectionPolicyBindingsResponse": { +"description": "Response message for ListAutoProtectionPolicyBindings.", +"id": "ListAutoProtectionPolicyBindingsResponse", "properties": { -"backupPlanAssociations": { -"description": "Output only. The BackupPlanAssociations from the specified parent.", +"autoProtectionPolicyBindings": { +"description": "A list of the AutoProtectionPolicyBindings resources found.", "items": { -"$ref": "BackupPlanAssociation" +"$ref": "AutoProtectionPolicyBinding" }, -"readOnly": true, "type": "array" }, "nextPageToken": { -"description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", -"readOnly": true, +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FetchBackupsForResourceTypeResponse": { -"description": "Response for the FetchBackupsForResourceType method.", -"id": "FetchBackupsForResourceTypeResponse", +"ListBackupPlanAssociationsResponse": { +"description": "Response message for List BackupPlanAssociation", +"id": "ListBackupPlanAssociationsResponse", "properties": { -"backups": { -"description": "The Backups from the specified parent.", +"backupPlanAssociations": { +"description": "The list of Backup Plan Associations in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup plan associations in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", "items": { -"$ref": "Backup" +"$ref": "BackupPlanAssociation" }, "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.", +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FetchDataSourceReferencesForResourceTypeResponse": { -"description": "Response for the FetchDataSourceReferencesForResourceType method.", -"id": "FetchDataSourceReferencesForResourceTypeResponse", +"ListBackupPlanRevisionsResponse": { +"description": "The response message for getting a list of `BackupPlanRevision`.", +"id": "ListBackupPlanRevisionsResponse", "properties": { -"dataSourceReferences": { -"description": "The DataSourceReferences from the specified parent.", +"backupPlanRevisions": { +"description": "The list of `BackupPlanRevisions` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", "items": { -"$ref": "DataSourceReference" +"$ref": "BackupPlanRevision" }, "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.", +"description": "A token which may be sent as page_token in a subsequent `ListBackupPlanRevisions` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", "type": "string" -} -}, -"type": "object" }, -"FetchMsComplianceMetadataRequest": { -"description": "Request message for GetMsComplianceMetadata", -"id": "FetchMsComplianceMetadataRequest", -"properties": { -"projectId": { -"description": "Required. The project id of the target project", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FetchMsComplianceMetadataResponse": { -"description": "Response message for GetMsComplianceMetadata", -"id": "FetchMsComplianceMetadataResponse", +"ListBackupPlansResponse": { +"description": "The response message for getting a list of `BackupPlan`.", +"id": "ListBackupPlansResponse", "properties": { -"isAssuredWorkload": { -"description": "The ms compliance metadata of the target project, if the project is an Assured Workloads project, values will be true, otherwise false.", -"type": "boolean" -} +"backupPlans": { +"description": "The list of `BackupPlans` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. BackupPlan", +"items": { +"$ref": "BackupPlan" }, -"type": "object" +"type": "array" }, -"FetchResourceBackupConfigsResponse": { -"description": "Response for FetchResourceBackupConfigs.", -"id": "FetchResourceBackupConfigsResponse", -"properties": { "nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"description": "A token which may be sent as page_token in a subsequent `ListBackupPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", "type": "string" }, -"resourceBackupConfigs": { -"description": "The list of ResourceBackupConfigs for the specified scope.", +"unreachable": { +"description": "Locations that could not be reached.", "items": { -"$ref": "ResourceBackupConfig" +"type": "string" }, "type": "array" } }, "type": "object" }, -"FetchUsableBackupVaultsResponse": { -"description": "Response message for fetching usable BackupVaults.", -"id": "FetchUsableBackupVaultsResponse", +"ListBackupVaultsResponse": { +"description": "Response message for listing BackupVaults.", +"id": "ListBackupVaultsResponse", "properties": { "backupVaults": { "description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", @@ -6299,160 +7652,159 @@ }, "type": "object" }, -"FilestoreInstanceBackupPlanAssociationProperties": { -"description": "Filestore instance's BPA properties.", -"id": "FilestoreInstanceBackupPlanAssociationProperties", +"ListBackupsResponse": { +"description": "Response message for listing Backups.", +"id": "ListBackupsResponse", "properties": { -"instanceCreateTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -} +"backups": { +"description": "The list of Backup instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "Backup" }, -"type": "object" +"type": "array" }, -"FilestoreInstanceBackupProperties": { -"description": "FilestoreInstanceBackupProperties represents the properties of a Filestore instance that are backed up by the datasource. .", -"id": "FilestoreInstanceBackupProperties", -"properties": { -"sourceInstance": { -"description": "Output only. The source instance of the backup.", -"readOnly": true, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FilestoreInstanceDataSourceProperties": { -"description": "FilestoreInstanceDataSourceProperties represents the properties of a Filestore resource that are stored in the DataSource. .", -"id": "FilestoreInstanceDataSourceProperties", +"ListBindingMatchingResourcesResponse": { +"description": "The response message for getting a list of `BindingMatchingResources`.", +"id": "ListBindingMatchingResourcesResponse", "properties": { -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"matchingResources": { +"description": "The list of `BindingMatchingResources` in the project,location for the specified binding.", +"items": { +"$ref": "BindingMatchingResource" }, -"name": { -"description": "Output only. Name of the Filestore instance backed up by the datasource.", -"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "A token which may be sent as page_token in a subsequent `ListBindingMatchingResources` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", "type": "string" } }, "type": "object" }, -"FilestoreInstanceDataSourceReferenceProperties": { -"description": "FilestoreInstanceDataSourceReferenceProperties represents the properties of a Filestore resource that are stored in the DataSourceReference. .", -"id": "FilestoreInstanceDataSourceReferenceProperties", +"ListDataSourceReferencesResponse": { +"description": "Response for the ListDataSourceReferences method.", +"id": "ListDataSourceReferencesResponse", "properties": { -"instanceCreateTime": { -"description": "Output only. The instance creation timestamp.", -"format": "google-datetime", -"readOnly": true, +"dataSourceReferences": { +"description": "The DataSourceReferences from the specified parent.", +"items": { +"$ref": "DataSourceReference" +}, +"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" }, -"name": { -"description": "Output only. Name of the Filestore instance backed up by the datasource. Format: projects/{project}/instances/{instance}", -"readOnly": true, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" +}, +"type": "array" } }, "type": "object" }, -"FinalizeBackupRequest": { -"description": "Message for finalizing a Backup.", -"id": "FinalizeBackupRequest", +"ListDataSourcesResponse": { +"description": "Response message for listing DataSources.", +"id": "ListDataSourcesResponse", "properties": { -"backupId": { -"description": "Required. Resource ID of the Backup resource to be finalized. This must be the same backup_id that was used in the InitiateBackupRequest.", -"type": "string" -}, -"consistencyTime": { -"description": "The point in time when this backup was captured from the source. This will be assigned to the consistency_time field of the newly created Backup.", -"format": "google-datetime", -"type": "string" -}, -"description": { -"description": "This will be assigned to the description field of the newly created Backup.", -"type": "string" +"dataSources": { +"description": "The list of DataSource instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "DataSource" }, -"recoveryRangeEndTime": { -"description": "The latest timestamp of data available in this Backup. This will be set on the newly created Backup.", -"format": "google-datetime", -"type": "string" +"type": "array" }, -"recoveryRangeStartTime": { -"description": "The earliest timestamp of data available in this Backup. This will set on the newly created Backup.", -"format": "google-datetime", +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" }, -"requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" }, -"retentionDuration": { -"description": "The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime.", -"format": "google-duration", -"type": "string" +"type": "array" } }, "type": "object" }, -"GCPBackupPlanInfo": { -"description": "GCPBackupPlanInfo captures the plan configuration details of Google Cloud resources at the time of backup.", -"id": "GCPBackupPlanInfo", +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", "properties": { -"backupPlan": { -"description": "Resource name of backup plan by which workload is protected at the time of the backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", -"type": "string" -}, -"backupPlanRevisionId": { -"description": "The user friendly id of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup.", -"type": "string" +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" }, -"backupPlanRevisionName": { -"description": "Resource name of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}/revisions/{revisionId}", -"type": "string" +"type": "array" }, -"backupPlanRuleId": { -"description": "The rule id of the backup plan which triggered this backup in case of scheduled backup or used for", +"nextPageToken": { +"description": "The standard List next-page token.", "type": "string" } }, "type": "object" }, -"GcpBackupConfig": { -"description": "GcpBackupConfig captures the Backup configuration details for Google Cloud resources. All Google Cloud resources regardless of type are protected with backup plan associations.", -"id": "GcpBackupConfig", +"ListManagementServersResponse": { +"description": "Response message for listing management servers.", +"id": "ListManagementServersResponse", "properties": { -"autoProtectionPolicyBinding": { -"description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this datasource, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", -"readOnly": true, -"type": "string" +"managementServers": { +"description": "The list of ManagementServer instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return management servers in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "ManagementServer" }, -"backupPlan": { -"description": "The name of the backup plan.", -"type": "string" +"type": "array" }, -"backupPlanAssociation": { -"description": "The name of the backup plan association.", +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" }, -"backupPlanDescription": { -"description": "The description of the backup plan.", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" }, -"backupPlanRevisionId": { -"description": "The user friendly id of the backup plan revision. E.g. v0, v1 etc.", -"type": "string" +"type": "array" +} }, -"backupPlanRevisionName": { -"description": "The name of the backup plan revision.", +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", "type": "string" }, -"backupPlanRules": { -"description": "The names of the backup plan rules which point to this backupvault", +"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" }, @@ -6461,113 +7813,66 @@ }, "type": "object" }, -"GoogleCloudBackupdrV1betaOperationMetadata": { -"description": "Represents the metadata of the long-running operation.", -"id": "GoogleCloudBackupdrV1betaOperationMetadata", +"ListResourceBackupConfigsResponse": { +"description": "Response for ListResourceBackupConfigs.", +"id": "ListResourceBackupConfigsResponse", "properties": { -"additionalInfo": { -"additionalProperties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", "type": "string" }, -"description": "Output only. AdditionalInfo contains additional Info related to backup plan association resource.", -"readOnly": true, -"type": "object" +"resourceBackupConfigs": { +"description": "The list of ResourceBackupConfigs for the specified scope.", +"items": { +"$ref": "ResourceBackupConfig" }, -"apiVersion": { -"description": "Output only. API version used to start the operation.", -"readOnly": true, -"type": "string" +"type": "array" +} }, -"createTime": { -"description": "Output only. The time the operation was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" +"type": "object" }, -"endTime": { -"description": "Output only. The time the operation finished running.", -"format": "google-datetime", -"readOnly": true, +"ListRestoreTemplateExecutionsResponse": { +"description": "Response message for listing RestoreTemplateExecutions.", +"id": "ListRestoreTemplateExecutionsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results.", "type": "string" }, -"requestedCancellation": { -"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'.", -"readOnly": true, -"type": "boolean" +"restoreTemplateExecutions": { +"description": "The list of RestoreTemplateExecution instances.", +"items": { +"$ref": "RestoreTemplateExecution" }, -"statusMessage": { -"description": "Output only. Human-readable status of the operation, if any.", -"readOnly": true, -"type": "string" +"type": "array" }, -"target": { -"description": "Output only. Server-defined resource path for the target of the operation.", -"readOnly": true, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" }, -"verb": { -"description": "Output only. Name of the verb executed by the operation.", -"readOnly": true, -"type": "string" +"type": "array" } }, "type": "object" }, -"GuestOsFeature": { -"description": "Feature type of the Guest OS.", -"id": "GuestOsFeature", +"ListRestoreTemplatesResponse": { +"description": "Response message for listing RestoreTemplates.", +"id": "ListRestoreTemplatesResponse", "properties": { -"type": { -"description": "The ID of a supported feature.", -"enum": [ -"FEATURE_TYPE_UNSPECIFIED", -"VIRTIO_SCSI_MULTIQUEUE", -"WINDOWS", -"MULTI_IP_SUBNET", -"UEFI_COMPATIBLE", -"SECURE_BOOT", -"GVNIC", -"SEV_CAPABLE", -"BARE_METAL_LINUX_COMPATIBLE", -"SUSPEND_RESUME_COMPATIBLE", -"SEV_LIVE_MIGRATABLE", -"SEV_SNP_CAPABLE", -"TDX_CAPABLE", -"IDPF", -"SEV_LIVE_MIGRATABLE_V2" -], -"enumDescriptions": [ -"Default value, which is unused.", -"VIRTIO_SCSI_MULTIQUEUE feature type.", -"WINDOWS feature type.", -"MULTI_IP_SUBNET feature type.", -"UEFI_COMPATIBLE feature type.", -"SECURE_BOOT feature type.", -"GVNIC feature type.", -"SEV_CAPABLE feature type.", -"BARE_METAL_LINUX_COMPATIBLE feature type.", -"SUSPEND_RESUME_COMPATIBLE feature type.", -"SEV_LIVE_MIGRATABLE feature type.", -"SEV_SNP_CAPABLE feature type.", -"TDX_CAPABLE feature type.", -"IDPF feature type.", -"SEV_LIVE_MIGRATABLE_V2 feature type." -], +"nextPageToken": { +"description": "A token which may be sent as `page_token` in a subsequent `ListRestoreTemplates` call.", "type": "string" -} }, -"type": "object" +"restoreTemplates": { +"description": "The list of RestoreTemplates.", +"items": { +"$ref": "RestoreTemplate" }, -"InitializeParams": { -"description": "Specifies the parameters to initialize this disk.", -"id": "InitializeParams", -"properties": { -"diskName": { -"description": "Optional. Specifies the disk name. If not specified, the default is to use the name of the instance.", -"type": "string" +"type": "array" }, -"replicaZones": { -"description": "Optional. URL of the zone where the disk should be created. Required for each regional disk associated with the instance.", +"unreachable": { +"description": "Locations that could not be reached.", "items": { "type": "string" }, @@ -6576,134 +7881,128 @@ }, "type": "object" }, -"InitializeServiceRequest": { -"description": "Request message for initializing the service.", -"id": "InitializeServiceRequest", +"ListRestoreVerificationPlanAssociationsResponse": { +"description": "Response message for ListRestoreVerificationPlanAssociations.", +"id": "ListRestoreVerificationPlanAssociationsResponse", "properties": { -"backupPlanLocation": { -"description": "Optional. The location where the BackupPlan will be created. This field is required for multi-region BackupVaults and is optional for regional BackupVaults. It is useful when creating a Backup Vault in a multi-region, allowing the BackupPlan to reside in a specific region within that multi-region. If this field is not provided, the BackupPlan will be created in the same location as specified in the `name` field.", +"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" }, -"cloudSqlInstanceInitializationConfig": { -"$ref": "CloudSqlInstanceInitializationConfig", -"description": "Optional. The configuration for initializing a Cloud SQL instance." +"restoreVerificationPlanAssociations": { +"description": "The list of RestoreVerificationPlanAssociations.", +"items": { +"$ref": "RestoreVerificationPlanAssociation" }, -"requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", -"type": "string" +"type": "array" }, -"resourceType": { -"description": "Required. The resource type to which the default service config will be applied. Examples include, \"compute.googleapis.com/Instance\" and \"storage.googleapis.com/Bucket\".", +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { "type": "string" }, -"validateOnly": { -"description": "Optional. If set, validates the request and returns the result, but does not actually run it.", -"type": "boolean" +"type": "array" } }, "type": "object" }, -"InitiateBackupRequest": { -"description": "request message for InitiateBackup.", -"id": "InitiateBackupRequest", +"ListRestoreVerificationPlansResponse": { +"description": "The response message for getting a list of `RestoreVerificationPlans`.", +"id": "ListRestoreVerificationPlansResponse", "properties": { -"backupId": { -"description": "Required. Resource ID of the Backup resource.", +"nextPageToken": { +"description": "A token which may be sent as page_token in a subsequent `ListRestoreVerificationPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", "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).", -"type": "string" -} +"restoreVerificationPlans": { +"description": "The list of `RestoreVerificationPlans` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return restore verification plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"items": { +"$ref": "RestoreVerificationPlan" }, -"type": "object" +"type": "array" }, -"InitiateBackupResponse": { -"description": "Response message for InitiateBackup.", -"id": "InitiateBackupResponse", -"properties": { -"backup": { -"description": "The name of the backup that was created.", +"unreachable": { +"description": "Locations that could not be reached.", +"items": { "type": "string" }, -"baseBackupGenerationId": { -"description": "The generation id of the base backup. It is needed for the incremental backups.", -"format": "int32", -"type": "integer" -}, -"newBackupGenerationId": { -"description": "The generation id of the new backup.", -"format": "int32", -"type": "integer" +"type": "array" } }, "type": "object" }, -"InitiateDeleteAutoProtectionPolicyBindingRequest": { -"description": "Request message for initiating delete of an AutoProtectionPolicyBinding.", -"id": "InitiateDeleteAutoProtectionPolicyBindingRequest", +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", "properties": { -"etag": { -"description": "Optional. The current etag of the AutoProtectionPolicyBinding. If an etag is provided and does not match the current etag of the binding, deletion will be blocked and an ABORTED error will be returned.", +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", "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. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"labels": { +"additionalProperties": { "type": "string" -} }, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", "type": "object" }, -"InstanceParams": { -"description": "Additional instance params.", -"id": "InstanceParams", -"properties": { -"resourceManagerTags": { -"additionalProperties": { +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", "type": "string" }, -"description": "Optional. Resource manager tags to be bound to the instance.", -"type": "object" -} +"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" }, -"KeyValuePair": { -"description": "KeyValuePair defines a key-value pair for matching resource labels.", -"id": "KeyValuePair", -"properties": { -"key": { -"description": "Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\\p{Ll}\\p{Lo}{0,62}`.", -"type": "string" -}, -"values": { -"description": "Required. The values of the label to match. There will be explicit \u201cOR\u201d between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\\\p{Ll}\\\\p{Lo}\\\\p{N}_-]{1,63}`.", -"items": { +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListAppliedAutoProtectionPoliciesResponse": { -"description": "Response message for ListAppliedAutoProtectionPolicies.", -"id": "ListAppliedAutoProtectionPoliciesResponse", +"LocationMetadata": { +"id": "LocationMetadata", "properties": { -"appliedAutoProtectionPolicies": { -"description": "A list of the AppliedAutoProtectionPolicy resources found.", -"items": { -"$ref": "AppliedAutoProtectionPolicy" -}, -"type": "array" -}, -"nextPageToken": { -"description": "A token that can be sent as `page_token` to retrieve the next page.", -"type": "string" -}, -"unreachable": { -"description": "Unordered list. Locations that could not be reached.", +"unsupportedFeatures": { +"description": "List of features that are not supported in the location.", "items": { +"enum": [ +"FEATURE_UNSPECIFIED", +"MANAGEMENT_SERVER", +"COMPUTE_INSTANCE", +"PROTECTION_SUMMARY", +"DISK", +"CLOUD_SQL", +"ALLOY_DB", +"FILESTORE", +"BV_AF", +"GOOGLE_CLOUD_NETAPP_VOLUME", +"CEP_MONITORING_COMPUTE_INSTANCE", +"CEP_MONITORING_DISK", +"BV_CUSTOM_PROBERS", +"FT_CUSTOM_PROBERS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"Remove once parity achieved between BV_AF and BV_CUSTOM_PROBERS.", +"" +], "type": "string" }, "type": "array" @@ -6711,583 +8010,658 @@ }, "type": "object" }, -"ListAutoProtectionPoliciesResponse": { -"description": "Response message for ListAutoProtectionPolicies.", -"id": "ListAutoProtectionPoliciesResponse", +"ManagementServer": { +"description": "ManagementServer describes a single BackupDR ManagementServer instance.", +"id": "ManagementServer", "properties": { -"autoProtectionPolicies": { -"description": "A list of the AutoProtectionPolicy resources found.", +"baProxyUri": { +"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by BAs to connect to BA proxy.", "items": { -"$ref": "AutoProtectionPolicy" +"type": "string" }, +"readOnly": true, "type": "array" }, -"nextPageToken": { -"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"createTime": { +"description": "Output only. The time when the instance was created.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"description": { +"description": "Optional. The description of the ManagementServer instance (2048 characters or less).", "type": "string" }, -"type": "array" -} +"etag": { +"description": "Optional. Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", +"type": "string" }, -"type": "object" +"labels": { +"additionalProperties": { +"type": "string" }, -"ListAutoProtectionPolicyBindingsResponse": { -"description": "Response message for ListAutoProtectionPolicyBindings.", -"id": "ListAutoProtectionPolicyBindingsResponse", -"properties": { -"autoProtectionPolicyBindings": { -"description": "A list of the AutoProtectionPolicyBindings resources found.", -"items": { -"$ref": "AutoProtectionPolicyBinding" +"description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode.", +"type": "object" }, -"type": "array" +"managementUri": { +"$ref": "ManagementURI", +"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by clients to connect to AGM/RD graphical user interface and APIs.", +"readOnly": true }, -"nextPageToken": { -"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"name": { +"description": "Output only. Identifier. The resource name.", +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Unordered list. Locations that could not be reached.", +"networks": { +"description": "Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA", "items": { -"type": "string" +"$ref": "NetworkConfig" }, "type": "array" -} }, -"type": "object" +"oauth2ClientId": { +"description": "Output only. The OAuth 2.0 client id is required to make API calls to the Backup and DR instance API of this ManagementServer. This is the value that should be provided in the 'aud' field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken).", +"readOnly": true, +"type": "string" }, -"ListBackupPlanAssociationsResponse": { -"description": "Response message for List BackupPlanAssociation", -"id": "ListBackupPlanAssociationsResponse", -"properties": { -"backupPlanAssociations": { -"description": "The list of Backup Plan Associations in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup plan associations in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "BackupPlanAssociation" +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" }, -"type": "array" +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" }, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"state": { +"description": "Output only. The ManagementServer state.", +"enum": [ +"INSTANCE_STATE_UNSPECIFIED", +"CREATING", +"READY", +"UPDATING", +"DELETING", +"REPAIRING", +"MAINTENANCE", +"ERROR" +], +"enumDescriptions": [ +"State not set.", +"The instance is being created.", +"The instance has been created and is fully usable.", +"The instance configuration is being updated. Certain kinds of updates may cause the instance to become unusable while the update is in progress.", +"The instance is being deleted.", +"The instance is being repaired and may be unstable.", +"Maintenance is being performed on this instance.", +"The instance is experiencing an issue and might be unusable. You can get further details from the statusMessage field of Instance resource." +], +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"type": { +"description": "Optional. The type of the ManagementServer resource.", +"enum": [ +"INSTANCE_TYPE_UNSPECIFIED", +"BACKUP_RESTORE" +], +"enumDescriptions": [ +"Instance type is not mentioned.", +"Instance for backup and restore management (i.e., AGM)." +], "type": "string" }, -"type": "array" +"updateTime": { +"description": "Output only. The time when the instance was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workforceIdentityBasedManagementUri": { +"$ref": "WorkforceIdentityBasedManagementURI", +"description": "Output only. The hostnames of the exposed AGM endpoints for both types of user i.e. 1p and 3p, used to connect AGM/RM UI.", +"readOnly": true +}, +"workforceIdentityBasedOauth2ClientId": { +"$ref": "WorkforceIdentityBasedOAuth2ClientID", +"description": "Output only. The OAuth client IDs for both types of user i.e. 1p and 3p.", +"readOnly": true } }, "type": "object" }, -"ListBackupPlanRevisionsResponse": { -"description": "The response message for getting a list of `BackupPlanRevision`.", -"id": "ListBackupPlanRevisionsResponse", +"ManagementURI": { +"description": "ManagementURI for the Management Server resource.", +"id": "ManagementURI", "properties": { -"backupPlanRevisions": { -"description": "The list of `BackupPlanRevisions` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "BackupPlanRevision" -}, -"type": "array" -}, -"nextPageToken": { -"description": "A token which may be sent as page_token in a subsequent `ListBackupPlanRevisions` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", +"api": { +"description": "Output only. The ManagementServer AGM/RD API URL.", +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"webUi": { +"description": "Output only. The ManagementServer AGM/RD WebUI URL.", +"readOnly": true, "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListBackupPlansResponse": { -"description": "The response message for getting a list of `BackupPlan`.", -"id": "ListBackupPlansResponse", +"MatchingCondition": { +"description": "MatchingCondition specifies a set of conditions for matching resources.", +"id": "MatchingCondition", "properties": { -"backupPlans": { -"description": "The list of `BackupPlans` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. BackupPlan", -"items": { -"$ref": "BackupPlan" -}, -"type": "array" -}, -"nextPageToken": { -"description": "A token which may be sent as page_token in a subsequent `ListBackupPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", -"type": "string" -}, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { -"type": "string" -}, -"type": "array" +"labelCondition": { +"$ref": "KeyValuePair", +"description": "Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match." } }, "type": "object" }, -"ListBackupVaultsResponse": { -"description": "Response message for listing BackupVaults.", -"id": "ListBackupVaultsResponse", +"Metadata": { +"description": "A metadata key/value entry.", +"id": "Metadata", "properties": { -"backupVaults": { -"description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", "items": { -"$ref": "BackupVault" +"description": "Optional. Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", +"items": { +"$ref": "Entry" }, "type": "array" +} }, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", -"type": "string" +"type": "object" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"NetAppVolumeBackupPlanAssociationProperties": { +"description": "NetAppVolumeBackupPlanAssociationProperties represents NetApp Volume backup plan association properties in BackupPlanAssociation. .", +"id": "NetAppVolumeBackupPlanAssociationProperties", +"properties": { +"sourceResourceCreateTime": { +"description": "Output only. The creation timestamp of the source resource.", +"format": "google-datetime", +"readOnly": true, "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListBackupsResponse": { -"description": "Response message for listing Backups.", -"id": "ListBackupsResponse", +"NetAppVolumeBackupProperties": { +"description": "NetAppVolumeBackupProperties represents NetApp Volume backup properties in Backup. .", +"id": "NetAppVolumeBackupProperties", "properties": { -"backups": { -"description": "The list of Backup instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "Backup" +"sourceResource": { +"description": "Output only. The source volume of the Backup.", +"readOnly": true, +"type": "string" +} }, -"type": "array" +"type": "object" }, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"NetAppVolumeDataSourceProperties": { +"description": "NetAppVolumeDataSourceProperties represents NetApp Volume properties stored in DataSource. .", +"id": "NetAppVolumeDataSourceProperties", +"properties": { +"sourceResource": { +"description": "Output only. The source volume represented by this DataSource.", +"readOnly": true, "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"sourceResourceCreateTime": { +"description": "Output only. The volume creation timestamp.", +"format": "google-datetime", +"readOnly": true, "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListBindingMatchingResourcesResponse": { -"description": "The response message for getting a list of `BindingMatchingResources`.", -"id": "ListBindingMatchingResourcesResponse", +"NetAppVolumeDataSourceReferenceProperties": { +"description": "NetAppVolumeDataSourceReferenceProperties represents NetApp Volume properties stored in DataSourceReference. .", +"id": "NetAppVolumeDataSourceReferenceProperties", "properties": { -"matchingResources": { -"description": "The list of `BindingMatchingResources` in the project,location for the specified binding.", -"items": { -"$ref": "BindingMatchingResource" -}, -"type": "array" +"sourceResource": { +"description": "Output only. The source volume represented by this DataSourceReference.", +"readOnly": true, +"type": "string" }, -"nextPageToken": { -"description": "A token which may be sent as page_token in a subsequent `ListBindingMatchingResources` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", +"sourceResourceCreateTime": { +"description": "Output only. The volume creation timestamp.", +"format": "google-datetime", +"readOnly": true, "type": "string" } }, "type": "object" }, -"ListDataSourceReferencesResponse": { -"description": "Response for the ListDataSourceReferences method.", -"id": "ListDataSourceReferencesResponse", +"NetworkConfig": { +"description": "Network configuration for ManagementServer instance.", +"id": "NetworkConfig", "properties": { -"dataSourceReferences": { -"description": "The DataSourceReferences from the specified parent.", -"items": { -"$ref": "DataSourceReference" -}, -"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.", +"network": { +"description": "Optional. The resource name of the Google Compute Engine VPC network to which the ManagementServer instance is connected.", "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"peeringMode": { +"description": "Optional. The network connect mode of the ManagementServer instance. For this version, only PRIVATE_SERVICE_ACCESS is supported.", +"enum": [ +"PEERING_MODE_UNSPECIFIED", +"PRIVATE_SERVICE_ACCESS" +], +"enumDescriptions": [ +"Peering mode not set.", +"Connect using Private Service Access to the Management Server. Private services access provides an IP address range for multiple Google Cloud services, including Google Cloud Backup and DR." +], "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListDataSourcesResponse": { -"description": "Response message for listing DataSources.", -"id": "ListDataSourcesResponse", +"NetworkInterface": { +"description": "A network interface resource attached to an instance. s", +"id": "NetworkInterface", "properties": { -"dataSources": { -"description": "The list of DataSource instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", +"accessConfigs": { +"description": "Optional. An array of configurations for this interface. Currently, only one access config,ONE_TO_ONE_NAT is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", "items": { -"$ref": "DataSource" +"$ref": "AccessConfig" }, "type": "array" }, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", -"type": "string" -}, -"unreachable": { -"description": "Locations that could not be reached.", +"aliasIpRanges": { +"description": "Optional. An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", "items": { -"type": "string" +"$ref": "AliasIpRange" }, "type": "array" -} }, -"type": "object" +"internalIpv6PrefixLength": { +"description": "Optional. The prefix length of the primary internal IPv6 range.", +"format": "int32", +"type": "integer" }, -"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.", +"ipv6AccessConfigs": { +"description": "Optional. An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", "items": { -"$ref": "Location" +"$ref": "AccessConfig" }, "type": "array" }, -"nextPageToken": { -"description": "The standard List next-page token.", +"ipv6AccessType": { +"description": "Optional. [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.", +"enum": [ +"UNSPECIFIED_IPV6_ACCESS_TYPE", +"INTERNAL", +"EXTERNAL" +], +"enumDescriptions": [ +"IPv6 access type not set. Means this network interface hasn't been turned on IPv6 yet.", +"This network interface can have internal IPv6.", +"This network interface can have external IPv6." +], "type": "string" -} }, -"type": "object" +"ipv6Address": { +"description": "Optional. An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", +"type": "string" }, -"ListManagementServersResponse": { -"description": "Response message for listing management servers.", -"id": "ListManagementServersResponse", -"properties": { -"managementServers": { -"description": "The list of ManagementServer instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return management servers in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", -"items": { -"$ref": "ManagementServer" +"name": { +"description": "Output only. [Output Only] The name of the network interface, which is generated by the server.", +"readOnly": true, +"type": "string" }, -"type": "array" +"network": { +"description": "Optional. URL of the VPC network resource for this instance.", +"type": "string" }, -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"networkAttachment": { +"description": "Optional. The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", "type": "string" }, -"unreachable": { -"description": "Locations that could not be reached.", -"items": { +"networkIP": { +"description": "Optional. An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", "type": "string" }, -"type": "array" -} +"nicType": { +"description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"enum": [ +"NIC_TYPE_UNSPECIFIED", +"VIRTIO_NET", +"GVNIC" +], +"enumDescriptions": [ +"Default should be NIC_TYPE_UNSPECIFIED.", +"VIRTIO", +"GVNIC" +], +"type": "string" }, -"type": "object" +"queueCount": { +"description": "Optional. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", +"format": "int32", +"type": "integer" }, -"ListOperationsResponse": { -"description": "The response message for Operations.ListOperations.", -"id": "ListOperationsResponse", -"properties": { -"nextPageToken": { -"description": "The standard List next-page token.", +"stackType": { +"description": "The stack type for this network interface.", +"enum": [ +"STACK_TYPE_UNSPECIFIED", +"IPV4_ONLY", +"IPV4_IPV6" +], +"enumDescriptions": [ +"Default should be STACK_TYPE_UNSPECIFIED.", +"The network interface will be assigned IPv4 address.", +"The network interface can have both IPv4 and IPv6 addresses." +], "type": "string" }, -"operations": { -"description": "A list of operations that matches the specified filter in the request.", -"items": { -"$ref": "Operation" +"subnetwork": { +"description": "Optional. The URL of the Subnetwork resource for this instance.", +"type": "string" +} }, -"type": "array" +"type": "object" }, -"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": { +"NetworkPerformanceConfig": { +"description": "Network performance configuration.", +"id": "NetworkPerformanceConfig", +"properties": { +"totalEgressBandwidthTier": { +"description": "Optional. The tier of the total egress bandwidth.", +"enum": [ +"TIER_UNSPECIFIED", +"DEFAULT", +"TIER_1" +], +"enumDescriptions": [ +"This value is unused.", +"Default network performance config.", +"Tier 1 network performance config." +], "type": "string" -}, -"type": "array" } }, "type": "object" }, -"ListResourceBackupConfigsResponse": { -"description": "Response for ListResourceBackupConfigs.", -"id": "ListResourceBackupConfigsResponse", +"NodeAffinity": { +"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", +"id": "NodeAffinity", "properties": { -"nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"key": { +"description": "Optional. Corresponds to the label key of Node resource.", "type": "string" }, -"resourceBackupConfigs": { -"description": "The list of ResourceBackupConfigs for the specified scope.", +"operator": { +"description": "Optional. Defines the operation of node selection.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"IN", +"NOT_IN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Requires Compute Engine to seek for matched nodes.", +"Requires Compute Engine to avoid certain nodes." +], +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of Node resource.", "items": { -"$ref": "ResourceBackupConfig" +"type": "string" }, "type": "array" } }, "type": "object" }, -"Location": { -"description": "A resource that represents a Google Cloud location.", -"id": "Location", -"properties": { -"displayName": { -"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", -"type": "string" +"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" }, -"labels": { +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { "additionalProperties": { -"type": "string" +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" }, -"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"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" }, -"locationId": { -"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", "type": "string" }, -"metadata": { +"response": { "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.", +"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" }, -"name": { -"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", -"type": "string" +"PitrSettings": { +"description": "Point in time recovery settings of the backup configuration resource.", +"id": "PitrSettings", +"properties": { +"retentionDays": { +"description": "Output only. Number of days to retain the backup.", +"format": "int32", +"readOnly": true, +"type": "integer" } }, "type": "object" }, -"LocationMetadata": { -"id": "LocationMetadata", +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", "properties": { -"unsupportedFeatures": { -"description": "List of features that are not supported in the location.", +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", "items": { -"enum": [ -"FEATURE_UNSPECIFIED", -"MANAGEMENT_SERVER", -"COMPUTE_INSTANCE", -"PROTECTION_SUMMARY", -"DISK", -"CLOUD_SQL", -"ALLOY_DB", -"FILESTORE", -"BV_AF", -"GOOGLE_CLOUD_NETAPP_VOLUME", -"CEP_MONITORING_COMPUTE_INSTANCE", -"CEP_MONITORING_DISK", -"BV_CUSTOM_PROBERS", -"FT_CUSTOM_PROBERS" -], -"enumDescriptions": [ -"", -"", -"", -"", -"", -"", -"", -"", -"", -"", -"", -"", -"Remove once parity achieved between BV_AF and BV_CUSTOM_PROBERS.", -"" -], -"type": "string" +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" }, "type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" } }, "type": "object" }, -"ManagementServer": { -"description": "ManagementServer describes a single BackupDR ManagementServer instance.", -"id": "ManagementServer", +"PolicyEvaluationSummary": { +"description": "PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources.", +"id": "PolicyEvaluationSummary", "properties": { -"baProxyUri": { -"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by BAs to connect to BA proxy.", -"items": { +"failedResourceCount": { +"description": "Output only. The number of matching resources whose protection failed during job run.", +"format": "int64", +"readOnly": true, "type": "string" }, +"matchingResourceCount": { +"description": "Output only. The number of resources that currently match the policy's criteria.", +"format": "int64", "readOnly": true, -"type": "array" +"type": "string" }, -"createTime": { -"description": "Output only. The time when the instance was created.", -"format": "google-datetime", +"protectedResourceCount": { +"description": "Output only. The number of matching resources that are successfully protected.", +"format": "int64", "readOnly": true, "type": "string" +} }, -"description": { -"description": "Optional. The description of the ManagementServer instance (2048 characters or less).", -"type": "string" +"type": "object" }, -"etag": { -"description": "Optional. Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", +"PostRestoreConfig": { +"description": "Configuration for Post-Restore.", +"id": "PostRestoreConfig", +"properties": { +"cloudRunJob": { +"description": "Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`", "type": "string" }, -"labels": { -"additionalProperties": { +"timeout": { +"description": "Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).", +"format": "google-duration", "type": "string" +} }, -"description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode.", "type": "object" }, -"managementUri": { -"$ref": "ManagementURI", -"description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by clients to connect to AGM/RD graphical user interface and APIs.", -"readOnly": true -}, -"name": { -"description": "Output only. Identifier. The resource name.", +"PostRestorePhaseInfo": { +"description": "Info for Post-Restore phase execution.", +"id": "PostRestorePhaseInfo", +"properties": { +"cloudRunExecution": { +"description": "Output only. The fully qualified URI of the Cloud Run Execution triggered for post-restore actions.", "readOnly": true, "type": "string" }, -"networks": { -"description": "Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA", -"items": { -"$ref": "NetworkConfig" -}, -"type": "array" -}, -"oauth2ClientId": { -"description": "Output only. The OAuth 2.0 client id is required to make API calls to the Backup and DR instance API of this ManagementServer. This is the value that should be provided in the 'aud' field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken).", +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"satisfiesPzi": { -"description": "Output only. Reserved for future use.", -"readOnly": true, -"type": "boolean" -}, -"satisfiesPzs": { -"description": "Output only. Reserved for future use.", -"readOnly": true, -"type": "boolean" +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true }, -"state": { -"description": "Output only. The ManagementServer state.", +"phaseState": { +"description": "Output only. The state of this phase.", "enum": [ -"INSTANCE_STATE_UNSPECIFIED", -"CREATING", -"READY", -"UPDATING", -"DELETING", -"REPAIRING", -"MAINTENANCE", -"ERROR" +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" ], "enumDescriptions": [ -"State not set.", -"The instance is being created.", -"The instance has been created and is fully usable.", -"The instance configuration is being updated. Certain kinds of updates may cause the instance to become unusable while the update is in progress.", -"The instance is being deleted.", -"The instance is being repaired and may be unstable.", -"Maintenance is being performed on this instance.", -"The instance is experiencing an issue and might be unusable. You can get further details from the statusMessage field of Instance resource." +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." ], "readOnly": true, "type": "string" }, -"type": { -"description": "Optional. The type of the ManagementServer resource.", -"enum": [ -"INSTANCE_TYPE_UNSPECIFIED", -"BACKUP_RESTORE" -], -"enumDescriptions": [ -"Instance type is not mentioned.", -"Instance for backup and restore management (i.e., AGM)." -], -"type": "string" +"postRestoreConfig": { +"$ref": "PostRestoreConfig", +"description": "Output only. Snapshot of config that will be executed after successful restore operation.", +"readOnly": true }, -"updateTime": { -"description": "Output only. The time when the instance was updated.", +"startTime": { +"description": "Output only. Start time of the phase.", "format": "google-datetime", "readOnly": true, "type": "string" -}, -"workforceIdentityBasedManagementUri": { -"$ref": "WorkforceIdentityBasedManagementURI", -"description": "Output only. The hostnames of the exposed AGM endpoints for both types of user i.e. 1p and 3p, used to connect AGM/RM UI.", -"readOnly": true -}, -"workforceIdentityBasedOauth2ClientId": { -"$ref": "WorkforceIdentityBasedOAuth2ClientID", -"description": "Output only. The OAuth client IDs for both types of user i.e. 1p and 3p.", -"readOnly": true } }, "type": "object" }, -"ManagementURI": { -"description": "ManagementURI for the Management Server resource.", -"id": "ManagementURI", +"PreRestoreConfig": { +"description": "Configuration for Pre-Restore.", +"id": "PreRestoreConfig", "properties": { -"api": { -"description": "Output only. The ManagementServer AGM/RD API URL.", -"readOnly": true, +"cloudRunJob": { +"description": "Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`", "type": "string" }, -"webUi": { -"description": "Output only. The ManagementServer AGM/RD WebUI URL.", -"readOnly": true, +"timeout": { +"description": "Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).", +"format": "google-duration", "type": "string" } }, "type": "object" }, -"MatchingCondition": { -"description": "MatchingCondition specifies a set of conditions for matching resources.", -"id": "MatchingCondition", +"PreRestorePhaseInfo": { +"description": "Info for Pre-Restore phase execution.", +"id": "PreRestorePhaseInfo", "properties": { -"labelCondition": { -"$ref": "KeyValuePair", -"description": "Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match." -} +"cloudRunExecution": { +"description": "Output only. The fully qualified URI of the Cloud Run Execution triggered for pre-restore actions.", +"readOnly": true, +"type": "string" }, -"type": "object" +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" }, -"Metadata": { -"description": "A metadata key/value entry.", -"id": "Metadata", -"properties": { -"items": { -"description": "Optional. Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", -"items": { -"$ref": "Entry" +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true }, -"type": "array" -} +"phaseState": { +"description": "Output only. The state of this phase.", +"enum": [ +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" +], +"enumDescriptions": [ +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." +], +"readOnly": true, +"type": "string" }, -"type": "object" +"preRestoreConfig": { +"$ref": "PreRestoreConfig", +"description": "Output only. Snapshot of config that will be executed before restore operation.", +"readOnly": true }, -"NetAppVolumeBackupPlanAssociationProperties": { -"description": "NetAppVolumeBackupPlanAssociationProperties represents NetApp Volume backup plan association properties in BackupPlanAssociation. .", -"id": "NetAppVolumeBackupPlanAssociationProperties", -"properties": { -"sourceResourceCreateTime": { -"description": "Output only. The creation timestamp of the source resource.", +"startTime": { +"description": "Output only. Start time of the phase.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -7295,47 +8669,68 @@ }, "type": "object" }, -"NetAppVolumeBackupProperties": { -"description": "NetAppVolumeBackupProperties represents NetApp Volume backup properties in Backup. .", -"id": "NetAppVolumeBackupProperties", +"PreparePhaseInfo": { +"description": "Info for Prepare phase execution.", +"id": "PreparePhaseInfo", "properties": { -"sourceResource": { -"description": "Output only. The source volume of the Backup.", +"backup": { +"description": "Output only. The source backup used for the restore. The fully qualified URI of the backupdr backup.", "readOnly": true, "type": "string" -} }, -"type": "object" +"backupSelectionConfig": { +"$ref": "BackupSelectionConfig", +"description": "Output only. Snapshot of config used in this execution.", +"readOnly": true }, -"NetAppVolumeDataSourceProperties": { -"description": "NetAppVolumeDataSourceProperties represents NetApp Volume properties stored in DataSource. .", -"id": "NetAppVolumeDataSourceProperties", -"properties": { -"sourceResource": { -"description": "Output only. The source volume represented by this DataSource.", +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"sourceResourceCreateTime": { -"description": "Output only. The volume creation timestamp.", -"format": "google-datetime", +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true +}, +"isBackupExplicitlyPassed": { +"description": "Output only. Indicates whether the backup was explicitly passed in the request.", "readOnly": true, -"type": "string" -} +"type": "boolean" }, -"type": "object" +"phaseState": { +"description": "Output only. The state of this phase.", +"enum": [ +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" +], +"enumDescriptions": [ +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." +], +"readOnly": true, +"type": "string" }, -"NetAppVolumeDataSourceReferenceProperties": { -"description": "NetAppVolumeDataSourceReferenceProperties represents NetApp Volume properties stored in DataSourceReference. .", -"id": "NetAppVolumeDataSourceReferenceProperties", -"properties": { -"sourceResource": { -"description": "Output only. The source volume represented by this DataSourceReference.", +"restoreVerificationPlanAssociation": { +"description": "Output only. The restore verification plan association associated with the execution.", "readOnly": true, "type": "string" }, -"sourceResourceCreateTime": { -"description": "Output only. The volume creation timestamp.", +"startTime": { +"description": "Output only. Start time of the phase.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -7343,476 +8738,628 @@ }, "type": "object" }, -"NetworkConfig": { -"description": "Network configuration for ManagementServer instance.", -"id": "NetworkConfig", +"ReconciliationOperationMetadata": { +"description": "Operation metadata returned by the CLH during resource state reconciliation.", +"id": "ReconciliationOperationMetadata", "properties": { -"network": { -"description": "Optional. The resource name of the Google Compute Engine VPC network to which the ManagementServer instance is connected.", -"type": "string" +"deleteResource": { +"deprecated": true, +"description": "DEPRECATED. Use exclusive_action instead.", +"type": "boolean" }, -"peeringMode": { -"description": "Optional. The network connect mode of the ManagementServer instance. For this version, only PRIVATE_SERVICE_ACCESS is supported.", +"exclusiveAction": { +"description": "Excluisive action returned by the CLH.", "enum": [ -"PEERING_MODE_UNSPECIFIED", -"PRIVATE_SERVICE_ACCESS" +"UNKNOWN_REPAIR_ACTION", +"DELETE", +"RETRY" +], +"enumDeprecated": [ +false, +true, +false ], "enumDescriptions": [ -"Peering mode not set.", -"Connect using Private Service Access to the Management Server. Private services access provides an IP address range for multiple Google Cloud services, including Google Cloud Backup and DR." +"Unknown repair action.", +"The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.", +"This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." ], "type": "string" } }, "type": "object" }, -"NetworkInterface": { -"description": "A network interface resource attached to an instance. s", -"id": "NetworkInterface", +"RegionDiskTargetEnvironment": { +"description": "RegionDiskTargetEnvironment represents the target environment for the disk.", +"id": "RegionDiskTargetEnvironment", "properties": { -"accessConfigs": { -"description": "Optional. An array of configurations for this interface. Currently, only one access config,ONE_TO_ONE_NAT is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", -"items": { -"$ref": "AccessConfig" +"project": { +"description": "Required. Target project for the disk.", +"type": "string" }, -"type": "array" +"region": { +"description": "Required. Target region for the disk.", +"type": "string" }, -"aliasIpRanges": { -"description": "Optional. An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", +"replicaZones": { +"description": "Required. Target URLs of the replica zones for the disk.", "items": { -"$ref": "AliasIpRange" +"type": "string" }, "type": "array" }, -"internalIpv6PrefixLength": { -"description": "Optional. The prefix length of the primary internal IPv6 range.", -"format": "int32", -"type": "integer" +"useProjectServiceAccount": { +"description": "Optional. Whether to use the project service account for the disk restore.", +"type": "boolean" +} }, -"ipv6AccessConfigs": { -"description": "Optional. An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", +"type": "object" +}, +"RemoveDataSourceRequest": { +"description": "Message for deleting a DataSource.", +"id": "RemoveDataSourceRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"ResourceBackupConfig": { +"description": "ResourceBackupConfig represents a resource along with its backup configurations.", +"id": "ResourceBackupConfig", +"properties": { +"backupConfigsDetails": { +"description": "Backup configurations applying to the target resource, including those targeting its related/child resources. For example, backup configuration applicable to Compute Engine disks will be populated in this field for a Compute Engine VM which has the disk associated.", "items": { -"$ref": "AccessConfig" +"$ref": "BackupConfigDetails" }, "type": "array" }, -"ipv6AccessType": { -"description": "Optional. [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.", -"enum": [ -"UNSPECIFIED_IPV6_ACCESS_TYPE", -"INTERNAL", -"EXTERNAL" -], -"enumDescriptions": [ -"IPv6 access type not set. Means this network interface hasn't been turned on IPv6 yet.", -"This network interface can have internal IPv6.", -"This network interface can have external IPv6." -], -"type": "string" +"backupConfigured": { +"description": "Output only. Whether the target resource is configured for backup. This is true if the backup_configs_details is not empty.", +"readOnly": true, +"type": "boolean" }, -"ipv6Address": { -"description": "Optional. An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", +"name": { +"description": "Identifier. The resource name of the ResourceBackupConfig. Format: projects/{project}/locations/{location}/resourceBackupConfigs/{uid}", "type": "string" }, -"name": { -"description": "Output only. [Output Only] The name of the network interface, which is generated by the server.", +"targetResource": { +"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the cloud resource that this configuration applies to. Supported resource types are ResourceBackupConfig.ResourceType.", "readOnly": true, "type": "string" }, -"network": { -"description": "Optional. URL of the VPC network resource for this instance.", +"targetResourceDisplayName": { +"description": "Output only. The human friendly name of the target resource.", +"readOnly": true, "type": "string" }, -"networkAttachment": { -"description": "Optional. The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", +"targetResourceLabels": { +"additionalProperties": { "type": "string" }, -"networkIP": { -"description": "Optional. An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", -"type": "string" +"description": "Labels associated with the target resource.", +"type": "object" }, -"nicType": { -"description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", +"targetResourceType": { +"description": "Output only. The type of the target resource.", "enum": [ -"NIC_TYPE_UNSPECIFIED", -"VIRTIO_NET", -"GVNIC" +"RESOURCE_TYPE_UNSPECIFIED", +"CLOUD_SQL_INSTANCE", +"COMPUTE_ENGINE_VM", +"COMPUTE_ENGINE_DISK", +"COMPUTE_ENGINE_REGIONAL_DISK", +"FILESTORE_INSTANCE" ], "enumDescriptions": [ -"Default should be NIC_TYPE_UNSPECIFIED.", -"VIRTIO", -"GVNIC" +"Resource type not set.", +"Cloud SQL instance.", +"Compute Engine VM.", +"Compute Engine Disk.", +"Compute Engine Regional Disk.", +"Filestore Instance." ], +"readOnly": true, "type": "string" }, -"queueCount": { -"description": "Optional. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", -"format": "int32", -"type": "integer" +"uid": { +"description": "Output only. The unique identifier of the resource backup config.", +"readOnly": true, +"type": "string" }, -"stackType": { -"description": "The stack type for this network interface.", -"enum": [ -"STACK_TYPE_UNSPECIFIED", -"IPV4_ONLY", -"IPV4_IPV6" -], -"enumDescriptions": [ -"Default should be STACK_TYPE_UNSPECIFIED.", -"The network interface will be assigned IPv4 address.", -"The network interface can have both IPv4 and IPv6 addresses." -], +"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.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"RestoreBackupRequest": { +"description": "Request message for restoring from a Backup.", +"id": "RestoreBackupRequest", +"properties": { +"clearOverridesFieldMask": { +"description": "Optional. A field mask used to clear server-side default values for fields within the `instance_properties` oneof. When a field in this mask is cleared, the server will not apply its default logic (like inheriting a value from the source) for that field. The most common current use case is clearing default encryption keys. Examples of field mask paths: - Compute Instance Disks: `compute_instance_restore_properties.disks.*.disk_encryption_key` - Single Disk: `disk_restore_properties.disk_encryption_key`", +"format": "google-fieldmask", "type": "string" }, -"subnetwork": { -"description": "Optional. The URL of the Subnetwork resource for this instance.", +"computeInstanceRestoreProperties": { +"$ref": "ComputeInstanceRestoreProperties", +"description": "Compute Engine instance properties to be overridden during restore." +}, +"computeInstanceTargetEnvironment": { +"$ref": "ComputeInstanceTargetEnvironment", +"description": "Compute Engine target environment to be used during restore." +}, +"diskRestoreProperties": { +"$ref": "DiskRestoreProperties", +"description": "Disk properties to be overridden during restore." +}, +"diskTargetEnvironment": { +"$ref": "DiskTargetEnvironment", +"description": "Disk target environment to be used during restore." +}, +"regionDiskTargetEnvironment": { +"$ref": "RegionDiskTargetEnvironment", +"description": "Region disk target environment to be used during restore." +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" } }, "type": "object" }, -"NetworkPerformanceConfig": { -"description": "Network performance configuration.", -"id": "NetworkPerformanceConfig", +"RestoreDiskFromInstanceOptions": { +"description": "Options for creating a disk from a source Compute Instance backup.", +"id": "RestoreDiskFromInstanceOptions", "properties": { -"totalEgressBandwidthTier": { -"description": "Optional. The tier of the total egress bandwidth.", -"enum": [ -"TIER_UNSPECIFIED", -"DEFAULT", -"TIER_1" -], -"enumDescriptions": [ -"This value is unused.", -"Default network performance config.", -"Tier 1 network performance config." -], +"bootDisk": { +"description": "Set to true to restore the boot disk from the instance backup. This field should only be set to true if selected.", +"type": "boolean" +}, +"sourceDeviceName": { +"description": "The device name of the disk to restore from the VM backup.", "type": "string" } }, "type": "object" }, -"NodeAffinity": { -"description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", -"id": "NodeAffinity", +"RestorePhaseInfo": { +"description": "Info for Restore phase execution.", +"id": "RestorePhaseInfo", "properties": { -"key": { -"description": "Optional. Corresponds to the label key of Node resource.", +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"operator": { -"description": "Optional. Defines the operation of node selection.", +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true +}, +"phaseState": { +"description": "Output only. The state of this phase.", "enum": [ -"OPERATOR_UNSPECIFIED", -"IN", -"NOT_IN" +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Requires Compute Engine to seek for matched nodes.", -"Requires Compute Engine to avoid certain nodes." +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." ], +"readOnly": true, "type": "string" }, -"values": { -"description": "Optional. Corresponds to the label values of Node resource.", -"items": { +"restoreDuration": { +"description": "Output only. Time taken to restore the resource.", +"format": "google-duration", +"readOnly": true, "type": "string" }, -"type": "array" -} -}, -"type": "object" -}, -"Operation": { -"description": "This resource represents a long-running operation that is the result of a network API call.", -"id": "Operation", -"properties": { -"done": { -"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", -"type": "boolean" -}, -"error": { -"$ref": "Status", -"description": "The error result of the operation in case of failure or cancellation." -}, -"metadata": { +"restoreProperties": { "additionalProperties": { -"description": "Properties of the object. Contains field @type with type URL.", +"description": "Properties of the object.", "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.", +"description": "Output only. Snapshot of environment config used during restore of this RestoreTemplateExecution.", +"readOnly": true, "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}`.", +"restoreResource": { +"description": "Output only. The resource created or restored by this execution.", +"readOnly": true, "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" +"startTime": { +"description": "Output only. Start time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" } }, "type": "object" }, -"PitrSettings": { -"description": "Point in time recovery settings of the backup configuration resource.", -"id": "PitrSettings", +"RestoreTemplate": { +"description": "A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.", +"id": "RestoreTemplate", "properties": { -"retentionDays": { -"description": "Output only. Number of days to retain the backup.", -"format": "int32", +"backupSelectionConfig": { +"$ref": "BackupSelectionConfig", +"description": "Required. Backup selection configuration." +}, +"createTime": { +"description": "Output only. The time when the restore template was created.", +"format": "google-datetime", "readOnly": true, -"type": "integer" -} +"type": "string" }, -"type": "object" +"description": { +"description": "Optional. User-provided description of the restore template.", +"type": "string" }, -"Policy": { -"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", -"id": "Policy", -"properties": { -"auditConfigs": { -"description": "Specifies cloud audit logging configuration for this policy.", -"items": { -"$ref": "AuditConfig" +"etag": { +"description": "Optional. Etag for concurrency control.", +"type": "string" }, -"type": "array" +"executionSummary": { +"$ref": "ExecutionSummary", +"description": "Output only. Summary of the last execution.", +"readOnly": true }, -"bindings": { -"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", -"items": { -"$ref": "Binding" +"labels": { +"additionalProperties": { +"type": "string" }, -"type": "array" +"description": "Optional. User-defined labels.", +"type": "object" }, -"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", +"name": { +"description": "Identifier. The resource name of the RestoreTemplate.", "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" -} +"postRestoreConfig": { +"$ref": "PostRestoreConfig", +"description": "Optional. Post-restore configuration." }, -"type": "object" +"preRestoreConfig": { +"$ref": "PreRestoreConfig", +"description": "Optional. Pre-restore configuration." }, -"PolicyEvaluationSummary": { -"description": "PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources.", -"id": "PolicyEvaluationSummary", -"properties": { -"failedResourceCount": { -"description": "Output only. The number of matching resources whose protection failed during job run.", -"format": "int64", -"readOnly": true, +"resourceType": { +"description": "Required. Immutable. The specific type of the workload being restored. The format is \"{service_name}/{resource_kind}\", for example, \"compute.googleapis.com/Instance\".", "type": "string" }, -"matchingResourceCount": { -"description": "Output only. The number of resources that currently match the policy's criteria.", -"format": "int64", +"restoreProperties": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `\"restored-resource-{EXECUTION_ID}\"` or `\"restored-{EXECUTION_ID}-resource\"` resolves to `\"restored-resource-5d437b06\"` or `\"restored-5d437b06-resource\"`).", +"type": "object" +}, +"state": { +"description": "Output only. The state of the restore template.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"UPDATING", +"DELETING" +], +"enumDescriptions": [ +"State not specified.", +"The template is being created.", +"The template is active and ready to use.", +"The template is being updated.", +"The template is being deleted." +], "readOnly": true, "type": "string" }, -"protectedResourceCount": { -"description": "Output only. The number of matching resources that are successfully protected.", -"format": "int64", +"updateTime": { +"description": "Output only. The time when the restore template was last updated.", +"format": "google-datetime", "readOnly": true, "type": "string" +}, +"verificationConfig": { +"$ref": "VerificationConfig", +"description": "Optional. Verification configuration." } }, "type": "object" }, -"ReconciliationOperationMetadata": { -"description": "Operation metadata returned by the CLH during resource state reconciliation.", -"id": "ReconciliationOperationMetadata", +"RestoreTemplateExecution": { +"description": "A `RestoreTemplateExecution` represents a single historical or active execution run.", +"id": "RestoreTemplateExecution", "properties": { -"deleteResource": { -"deprecated": true, -"description": "DEPRECATED. Use exclusive_action instead.", -"type": "boolean" +"cleanupPhaseInfo": { +"$ref": "CleanupPhaseInfo", +"description": "Output only. Info for the cleanup phase.", +"readOnly": true }, -"exclusiveAction": { -"description": "Excluisive action returned by the CLH.", +"createTime": { +"description": "Output only. Create time of the execution.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Resource name of the execution.", +"type": "string" +}, +"phase": { +"description": "Output only. The current active phase.", "enum": [ -"UNKNOWN_REPAIR_ACTION", -"DELETE", -"RETRY" -], -"enumDeprecated": [ -false, -true, -false +"EXECUTION_PHASE_UNSPECIFIED", +"PREPARING", +"EXECUTING_PRE_RESTORE_ACTION", +"RESTORING", +"EXECUTING_POST_RESTORE_ACTION", +"VERIFYING", +"CLEANING_UP", +"COMPLETED" ], "enumDescriptions": [ -"Unknown repair action.", -"The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.", -"This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." +"Execution phase not specified.", +"Preparing for execution.", +"Executing pre-restore action.", +"Restoring the resource.", +"Executing post-restore action.", +"Verifying the restored resource.", +"Cleaning up resources.", +"Execution completed." ], +"readOnly": true, "type": "string" -} }, -"type": "object" +"postRestorePhaseInfo": { +"$ref": "PostRestorePhaseInfo", +"description": "Output only. Info for the post-restore phase.", +"readOnly": true }, -"RegionDiskTargetEnvironment": { -"description": "RegionDiskTargetEnvironment represents the target environment for the disk.", -"id": "RegionDiskTargetEnvironment", -"properties": { -"project": { -"description": "Required. Target project for the disk.", -"type": "string" +"preRestorePhaseInfo": { +"$ref": "PreRestorePhaseInfo", +"description": "Output only. Info for the pre-restore phase.", +"readOnly": true }, -"region": { -"description": "Required. Target region for the disk.", -"type": "string" +"preparePhaseInfo": { +"$ref": "PreparePhaseInfo", +"description": "Output only. Info for the prepare phase.", +"readOnly": true }, -"replicaZones": { -"description": "Required. Target URLs of the replica zones for the disk.", -"items": { +"resourceType": { +"description": "Output only. The workload resource type being restored. The format is \"{service_name}/{resource_kind}\", for example, \"compute.googleapis.com/Instance\".", +"readOnly": true, "type": "string" }, -"type": "array" +"restorePhaseInfo": { +"$ref": "RestorePhaseInfo", +"description": "Output only. Info for the restore phase.", +"readOnly": true }, -"useProjectServiceAccount": { -"description": "Optional. Whether to use the project service account for the disk restore.", -"type": "boolean" -} +"state": { +"description": "Output only. State of the execution.", +"enum": [ +"EXECUTION_STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"DELETING" +], +"enumDescriptions": [ +"State not set.", +"Execution is running.", +"Execution succeeded.", +"Execution failed.", +"Resources are being deleted (cleanup)." +], +"readOnly": true, +"type": "string" }, -"type": "object" +"type": { +"description": "Output only. The type of the execution.", +"enum": [ +"EXECUTION_TYPE_UNSPECIFIED", +"SCHEDULED", +"ON_DEMAND" +], +"enumDescriptions": [ +"Execution type not specified.", +"Scheduled execution.", +"On-demand execution." +], +"readOnly": true, +"type": "string" }, -"RemoveDataSourceRequest": { -"description": "Message for deleting a DataSource.", -"id": "RemoveDataSourceRequest", -"properties": { -"requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"updateTime": { +"description": "Output only. Update time of the execution.", +"format": "google-datetime", +"readOnly": true, "type": "string" +}, +"verificationPhaseInfo": { +"$ref": "VerificationPhaseInfo", +"description": "Output only. Info for the verification phase.", +"readOnly": true } }, "type": "object" }, -"ResourceBackupConfig": { -"description": "ResourceBackupConfig represents a resource along with its backup configurations.", -"id": "ResourceBackupConfig", +"RestoreVerificationCleanupRule": { +"description": "Defines the specific cleanup action.", +"id": "RestoreVerificationCleanupRule", "properties": { -"backupConfigsDetails": { -"description": "Backup configurations applying to the target resource, including those targeting its related/child resources. For example, backup configuration applicable to Compute Engine disks will be populated in this field for a Compute Engine VM which has the disk associated.", -"items": { -"$ref": "BackupConfigDetails" -}, -"type": "array" +"cleanupDelay": { +"description": "Optional. Duration after restore finishes when cleanup triggers. Delay must be non-negative and at most 30 days (2592000 seconds).", +"format": "google-duration", +"type": "string" }, -"backupConfigured": { -"description": "Output only. Whether the target resource is configured for backup. This is true if the backup_configs_details is not empty.", -"readOnly": true, +"skipCleanup": { +"description": "Optional. If set to true, the restored resource will not be cleaned up.", "type": "boolean" +} }, -"name": { -"description": "Identifier. The resource name of the ResourceBackupConfig. Format: projects/{project}/locations/{location}/resourceBackupConfigs/{uid}", -"type": "string" +"type": "object" }, -"targetResource": { -"description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the cloud resource that this configuration applies to. Supported resource types are ResourceBackupConfig.ResourceType.", +"RestoreVerificationPlan": { +"description": "A `RestoreVerificationPlan` specifies the scheduling and clean-up template for automated restore verification. It contains a `RestoreVerificationSchedule` to dictate when the verifications should run, and a `CleanupConfig` for post-verification resource deletion.", +"id": "RestoreVerificationPlan", +"properties": { +"createTime": { +"description": "Output only. When the `RestoreVerificationPlan` was created.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"targetResourceDisplayName": { -"description": "Output only. The human friendly name of the target resource.", -"readOnly": true, +"description": { +"description": "Optional. The description of the `RestoreVerificationPlan` resource. The description allows for additional details about `RestoreVerificationPlan` and its use cases to be provided. An example description is the following: \"This is a restore verification plan that performs a daily verification and cleans up the resources immediately after.\" The description must be at most 2048 characters.", "type": "string" }, -"targetResourceLabels": { +"failureCleanupRule": { +"$ref": "RestoreVerificationCleanupRule", +"description": "Optional. The cleanup rule to apply if the restore verification fails." +}, +"labels": { "additionalProperties": { "type": "string" }, -"description": "Labels associated with the target resource.", +"description": "Optional. User-defined labels.", "type": "object" }, -"targetResourceType": { -"description": "Output only. The type of the target resource.", +"name": { +"description": "Output only. Identifier. The resource name of the `RestoreVerificationPlan`. Format: `projects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}`", +"readOnly": true, +"type": "string" +}, +"schedule": { +"description": "Required. Describes the schedule on which the restore verification will be executed. The schedule is specified as a [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) string.", +"type": "string" +}, +"state": { +"description": "Output only. The `State` for the `RestoreVerificationPlan`.", "enum": [ -"RESOURCE_TYPE_UNSPECIFIED", -"CLOUD_SQL_INSTANCE", -"COMPUTE_ENGINE_VM", -"COMPUTE_ENGINE_DISK", -"COMPUTE_ENGINE_REGIONAL_DISK", -"FILESTORE_INSTANCE" +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE", +"UPDATING", +"ERROR" ], "enumDescriptions": [ -"Resource type not set.", -"Cloud SQL instance.", -"Compute Engine VM.", -"Compute Engine Disk.", -"Compute Engine Regional Disk.", -"Filestore Instance." +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated.", +"The resource is in an error state due to a configuration issue." ], "readOnly": true, "type": "string" }, -"uid": { -"description": "Output only. The unique identifier of the resource backup config.", -"readOnly": true, +"successCleanupRule": { +"$ref": "RestoreVerificationCleanupRule", +"description": "Optional. The cleanup rule to apply if the restore verification succeeds." +}, +"timeZone": { +"description": "Optional. Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](https://en.wikipedia.org/wiki/Tz_database), like \"America/New_York\" or \"UTC\". Defaults to `UTC` if not specified.", "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.", +"updateTime": { +"description": "Output only. When the `RestoreVerificationPlan` was last updated.", +"format": "google-datetime", "readOnly": true, -"type": "boolean" +"type": "string" } }, "type": "object" }, -"RestoreBackupRequest": { -"description": "Request message for restoring from a Backup.", -"id": "RestoreBackupRequest", +"RestoreVerificationPlanAssociation": { +"description": "A `RestoreVerificationPlanAssociation` binds a specific workload to a `RestoreVerificationPlan`.", +"id": "RestoreVerificationPlanAssociation", "properties": { -"clearOverridesFieldMask": { -"description": "Optional. A field mask used to clear server-side default values for fields within the `instance_properties` oneof. When a field in this mask is cleared, the server will not apply its default logic (like inheriting a value from the source) for that field. The most common current use case is clearing default encryption keys. Examples of field mask paths: - Compute Instance Disks: `compute_instance_restore_properties.disks.*.disk_encryption_key` - Single Disk: `disk_restore_properties.disk_encryption_key`", -"format": "google-fieldmask", +"createTime": { +"description": "Output only. The time when the association was created.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"computeInstanceRestoreProperties": { -"$ref": "ComputeInstanceRestoreProperties", -"description": "Compute Engine instance properties to be overridden during restore." +"description": { +"description": "Optional. The description of the `RestoreVerificationPlanAssociation` resource.", +"type": "string" }, -"computeInstanceTargetEnvironment": { -"$ref": "ComputeInstanceTargetEnvironment", -"description": "Compute Engine target environment to be used during restore." +"labels": { +"additionalProperties": { +"type": "string" }, -"diskRestoreProperties": { -"$ref": "DiskRestoreProperties", -"description": "Disk properties to be overridden during restore." +"description": "Optional. User-defined labels.", +"type": "object" }, -"diskTargetEnvironment": { -"$ref": "DiskTargetEnvironment", -"description": "Disk target environment to be used during restore." +"name": { +"description": "Output only. Identifier. The resource name of RestoreVerificationPlanAssociation in below format Format : projects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}", +"readOnly": true, +"type": "string" }, -"regionDiskTargetEnvironment": { -"$ref": "RegionDiskTargetEnvironment", -"description": "Region disk target environment to be used during restore." +"resourceType": { +"description": "Required. Immutable. The type of the Google Cloud resource (e.g., `compute.googleapis.com/Instance`, `sqladmin.googleapis.com/Instance`).", +"type": "string" }, -"requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"restoreTemplate": { +"description": "Required. Immutable. The canonical name of the RestoreTemplate to trigger.", "type": "string" -} }, -"type": "object" +"state": { +"description": "Output only. The `State` for the `RestoreVerificationPlanAssociation`.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"INACTIVE", +"UPDATING", +"ERROR" +], +"enumDescriptions": [ +"State not set.", +"The resource is being created.", +"The resource has been created and is fully usable.", +"The resource is being deleted.", +"The resource has been created but is not usable.", +"The resource is being updated.", +"The resource is in an error state due to a configuration issue." +], +"readOnly": true, +"type": "string" }, -"RestoreDiskFromInstanceOptions": { -"description": "Options for creating a disk from a source Compute Instance backup.", -"id": "RestoreDiskFromInstanceOptions", -"properties": { -"bootDisk": { -"description": "Set to true to restore the boot disk from the instance backup. This field should only be set to true if selected.", -"type": "boolean" +"triggerSummary": { +"$ref": "TriggerSummary", +"description": "Output only. Results of the most recent automated restore initiation and the next scheduled execution time.", +"readOnly": true }, -"sourceDeviceName": { -"description": "The device name of the disk to restore from the VM backup.", +"updateTime": { +"description": "Output only. The time when the association was updated.", +"format": "google-datetime", +"readOnly": true, "type": "string" } }, @@ -7860,6 +9407,21 @@ false }, "type": "object" }, +"RunRestoreTemplateRequest": { +"description": "Request message for running a RestoreTemplate.", +"id": "RunRestoreTemplateRequest", +"properties": { +"backup": { +"description": "Optional. The resource name of the Backup to restore from. If not specified, the latest backup matching the backup selection configuration in the RestoreTemplate will be used. Format: 'projects/{project}/locations/{location}/backupVaults/{backup_vault}/dataSources/{data_source}/backups/{backup}'", +"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 request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, "Scheduling": { "description": "Sets the scheduling options for an Instance.", "id": "Scheduling", @@ -8306,6 +9868,165 @@ false }, "type": "object" }, +"TriggerRestoreCleanupRequest": { +"description": "Request message for triggering a restore cleanup.", +"id": "TriggerRestoreCleanupRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"TriggerRestoreVerificationRequest": { +"description": "Request message for TriggerRestoreVerification.", +"id": "TriggerRestoreVerificationRequest", +"properties": { +"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 that the server has already received the duplicate request and can avoid responding with an error. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"TriggerSummary": { +"description": "`TriggerSummary` contains the results of the most recent automated restore initiation and the next scheduled execution time.", +"id": "TriggerSummary", +"properties": { +"lastTriggerError": { +"$ref": "Status", +"description": "Output only. The error status of the most recent failed trigger.", +"readOnly": true +}, +"lastTriggerTime": { +"description": "Output only. The time of the most recent trigger initiation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastVerificationExecution": { +"description": "Output only. The resource name of the most recent initiated RestoreTemplateExecution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`", +"readOnly": true, +"type": "string" +}, +"nextTriggerTime": { +"description": "Output only. The scheduled time of the next trigger initiation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"VerificationConfig": { +"description": "Configuration for Verification.", +"id": "VerificationConfig", +"properties": { +"cloudRunJob": { +"description": "Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`", +"type": "string" +}, +"timeout": { +"description": "Optional. The timeout for this phase. If set, the timeout must be positive and less than or equal to 24 hours (86400s).", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"VerificationPhaseInfo": { +"description": "Info for Verification phase execution.", +"id": "VerificationPhaseInfo", +"properties": { +"cloudRunExecution": { +"description": "Output only. The fully qualified URI of the Cloud Run Execution triggered for verification.", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. End time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "Output only. Error details if the phase failed.", +"readOnly": true +}, +"phaseState": { +"description": "Output only. The state of this phase.", +"enum": [ +"PHASE_STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED", +"TIMED_OUT", +"SKIPPED", +"WAITING" +], +"enumDescriptions": [ +"Phase state is not set.", +"This phase is pending execution.", +"The phase is actively executing.", +"The phase completed successfully.", +"The phase encountered an error and failed.", +"The phase timed out.", +"The phase was skipped.", +"The phase is waiting to be executed." +], +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Start time of the phase.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"verificationConfig": { +"$ref": "VerificationConfig", +"description": "Output only. Snapshot of config that will be executed after successful post restore validation.", +"readOnly": true +} +}, +"type": "object" +}, +"VerificationSummary": { +"description": "VerificationSummary contains the status and timestamp of the latest Automated Verification test.", +"id": "VerificationSummary", +"properties": { +"lastVerificationExecution": { +"description": "Output only. The last verification execution.", +"readOnly": true, +"type": "string" +}, +"lastVerificationState": { +"description": "Output only. The state of the last verification.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"Verification state is unspecified.", +"Verification succeeded.", +"Verification failed." +], +"readOnly": true, +"type": "string" +}, +"lastVerificationTime": { +"description": "Output only. The time when the backup was last verified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "WeekDayOfMonth": { "description": "`WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`.", "id": "WeekDayOfMonth", From f1b71690e2ce149efb19f17390d1d660824bc3c6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:24 +0000 Subject: [PATCH 10/57] feat(batch): update the api #### batch:v1 The following keys were added: - schemas.AllocationPolicy.properties.instanceFlexibilityPolicy.$ref (Total Keys: 1) - schemas.InstanceFlexibilityPolicy (Total Keys: 4) - schemas.InstanceSelection (Total Keys: 6) --- .../dyn/batch_v1.projects.locations.jobs.html | 48 +++++++++++++++++-- .../discovery_cache/documents/batch.v1.json | 41 +++++++++++++++- 2 files changed, 83 insertions(+), 6 deletions(-) diff --git a/docs/dyn/batch_v1.projects.locations.jobs.html b/docs/dyn/batch_v1.projects.locations.jobs.html index 7ed401ebce..39b098e168 100644 --- a/docs/dyn/batch_v1.projects.locations.jobs.html +++ b/docs/dyn/batch_v1.projects.locations.jobs.html @@ -159,12 +159,22 @@

Method Details

{ # The Cloud Batch Job description. "allocationPolicy": { # A Job's resource allocation policy describes when, where, and how compute resources should be allocated for the Job. # Compute resource allocation for all TaskGroups in the Job. + "instanceFlexibilityPolicy": { # Allows creating VMs from multiple types of machines. Instance flexibility configuration overrides instances configuration. # Optional. The instance flexibility policy for the job. This configuration overrides the `instances` configuration. Only allowed in job level. Not allowed in task group level. + "instanceSelections": { # Required. Named instance selections configuring properties that the group will use when creating new VMs. The map key is a user-specified name for the instance selection. The key must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the key must consist of lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or number. The maximum number of instance selections is 50. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`. + "a_key": { # Defines an instance selection for a given instance flexibility policy. + "machineTypes": [ # Required. The Compute Engine machine type IDs. Only the machine type ID is supported, such as `n1-standard-16`. Full or partial URLs are not accepted. The total maximum number of machine types across all instance selections is 200. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`. + "A String", + ], + "rank": 42, # Optional. Indicates the preference of this instance selection. Lower number means higher preference. First try is to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + }, + }, + }, "instances": [ # Describe instances that can be created by this AllocationPolicy. Only instances[0] is supported now. { # InstancePolicyOrTemplate lets you define the type of resources to use for this job either with an InstancePolicy or an instance template. If undefined, Batch picks the type of VM to use and doesn't include optional VM resources such as GPUs and extra disks. "blockProjectSshKeys": True or False, # Optional. Set this field to `true` if you want Batch to block project-level SSH keys from accessing this job's VMs. Alternatively, you can configure the job to specify a VM instance template that blocks project-level SSH keys. In either case, Batch blocks project-level SSH keys while creating the VMs for this job. Batch allows project-level SSH keys for a job's VMs only if all the following are true: + This field is undefined or set to `false`. + The job's VM instance template (if any) doesn't block project-level SSH keys. Notably, you can override this behavior by manually updating a VM to block or allow project-level SSH keys. For more information about blocking project-level SSH keys, see the Compute Engine documentation: https://cloud.google.com/compute/docs/connect/restrict-ssh-keys#block-keys "installGpuDrivers": True or False, # Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in `policy.accelerators` or `instance_template` on your behalf. Default is false. For Container-Optimized Image cases, Batch will install the accelerator driver following milestones of https://cloud.google.com/container-optimized-os/docs/release-notes. For non Container-Optimized Image cases, following https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py. "installOpsAgent": True or False, # Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is false. - "instanceTemplate": "A String", # Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates from the same project as the job. You can specify the global instance template as a full or partial URL. + "instanceTemplate": "A String", # An instance template used to create VMs. Batch supports global and regional instance templates from the same project as the job. In case of a regional instance template, the job and the instance template must be in the same region. As shown in the following examples, you can specify the instance template as either only its ID, only its name (not unique), or a partial or full URL. If you specify only its name, then Batch checks for a global instance template first. The following formats are valid for global instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `projects/{project}/global/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_name}` The following formats are valid for regional instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` "policy": { # InstancePolicy describes an instance type and resources attached to each VM created by this InstancePolicy. # InstancePolicy. "accelerators": [ # The accelerators attached to each VM instance. { # Accelerator describes Compute Engine accelerators to be attached to the VM. @@ -430,12 +440,22 @@

Method Details

{ # The Cloud Batch Job description. "allocationPolicy": { # A Job's resource allocation policy describes when, where, and how compute resources should be allocated for the Job. # Compute resource allocation for all TaskGroups in the Job. + "instanceFlexibilityPolicy": { # Allows creating VMs from multiple types of machines. Instance flexibility configuration overrides instances configuration. # Optional. The instance flexibility policy for the job. This configuration overrides the `instances` configuration. Only allowed in job level. Not allowed in task group level. + "instanceSelections": { # Required. Named instance selections configuring properties that the group will use when creating new VMs. The map key is a user-specified name for the instance selection. The key must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the key must consist of lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or number. The maximum number of instance selections is 50. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`. + "a_key": { # Defines an instance selection for a given instance flexibility policy. + "machineTypes": [ # Required. The Compute Engine machine type IDs. Only the machine type ID is supported, such as `n1-standard-16`. Full or partial URLs are not accepted. The total maximum number of machine types across all instance selections is 200. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`. + "A String", + ], + "rank": 42, # Optional. Indicates the preference of this instance selection. Lower number means higher preference. First try is to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + }, + }, + }, "instances": [ # Describe instances that can be created by this AllocationPolicy. Only instances[0] is supported now. { # InstancePolicyOrTemplate lets you define the type of resources to use for this job either with an InstancePolicy or an instance template. If undefined, Batch picks the type of VM to use and doesn't include optional VM resources such as GPUs and extra disks. "blockProjectSshKeys": True or False, # Optional. Set this field to `true` if you want Batch to block project-level SSH keys from accessing this job's VMs. Alternatively, you can configure the job to specify a VM instance template that blocks project-level SSH keys. In either case, Batch blocks project-level SSH keys while creating the VMs for this job. Batch allows project-level SSH keys for a job's VMs only if all the following are true: + This field is undefined or set to `false`. + The job's VM instance template (if any) doesn't block project-level SSH keys. Notably, you can override this behavior by manually updating a VM to block or allow project-level SSH keys. For more information about blocking project-level SSH keys, see the Compute Engine documentation: https://cloud.google.com/compute/docs/connect/restrict-ssh-keys#block-keys "installGpuDrivers": True or False, # Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in `policy.accelerators` or `instance_template` on your behalf. Default is false. For Container-Optimized Image cases, Batch will install the accelerator driver following milestones of https://cloud.google.com/container-optimized-os/docs/release-notes. For non Container-Optimized Image cases, following https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py. "installOpsAgent": True or False, # Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is false. - "instanceTemplate": "A String", # Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates from the same project as the job. You can specify the global instance template as a full or partial URL. + "instanceTemplate": "A String", # An instance template used to create VMs. Batch supports global and regional instance templates from the same project as the job. In case of a regional instance template, the job and the instance template must be in the same region. As shown in the following examples, you can specify the instance template as either only its ID, only its name (not unique), or a partial or full URL. If you specify only its name, then Batch checks for a global instance template first. The following formats are valid for global instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `projects/{project}/global/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_name}` The following formats are valid for regional instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` "policy": { # InstancePolicy describes an instance type and resources attached to each VM created by this InstancePolicy. # InstancePolicy. "accelerators": [ # The accelerators attached to each VM instance. { # Accelerator describes Compute Engine accelerators to be attached to the VM. @@ -743,12 +763,22 @@

Method Details

{ # The Cloud Batch Job description. "allocationPolicy": { # A Job's resource allocation policy describes when, where, and how compute resources should be allocated for the Job. # Compute resource allocation for all TaskGroups in the Job. + "instanceFlexibilityPolicy": { # Allows creating VMs from multiple types of machines. Instance flexibility configuration overrides instances configuration. # Optional. The instance flexibility policy for the job. This configuration overrides the `instances` configuration. Only allowed in job level. Not allowed in task group level. + "instanceSelections": { # Required. Named instance selections configuring properties that the group will use when creating new VMs. The map key is a user-specified name for the instance selection. The key must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the key must consist of lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or number. The maximum number of instance selections is 50. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`. + "a_key": { # Defines an instance selection for a given instance flexibility policy. + "machineTypes": [ # Required. The Compute Engine machine type IDs. Only the machine type ID is supported, such as `n1-standard-16`. Full or partial URLs are not accepted. The total maximum number of machine types across all instance selections is 200. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`. + "A String", + ], + "rank": 42, # Optional. Indicates the preference of this instance selection. Lower number means higher preference. First try is to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + }, + }, + }, "instances": [ # Describe instances that can be created by this AllocationPolicy. Only instances[0] is supported now. { # InstancePolicyOrTemplate lets you define the type of resources to use for this job either with an InstancePolicy or an instance template. If undefined, Batch picks the type of VM to use and doesn't include optional VM resources such as GPUs and extra disks. "blockProjectSshKeys": True or False, # Optional. Set this field to `true` if you want Batch to block project-level SSH keys from accessing this job's VMs. Alternatively, you can configure the job to specify a VM instance template that blocks project-level SSH keys. In either case, Batch blocks project-level SSH keys while creating the VMs for this job. Batch allows project-level SSH keys for a job's VMs only if all the following are true: + This field is undefined or set to `false`. + The job's VM instance template (if any) doesn't block project-level SSH keys. Notably, you can override this behavior by manually updating a VM to block or allow project-level SSH keys. For more information about blocking project-level SSH keys, see the Compute Engine documentation: https://cloud.google.com/compute/docs/connect/restrict-ssh-keys#block-keys "installGpuDrivers": True or False, # Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in `policy.accelerators` or `instance_template` on your behalf. Default is false. For Container-Optimized Image cases, Batch will install the accelerator driver following milestones of https://cloud.google.com/container-optimized-os/docs/release-notes. For non Container-Optimized Image cases, following https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py. "installOpsAgent": True or False, # Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is false. - "instanceTemplate": "A String", # Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates from the same project as the job. You can specify the global instance template as a full or partial URL. + "instanceTemplate": "A String", # An instance template used to create VMs. Batch supports global and regional instance templates from the same project as the job. In case of a regional instance template, the job and the instance template must be in the same region. As shown in the following examples, you can specify the instance template as either only its ID, only its name (not unique), or a partial or full URL. If you specify only its name, then Batch checks for a global instance template first. The following formats are valid for global instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `projects/{project}/global/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_name}` The following formats are valid for regional instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` "policy": { # InstancePolicy describes an instance type and resources attached to each VM created by this InstancePolicy. # InstancePolicy. "accelerators": [ # The accelerators attached to each VM instance. { # Accelerator describes Compute Engine accelerators to be attached to the VM. @@ -1025,12 +1055,22 @@

Method Details

"jobs": [ # Jobs. { # The Cloud Batch Job description. "allocationPolicy": { # A Job's resource allocation policy describes when, where, and how compute resources should be allocated for the Job. # Compute resource allocation for all TaskGroups in the Job. + "instanceFlexibilityPolicy": { # Allows creating VMs from multiple types of machines. Instance flexibility configuration overrides instances configuration. # Optional. The instance flexibility policy for the job. This configuration overrides the `instances` configuration. Only allowed in job level. Not allowed in task group level. + "instanceSelections": { # Required. Named instance selections configuring properties that the group will use when creating new VMs. The map key is a user-specified name for the instance selection. The key must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the key must consist of lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or number. The maximum number of instance selections is 50. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`. + "a_key": { # Defines an instance selection for a given instance flexibility policy. + "machineTypes": [ # Required. The Compute Engine machine type IDs. Only the machine type ID is supported, such as `n1-standard-16`. Full or partial URLs are not accepted. The total maximum number of machine types across all instance selections is 200. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`. + "A String", + ], + "rank": 42, # Optional. Indicates the preference of this instance selection. Lower number means higher preference. First try is to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + }, + }, + }, "instances": [ # Describe instances that can be created by this AllocationPolicy. Only instances[0] is supported now. { # InstancePolicyOrTemplate lets you define the type of resources to use for this job either with an InstancePolicy or an instance template. If undefined, Batch picks the type of VM to use and doesn't include optional VM resources such as GPUs and extra disks. "blockProjectSshKeys": True or False, # Optional. Set this field to `true` if you want Batch to block project-level SSH keys from accessing this job's VMs. Alternatively, you can configure the job to specify a VM instance template that blocks project-level SSH keys. In either case, Batch blocks project-level SSH keys while creating the VMs for this job. Batch allows project-level SSH keys for a job's VMs only if all the following are true: + This field is undefined or set to `false`. + The job's VM instance template (if any) doesn't block project-level SSH keys. Notably, you can override this behavior by manually updating a VM to block or allow project-level SSH keys. For more information about blocking project-level SSH keys, see the Compute Engine documentation: https://cloud.google.com/compute/docs/connect/restrict-ssh-keys#block-keys "installGpuDrivers": True or False, # Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in `policy.accelerators` or `instance_template` on your behalf. Default is false. For Container-Optimized Image cases, Batch will install the accelerator driver following milestones of https://cloud.google.com/container-optimized-os/docs/release-notes. For non Container-Optimized Image cases, following https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py. "installOpsAgent": True or False, # Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is false. - "instanceTemplate": "A String", # Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates from the same project as the job. You can specify the global instance template as a full or partial URL. + "instanceTemplate": "A String", # An instance template used to create VMs. Batch supports global and regional instance templates from the same project as the job. In case of a regional instance template, the job and the instance template must be in the same region. As shown in the following examples, you can specify the instance template as either only its ID, only its name (not unique), or a partial or full URL. If you specify only its name, then Batch checks for a global instance template first. The following formats are valid for global instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `projects/{project}/global/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_name}` The following formats are valid for regional instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` "policy": { # InstancePolicy describes an instance type and resources attached to each VM created by this InstancePolicy. # InstancePolicy. "accelerators": [ # The accelerators attached to each VM instance. { # Accelerator describes Compute Engine accelerators to be attached to the VM. diff --git a/googleapiclient/discovery_cache/documents/batch.v1.json b/googleapiclient/discovery_cache/documents/batch.v1.json index 1c08c72063..8dac320c7d 100644 --- a/googleapiclient/discovery_cache/documents/batch.v1.json +++ b/googleapiclient/discovery_cache/documents/batch.v1.json @@ -600,7 +600,7 @@ } } }, -"revision": "20260723", +"revision": "20261103", "rootUrl": "https://batch.googleapis.com/", "schemas": { "Accelerator": { @@ -1029,6 +1029,10 @@ "description": "A Job's resource allocation policy describes when, where, and how compute resources should be allocated for the Job.", "id": "AllocationPolicy", "properties": { +"instanceFlexibilityPolicy": { +"$ref": "InstanceFlexibilityPolicy", +"description": "Optional. The instance flexibility policy for the job. This configuration overrides the `instances` configuration. Only allowed in job level. Not allowed in task group level." +}, "instances": { "description": "Describe instances that can be created by this AllocationPolicy. Only instances[0] is supported now.", "items": { @@ -1267,6 +1271,20 @@ }, "type": "object" }, +"InstanceFlexibilityPolicy": { +"description": "Allows creating VMs from multiple types of machines. Instance flexibility configuration overrides instances configuration.", +"id": "InstanceFlexibilityPolicy", +"properties": { +"instanceSelections": { +"additionalProperties": { +"$ref": "InstanceSelection" +}, +"description": "Required. Named instance selections configuring properties that the group will use when creating new VMs. The map key is a user-specified name for the instance selection. The key must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the key must consist of lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or number. The maximum number of instance selections is 50. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`.", +"type": "object" +} +}, +"type": "object" +}, "InstancePolicy": { "description": "InstancePolicy describes an instance type and resources attached to each VM created by this InstancePolicy.", "id": "InstancePolicy", @@ -1349,7 +1367,7 @@ false "type": "boolean" }, "instanceTemplate": { -"description": "Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates from the same project as the job. You can specify the global instance template as a full or partial URL.", +"description": "An instance template used to create VMs. Batch supports global and regional instance templates from the same project as the job. In case of a regional instance template, the job and the instance template must be in the same region. As shown in the following examples, you can specify the instance template as either only its ID, only its name (not unique), or a partial or full URL. If you specify only its name, then Batch checks for a global instance template first. The following formats are valid for global instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `projects/{project}/global/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/global/instanceTemplates/{instance_template_name}` The following formats are valid for regional instance templates: * `{instance_template_id_number}` * `{instance_template_name}` (not unique) * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_id_number}` * `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/instanceTemplates/{instance_template_name}`", "type": "string" }, "policy": { @@ -1359,6 +1377,25 @@ false }, "type": "object" }, +"InstanceSelection": { +"description": "Defines an instance selection for a given instance flexibility policy.", +"id": "InstanceSelection", +"properties": { +"machineTypes": { +"description": "Required. The Compute Engine machine type IDs. Only the machine type ID is supported, such as `n1-standard-16`. Full or partial URLs are not accepted. The total maximum number of machine types across all instance selections is 200. Exceeding this limit results in a validation error with code `INVALID_ARGUMENT`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rank": { +"description": "Optional. Indicates the preference of this instance selection. Lower number means higher preference. First try is to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "InstanceStatus": { "description": "VM instance status.", "id": "InstanceStatus", From 9ecad22e2765a83b719fa6ec08e5d9b5270d9cfc Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:24 +0000 Subject: [PATCH 11/57] feat(bigqueryreservation): update the api #### bigqueryreservation:v1 The following keys were added: - resources.projects.resources.locations.methods.upgradeEdition (Total Keys: 12) - schemas.UpgradeEditionRequest (Total Keys: 7) - schemas.UpgradeEditionResponse (Total Keys: 6) --- ...ueryreservation_v1.projects.locations.html | 103 ++++++++++++++++++ .../documents/bigqueryreservation.v1.json | 89 ++++++++++++++- 2 files changed, 191 insertions(+), 1 deletion(-) diff --git a/docs/dyn/bigqueryreservation_v1.projects.locations.html b/docs/dyn/bigqueryreservation_v1.projects.locations.html index 78573ad61e..35320a219c 100644 --- a/docs/dyn/bigqueryreservation_v1.projects.locations.html +++ b/docs/dyn/bigqueryreservation_v1.projects.locations.html @@ -110,6 +110,9 @@

Instance Methods

updateBiReservation(name, body=None, updateMask=None, x__xgafv=None)

Updates a BI reservation. Only fields specified in the `field_mask` are updated. A singleton BI reservation always exists with default size 0. In order to reserve BI capacity it needs to be updated to an amount greater than 0. In order to release BI capacity reservation size must be set to 0.

+

+ upgradeEdition(parent, body=None, x__xgafv=None)

+

Upgrades the edition for a list of reservations and capacity commitments. You can only upgrade to a higher edition (from `STANDARD` to `ENTERPRISE` or `ENTERPRISE_PLUS`, from `ENTERPRISE` to `ENTERPRISE_PLUS`, or from `EDITION_UNSPECIFIED` to `ENTERPRISE` or `ENTERPRISE_PLUS`). You can't downgrade an edition. The upgrade must not cause an overall flexible slot increase across the original and target editions (for example, by upgrading a reservation without upgrading its corresponding capacity commitment). Otherwise, the method fails with a `google.rpc.Code.FAILED_PRECONDITION` error. Before the upgrade, the service validates that the resources meet the requirements of the target edition (for example, all reservations within a reservation group must be upgraded together).

Method Details

close() @@ -303,4 +306,104 @@

Method Details

}
+
+ upgradeEdition(parent, body=None, x__xgafv=None) +
Upgrades the edition for a list of reservations and capacity commitments. You can only upgrade to a higher edition (from `STANDARD` to `ENTERPRISE` or `ENTERPRISE_PLUS`, from `ENTERPRISE` to `ENTERPRISE_PLUS`, or from `EDITION_UNSPECIFIED` to `ENTERPRISE` or `ENTERPRISE_PLUS`). You can't downgrade an edition. The upgrade must not cause an overall flexible slot increase across the original and target editions (for example, by upgrading a reservation without upgrading its corresponding capacity commitment). Otherwise, the method fails with a `google.rpc.Code.FAILED_PRECONDITION` error. Before the upgrade, the service validates that the resources meet the requirements of the target edition (for example, all reservations within a reservation group must be upgraded together).
+
+Args:
+  parent: string, The parent resource name that identifies the admin project and location, in the format `projects/{project}/locations/{location}`. For example, `projects/myproject/locations/us-west1`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for ReservationService.UpgradeEdition. You must specify at least one reservation or capacity commitment.
+  "capacityCommitments": [ # Optional. The resource names of the capacity commitments to upgrade, in the format `projects/{project}/locations/{location}/capacityCommitments/{capacity_commitment}`. For example, `projects/myproject/locations/us-west1/capacityCommitments/123`. These capacity commitments must be in the `ACTIVE` state and must exist under the specified `parent`. The `commitment_start_time` and `commitment_end_time` fields don't change after the upgrade.
+    "A String",
+  ],
+  "reservations": [ # Optional. The resource names of the reservations to upgrade, in the format `projects/{project}/locations/{location}/reservations/{reservation}`. For example, `projects/myproject/locations/us-west1/reservations/team1-prod`. These reservations must exist under the specified `parent`.
+    "A String",
+  ],
+  "targetEdition": "A String", # The edition to upgrade the capacity commitments and reservations to. Supported values are `ENTERPRISE` and `ENTERPRISE_PLUS`.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for ReservationService.UpgradeEdition.
+  "capacityCommitments": [ # The updated capacity commitments after the upgrade.
+    { # Capacity commitment is a way to purchase compute capacity for BigQuery jobs (in the form of slots) with some committed period of usage. Annual commitments renew by default. Commitments can be removed after their commitment end time passes. In order to remove annual commitment, its plan needs to be changed to monthly or flex first. A capacity commitment resource exists as a child resource of the admin project.
+      "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE capacity commitments. Note after renewal, commitment_end_time is the time the renewed commitment expires. So itwould be at a time after commitment_start_time + committed period, because we don't change commitment_start_time ,
+      "commitmentStartTime": "A String", # Output only. The start of the current commitment period. It is applicable only for ACTIVE capacity commitments. Note after the commitment is renewed, commitment_start_time won't be changed. It refers to the start time of the original commitment.
+      "edition": "A String", # Optional. Edition of the capacity commitment.
+      "failureStatus": { # 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). # Output only. For FAILED commitment plan, provides the reason of failure.
+        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+          {
+            "a_key": "", # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+        "message": "A String", # 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.
+      },
+      "isFlatRate": True or False, # Output only. If true, the commitment is a flat-rate commitment, otherwise, it's an edition commitment.
+      "multiRegionAuxiliary": True or False, # Applicable only for commitments located within one of the BigQuery multi-regions (US or EU). If set to true, this commitment is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this commitment is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.
+      "name": "A String", # Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` The commitment_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.
+      "plan": "A String", # Optional. Capacity commitment commitment plan.
+      "renewalPlan": "A String", # Optional. The plan this capacity commitment is converted to after commitment_end_time passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable for ANNUAL and TRIAL commitments.
+      "slotCount": "A String", # Optional. Number of slots in this commitment.
+      "state": "A String", # Output only. State of the commitment.
+    },
+  ],
+  "reservations": [ # The updated reservations after the upgrade.
+    { # A reservation is a mechanism used to guarantee slots to users.
+      "autoscale": { # Auto scaling settings. # Optional. The configuration parameters for the auto scaling feature.
+        "currentSlots": "A String", # Output only. The slot capacity added to this reservation when autoscale happens. Will be between [0, max_slots]. Note: after users reduce max_slots, it may take a while before it can be propagated, so current_slots may stay in the original value and could be larger than max_slots for that brief period (less than one minute)
+        "maxSlots": "A String", # Optional. Number of slots to be scaled when needed.
+      },
+      "concurrency": "A String", # Optional. Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as target job concurrency in the Information Schema, DDL and BigQuery CLI.
+      "creationTime": "A String", # Output only. Creation time of the reservation.
+      "edition": "A String", # Optional. Edition of the reservation.
+      "ignoreIdleSlots": True or False, # Optional. If false, any query or pipeline job using this reservation will use idle slots from other reservations within the same admin project. If true, a query or pipeline job using this reservation will execute with the slot capacity specified in the slot_capacity field at most.
+      "labels": { # Optional. The labels associated with this reservation. You can use these to organize and group your reservations. You can set this property when you create or update a reservation.
+        "a_key": "A String",
+      },
+      "maxSlots": "A String", # Optional. The overall max slots for the reservation, covering slot_capacity (baseline), idle slots (if ignore_idle_slots is false) and scaled slots. If present, the reservation won't use more than the specified number of slots, even if there is demand and supply (from idle slots). NOTE: capping a reservation's idle slot usage is best effort and its usage may exceed the max_slots value. However, in terms of autoscale.current_slots (which accounts for the additional added slots), it will never exceed the max_slots - baseline. This field must be set together with the scaling_mode enum value, otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. If the max_slots and scaling_mode are set, the autoscale or autoscale.max_slots field must be unset. Otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. However, the autoscale field may still be in the output. The autopscale.max_slots will always show as 0 and the autoscaler.current_slots will represent the current slots from autoscaler excluding idle slots. For example, if the max_slots is 1000 and scaling_mode is AUTOSCALE_ONLY, then in the output, the autoscaler.max_slots will be 0 and the autoscaler.current_slots may be any value between 0 and 1000. If the max_slots is 1000, scaling_mode is ALL_SLOTS, the baseline is 100 and idle slots usage is 200, then in the output, the autoscaler.max_slots will be 0 and the autoscaler.current_slots will not be higher than 700. If the max_slots is 1000, scaling_mode is IDLE_SLOTS_ONLY, then in the output, the autoscaler field will be null. If the max_slots and scaling_mode are set, then the ignore_idle_slots field must be aligned with the scaling_mode enum value.(See details in ScalingMode comments). Otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. Please note, the max_slots is for user to manage the part of slots greater than the baseline. Therefore, we don't allow users to set max_slots smaller or equal to the baseline as it will not be meaningful. If the field is present and slot_capacity>=max_slots, requests will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. Please note that if max_slots is set to 0, we will treat it as unset. Customers can set max_slots to 0 and set scaling_mode to SCALING_MODE_UNSPECIFIED to disable the max_slots feature.
+      "multiRegionAuxiliary": True or False, # Applicable only for reservations located within one of the BigQuery multi-regions (US or EU). If set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.
+      "name": "A String", # Identifier. The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. The reservation_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.
+      "originalPrimaryLocation": "A String", # Output only. The location where the reservation was originally created. This is set only during the failover reservation's creation. All billing charges for the failover reservation will be applied to this location.
+      "primaryLocation": "A String", # Output only. The current location of the reservation's primary replica. This field is only set for reservations using the managed disaster recovery feature.
+      "replicationStatus": { # Disaster Recovery(DR) replication status of the reservation. # Output only. The Disaster Recovery(DR) replication status of the reservation. This is only available for the primary replicas of DR/failover reservations and provides information about the both the staleness of the secondary and the last error encountered while trying to replicate changes from the primary to the secondary. If this field is blank, it means that the reservation is either not a DR reservation or the reservation is a DR secondary or that any replication operations on the reservation have succeeded.
+        "error": { # 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). # Output only. The last error encountered while trying to replicate changes from the primary to the secondary. This field is only available if the replication has not succeeded since.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          "message": "A String", # 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.
+        },
+        "lastErrorTime": "A String", # Output only. The time at which the last error was encountered while trying to replicate changes from the primary to the secondary. This field is only available if the replication has not succeeded since.
+        "lastReplicationTime": "A String", # Output only. A timestamp corresponding to the last change on the primary that was successfully replicated to the secondary.
+        "softFailoverStartTime": "A String", # Output only. The time at which a soft failover for the reservation and its associated datasets was initiated. After this field is set, all subsequent changes to the reservation will be rejected unless a hard failover overrides this operation. This field will be cleared once the failover is complete.
+      },
+      "reservationGroup": "A String", # Optional. The reservation group that this reservation belongs to. You can set this property when you create or update a reservation. Reservations do not need to belong to a reservation group. Format: projects/{project}/locations/{location}/reservationGroups/{reservation_group} or just {reservation_group}
+      "reservationGroupPath": [ # Output only. The reservation group path of the reservation from root to leaf. The order of elements matters: the first element is the top level group and the last element is the direct parent reservation group. For example, if a reservation is under group-1 -> group-2 -> group-3, then the reservation group path is ["group-1", "group-2", "group-3"].
+        "A String",
+      ],
+      "scalingMode": "A String", # Optional. The scaling mode for the reservation. If the field is present but max_slots is not present, requests will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.
+      "schedulingPolicy": { # The scheduling policy controls how a reservation's resources are distributed. # Optional. The scheduling policy to use for jobs and queries running under this reservation. The scheduling policy controls how the reservation's resources are distributed. This feature is not yet generally available.
+        "concurrency": "A String", # Optional. If present and > 0, the reservation will attempt to limit the concurrency of jobs running for any particular project within it to the given value. This feature is not yet generally available.
+        "maxSlots": "A String", # Optional. If present and > 0, the reservation will attempt to limit the slot consumption of queries running for any particular project within it to the given value. This feature is not yet generally available.
+      },
+      "secondaryLocation": "A String", # Optional. The current location of the reservation's secondary replica. This field is only set for reservations using the managed disaster recovery feature. Users can set this in create reservation calls to create a failover reservation or in update reservation calls to convert a non-failover reservation to a failover reservation(or vice versa).
+      "slotCapacity": "A String", # Optional. Baseline slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false, or autoscaling is enabled. The total slot_capacity of the reservation and its siblings may exceed the total slot_count of capacity commitments. In that case, the exceeding slots will be charged with the autoscale SKU. You can increase the number of baseline slots in a reservation every few minutes. If you want to decrease your baseline slots, you are limited to once an hour if you have recently changed your baseline slot capacity and your baseline slots exceed your committed slots. Otherwise, you can decrease your baseline slots every few minutes.
+      "updateTime": "A String", # Output only. Last update time of the reservation.
+    },
+  ],
+}
+
+ \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json index 60f84fd991..be5ff019a7 100644 --- a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json +++ b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json @@ -384,6 +384,35 @@ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform" ] +}, +"upgradeEdition": { +"description": "Upgrades the edition for a list of reservations and capacity commitments. You can only upgrade to a higher edition (from `STANDARD` to `ENTERPRISE` or `ENTERPRISE_PLUS`, from `ENTERPRISE` to `ENTERPRISE_PLUS`, or from `EDITION_UNSPECIFIED` to `ENTERPRISE` or `ENTERPRISE_PLUS`). You can't downgrade an edition. The upgrade must not cause an overall flexible slot increase across the original and target editions (for example, by upgrading a reservation without upgrading its corresponding capacity commitment). Otherwise, the method fails with a `google.rpc.Code.FAILED_PRECONDITION` error. Before the upgrade, the service validates that the resources meet the requirements of the target edition (for example, all reservations within a reservation group must be upgraded together).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:upgradeEdition", +"httpMethod": "POST", +"id": "bigqueryreservation.projects.locations.upgradeEdition", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent resource name that identifies the admin project and location, in the format `projects/{project}/locations/{location}`. For example, `projects/myproject/locations/us-west1`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:upgradeEdition", +"request": { +"$ref": "UpgradeEditionRequest" +}, +"response": { +"$ref": "UpgradeEditionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] } }, "resources": { @@ -1322,7 +1351,7 @@ } } }, -"revision": "20261024", +"revision": "20261102", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { @@ -2217,6 +2246,64 @@ false } }, "type": "object" +}, +"UpgradeEditionRequest": { +"description": "The request for ReservationService.UpgradeEdition. You must specify at least one reservation or capacity commitment.", +"id": "UpgradeEditionRequest", +"properties": { +"capacityCommitments": { +"description": "Optional. The resource names of the capacity commitments to upgrade, in the format `projects/{project}/locations/{location}/capacityCommitments/{capacity_commitment}`. For example, `projects/myproject/locations/us-west1/capacityCommitments/123`. These capacity commitments must be in the `ACTIVE` state and must exist under the specified `parent`. The `commitment_start_time` and `commitment_end_time` fields don't change after the upgrade.", +"items": { +"type": "string" +}, +"type": "array" +}, +"reservations": { +"description": "Optional. The resource names of the reservations to upgrade, in the format `projects/{project}/locations/{location}/reservations/{reservation}`. For example, `projects/myproject/locations/us-west1/reservations/team1-prod`. These reservations must exist under the specified `parent`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetEdition": { +"description": "The edition to upgrade the capacity commitments and reservations to. Supported values are `ENTERPRISE` and `ENTERPRISE_PLUS`.", +"enum": [ +"EDITION_UNSPECIFIED", +"STANDARD", +"ENTERPRISE", +"ENTERPRISE_PLUS" +], +"enumDescriptions": [ +"Default value, which will be treated as ENTERPRISE.", +"Standard edition.", +"Enterprise edition.", +"Enterprise Plus edition." +], +"type": "string" +} +}, +"type": "object" +}, +"UpgradeEditionResponse": { +"description": "The response for ReservationService.UpgradeEdition.", +"id": "UpgradeEditionResponse", +"properties": { +"capacityCommitments": { +"description": "The updated capacity commitments after the upgrade.", +"items": { +"$ref": "CapacityCommitment" +}, +"type": "array" +}, +"reservations": { +"description": "The updated reservations after the upgrade.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +} +}, +"type": "object" } }, "servicePath": "", From 2911a880b90a4d321d0910b0a85bbb32c9e5add2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:24 +0000 Subject: [PATCH 12/57] feat(calendar): update the api #### calendar:v3 The following keys were added: - schemas.Calendar.properties.workingHours (Total Keys: 9) --- docs/dyn/calendar_v3.calendars.html | 119 ++++++++++++++++++ .../documents/calendar.v3.json | 35 +++++- 2 files changed, 153 insertions(+), 1 deletion(-) diff --git a/docs/dyn/calendar_v3.calendars.html b/docs/dyn/calendar_v3.calendars.html index c43955bfd8..4e30aef566 100644 --- a/docs/dyn/calendar_v3.calendars.html +++ b/docs/dyn/calendar_v3.calendars.html @@ -164,6 +164,23 @@

Method Details

"location": "A String", # Geographic location of the calendar as free-form text. Optional. "summary": "A String", # Title of the calendar. "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. + "workingHours": { # Represents the information about the user's working hours. Only available for primary calendars of Google Workspace users. To update the working hours, the entire working hours object must be passed. If not specified (or passed as null or an empty object), the existing working hours remain unchanged. To disable working hours or clear the schedule, set workingHoursEnabled to false (and omit availableTimes or pass an empty list). + "availableTimes": [ # Working hours. Each availability period represents the user's working hours block during one day. + { + "dayOfWeek": "A String", # Day of the week. Required. Possible values are: + # - "monday" + # - "tuesday" + # - "wednesday" + # - "thursday" + # - "friday" + # - "saturday" + # - "sunday" + "periodEnd": 42, # Period end, in minutes from the start of the day, exclusive. Required. + "periodStart": 42, # Period start, in minutes from the start of the day, inclusive. Required. + }, + ], + "workingHoursEnabled": True or False, # Whether the working hours are enabled for this calendar. Cannot be set to true when availableTimes is empty. + }, } @@ -210,6 +227,23 @@

Method Details

"location": "A String", # Geographic location of the calendar as free-form text. Optional. "summary": "A String", # Title of the calendar. "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. + "workingHours": { # Represents the information about the user's working hours. Only available for primary calendars of Google Workspace users. To update the working hours, the entire working hours object must be passed. If not specified (or passed as null or an empty object), the existing working hours remain unchanged. To disable working hours or clear the schedule, set workingHoursEnabled to false (and omit availableTimes or pass an empty list). + "availableTimes": [ # Working hours. Each availability period represents the user's working hours block during one day. + { + "dayOfWeek": "A String", # Day of the week. Required. Possible values are: + # - "monday" + # - "tuesday" + # - "wednesday" + # - "thursday" + # - "friday" + # - "saturday" + # - "sunday" + "periodEnd": 42, # Period end, in minutes from the start of the day, exclusive. Required. + "periodStart": 42, # Period start, in minutes from the start of the day, inclusive. Required. + }, + ], + "workingHoursEnabled": True or False, # Whether the working hours are enabled for this calendar. Cannot be set to true when availableTimes is empty. + }, } @@ -248,6 +282,23 @@

Method Details

"location": "A String", # Geographic location of the calendar as free-form text. Optional. "summary": "A String", # Title of the calendar. "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. + "workingHours": { # Represents the information about the user's working hours. Only available for primary calendars of Google Workspace users. To update the working hours, the entire working hours object must be passed. If not specified (or passed as null or an empty object), the existing working hours remain unchanged. To disable working hours or clear the schedule, set workingHoursEnabled to false (and omit availableTimes or pass an empty list). + "availableTimes": [ # Working hours. Each availability period represents the user's working hours block during one day. + { + "dayOfWeek": "A String", # Day of the week. Required. Possible values are: + # - "monday" + # - "tuesday" + # - "wednesday" + # - "thursday" + # - "friday" + # - "saturday" + # - "sunday" + "periodEnd": 42, # Period end, in minutes from the start of the day, exclusive. Required. + "periodStart": 42, # Period start, in minutes from the start of the day, inclusive. Required. + }, + ], + "workingHoursEnabled": True or False, # Whether the working hours are enabled for this calendar. Cannot be set to true when availableTimes is empty. + }, } @@ -292,6 +343,23 @@

Method Details

"location": "A String", # Geographic location of the calendar as free-form text. Optional. "summary": "A String", # Title of the calendar. "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. + "workingHours": { # Represents the information about the user's working hours. Only available for primary calendars of Google Workspace users. To update the working hours, the entire working hours object must be passed. If not specified (or passed as null or an empty object), the existing working hours remain unchanged. To disable working hours or clear the schedule, set workingHoursEnabled to false (and omit availableTimes or pass an empty list). + "availableTimes": [ # Working hours. Each availability period represents the user's working hours block during one day. + { + "dayOfWeek": "A String", # Day of the week. Required. Possible values are: + # - "monday" + # - "tuesday" + # - "wednesday" + # - "thursday" + # - "friday" + # - "saturday" + # - "sunday" + "periodEnd": 42, # Period end, in minutes from the start of the day, exclusive. Required. + "periodStart": 42, # Period start, in minutes from the start of the day, inclusive. Required. + }, + ], + "workingHoursEnabled": True or False, # Whether the working hours are enabled for this calendar. Cannot be set to true when availableTimes is empty. + }, } @@ -330,6 +398,23 @@

Method Details

"location": "A String", # Geographic location of the calendar as free-form text. Optional. "summary": "A String", # Title of the calendar. "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. + "workingHours": { # Represents the information about the user's working hours. Only available for primary calendars of Google Workspace users. To update the working hours, the entire working hours object must be passed. If not specified (or passed as null or an empty object), the existing working hours remain unchanged. To disable working hours or clear the schedule, set workingHoursEnabled to false (and omit availableTimes or pass an empty list). + "availableTimes": [ # Working hours. Each availability period represents the user's working hours block during one day. + { + "dayOfWeek": "A String", # Day of the week. Required. Possible values are: + # - "monday" + # - "tuesday" + # - "wednesday" + # - "thursday" + # - "friday" + # - "saturday" + # - "sunday" + "periodEnd": 42, # Period end, in minutes from the start of the day, exclusive. Required. + "periodStart": 42, # Period start, in minutes from the start of the day, inclusive. Required. + }, + ], + "workingHoursEnabled": True or False, # Whether the working hours are enabled for this calendar. Cannot be set to true when availableTimes is empty. + }, } @@ -387,6 +472,23 @@

Method Details

"location": "A String", # Geographic location of the calendar as free-form text. Optional. "summary": "A String", # Title of the calendar. "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. + "workingHours": { # Represents the information about the user's working hours. Only available for primary calendars of Google Workspace users. To update the working hours, the entire working hours object must be passed. If not specified (or passed as null or an empty object), the existing working hours remain unchanged. To disable working hours or clear the schedule, set workingHoursEnabled to false (and omit availableTimes or pass an empty list). + "availableTimes": [ # Working hours. Each availability period represents the user's working hours block during one day. + { + "dayOfWeek": "A String", # Day of the week. Required. Possible values are: + # - "monday" + # - "tuesday" + # - "wednesday" + # - "thursday" + # - "friday" + # - "saturday" + # - "sunday" + "periodEnd": 42, # Period end, in minutes from the start of the day, exclusive. Required. + "periodStart": 42, # Period start, in minutes from the start of the day, inclusive. Required. + }, + ], + "workingHoursEnabled": True or False, # Whether the working hours are enabled for this calendar. Cannot be set to true when availableTimes is empty. + }, } @@ -425,6 +527,23 @@

Method Details

"location": "A String", # Geographic location of the calendar as free-form text. Optional. "summary": "A String", # Title of the calendar. "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. + "workingHours": { # Represents the information about the user's working hours. Only available for primary calendars of Google Workspace users. To update the working hours, the entire working hours object must be passed. If not specified (or passed as null or an empty object), the existing working hours remain unchanged. To disable working hours or clear the schedule, set workingHoursEnabled to false (and omit availableTimes or pass an empty list). + "availableTimes": [ # Working hours. Each availability period represents the user's working hours block during one day. + { + "dayOfWeek": "A String", # Day of the week. Required. Possible values are: + # - "monday" + # - "tuesday" + # - "wednesday" + # - "thursday" + # - "friday" + # - "saturday" + # - "sunday" + "periodEnd": 42, # Period end, in minutes from the start of the day, exclusive. Required. + "periodStart": 42, # Period start, in minutes from the start of the day, inclusive. Required. + }, + ], + "workingHoursEnabled": True or False, # Whether the working hours are enabled for this calendar. Cannot be set to true when availableTimes is empty. + }, } diff --git a/googleapiclient/discovery_cache/documents/calendar.v3.json b/googleapiclient/discovery_cache/documents/calendar.v3.json index e81e005421..6d465949c8 100644 --- a/googleapiclient/discovery_cache/documents/calendar.v3.json +++ b/googleapiclient/discovery_cache/documents/calendar.v3.json @@ -1978,7 +1978,7 @@ } } }, -"revision": "20260925", +"revision": "20261030", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { @@ -2117,6 +2117,39 @@ "timeZone": { "description": "The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. \"Europe/Zurich\".) Optional.", "type": "string" +}, +"workingHours": { +"description": "Represents the information about the user's working hours. Only available for primary calendars of Google Workspace users. To update the working hours, the entire working hours object must be passed. If not specified (or passed as null or an empty object), the existing working hours remain unchanged. To disable working hours or clear the schedule, set workingHoursEnabled to false (and omit availableTimes or pass an empty list).", +"properties": { +"availableTimes": { +"description": "Working hours. Each availability period represents the user's working hours block during one day.", +"items": { +"properties": { +"dayOfWeek": { +"description": "Day of the week. Required. Possible values are: \n- \"monday\"\n- \"tuesday\"\n- \"wednesday\"\n- \"thursday\"\n- \"friday\"\n- \"saturday\"\n- \"sunday\"", +"type": "string" +}, +"periodEnd": { +"description": "Period end, in minutes from the start of the day, exclusive. Required.", +"format": "int32", +"type": "integer" +}, +"periodStart": { +"description": "Period start, in minutes from the start of the day, inclusive. Required.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"type": "array" +}, +"workingHoursEnabled": { +"description": "Whether the working hours are enabled for this calendar. Cannot be set to true when availableTimes is empty.", +"type": "boolean" +} +}, +"type": "object" } }, "type": "object" From 01d27e8e41f7fdc92496f02000d8fc3004283d91 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:24 +0000 Subject: [PATCH 13/57] fix(chat): update the api #### chat:v1 The following keys were changed: - resources.spaces.resources.messages.resources.reactions.methods.list.scopes (Total Keys: 1) --- docs/dyn/chat_v1.spaces.messages.html | 912 ++++++------- docs/dyn/chat_v1.spaces.spaceEvents.html | 1176 ++++++++--------- .../discovery_cache/documents/chat.v1.json | 26 +- 3 files changed, 1058 insertions(+), 1056 deletions(-) diff --git a/docs/dyn/chat_v1.spaces.messages.html b/docs/dyn/chat_v1.spaces.messages.html index d6cb562777..d9b9b3606c 100644 --- a/docs/dyn/chat_v1.spaces.messages.html +++ b/docs/dyn/chat_v1.spaces.messages.html @@ -139,7 +139,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -151,7 +151,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -176,7 +176,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -245,7 +245,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -293,7 +293,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -326,7 +326,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -391,7 +391,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -403,7 +403,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -416,7 +416,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -664,7 +664,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -682,7 +682,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -694,7 +694,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -707,7 +707,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -763,10 +763,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -782,7 +782,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -811,7 +811,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -1013,7 +1013,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1040,7 +1040,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -1109,7 +1109,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -1157,7 +1157,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1190,7 +1190,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1255,7 +1255,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1267,7 +1267,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1280,7 +1280,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1528,7 +1528,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -1546,7 +1546,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1558,7 +1558,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1571,7 +1571,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1627,10 +1627,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -1646,7 +1646,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -1675,7 +1675,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -2121,7 +2121,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -2190,7 +2190,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -2238,7 +2238,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2271,7 +2271,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2336,7 +2336,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2348,7 +2348,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2361,7 +2361,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2609,7 +2609,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -2627,7 +2627,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2639,7 +2639,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2652,7 +2652,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2708,10 +2708,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -2727,7 +2727,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -2756,7 +2756,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -3003,7 +3003,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -3274,7 +3274,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -3286,7 +3286,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3311,7 +3311,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -3380,7 +3380,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -3428,7 +3428,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3461,7 +3461,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3526,7 +3526,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3538,7 +3538,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3551,7 +3551,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3799,7 +3799,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -3817,7 +3817,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3829,7 +3829,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3842,7 +3842,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3898,10 +3898,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -3917,7 +3917,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -3946,7 +3946,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -4148,7 +4148,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4175,7 +4175,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -4244,7 +4244,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -4292,7 +4292,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4325,7 +4325,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4390,7 +4390,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4402,7 +4402,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4415,7 +4415,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4663,7 +4663,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -4681,7 +4681,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4693,7 +4693,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4706,7 +4706,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4762,10 +4762,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -4781,7 +4781,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -4810,7 +4810,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -5256,7 +5256,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -5325,7 +5325,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -5373,7 +5373,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5406,7 +5406,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5471,7 +5471,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5483,7 +5483,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5496,7 +5496,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5744,7 +5744,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -5762,7 +5762,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5774,7 +5774,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5787,7 +5787,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5843,10 +5843,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -5862,7 +5862,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -5891,7 +5891,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -6138,7 +6138,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -6427,7 +6427,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -6439,7 +6439,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6464,7 +6464,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -6533,7 +6533,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -6581,7 +6581,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6614,7 +6614,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6679,7 +6679,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6691,7 +6691,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6704,7 +6704,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6952,7 +6952,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -6970,7 +6970,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6982,7 +6982,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6995,7 +6995,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7051,10 +7051,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -7070,7 +7070,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -7099,7 +7099,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -7301,7 +7301,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7328,7 +7328,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -7397,7 +7397,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -7445,7 +7445,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7478,7 +7478,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7543,7 +7543,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7555,7 +7555,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7568,7 +7568,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7816,7 +7816,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -7834,7 +7834,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7846,7 +7846,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7859,7 +7859,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7915,10 +7915,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -7934,7 +7934,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -7963,7 +7963,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -8409,7 +8409,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -8478,7 +8478,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -8526,7 +8526,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8559,7 +8559,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8624,7 +8624,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8636,7 +8636,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8649,7 +8649,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8897,7 +8897,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -8915,7 +8915,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8927,7 +8927,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8940,7 +8940,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8996,10 +8996,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -9015,7 +9015,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -9044,7 +9044,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -9291,7 +9291,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -9568,7 +9568,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -9580,7 +9580,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9605,7 +9605,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -9674,7 +9674,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -9722,7 +9722,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9755,7 +9755,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9820,7 +9820,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9832,7 +9832,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9845,7 +9845,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10093,7 +10093,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -10111,7 +10111,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10123,7 +10123,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10136,7 +10136,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10192,10 +10192,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -10211,7 +10211,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -10240,7 +10240,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -10442,7 +10442,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10469,7 +10469,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -10538,7 +10538,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -10586,7 +10586,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10619,7 +10619,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10684,7 +10684,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10696,7 +10696,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10709,7 +10709,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10957,7 +10957,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -10975,7 +10975,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10987,7 +10987,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11000,7 +11000,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11056,10 +11056,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -11075,7 +11075,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -11104,7 +11104,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -11550,7 +11550,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -11619,7 +11619,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -11667,7 +11667,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11700,7 +11700,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11765,7 +11765,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11777,7 +11777,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11790,7 +11790,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12038,7 +12038,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -12056,7 +12056,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12068,7 +12068,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12081,7 +12081,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12137,10 +12137,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -12156,7 +12156,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -12185,7 +12185,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -12432,7 +12432,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -12709,7 +12709,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -12721,7 +12721,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12746,7 +12746,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -12815,7 +12815,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -12863,7 +12863,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12896,7 +12896,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12961,7 +12961,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12973,7 +12973,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12986,7 +12986,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13234,7 +13234,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -13252,7 +13252,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13264,7 +13264,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13277,7 +13277,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13333,10 +13333,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -13352,7 +13352,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -13381,7 +13381,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -13583,7 +13583,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13610,7 +13610,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -13679,7 +13679,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -13727,7 +13727,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13760,7 +13760,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13825,7 +13825,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13837,7 +13837,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13850,7 +13850,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14098,7 +14098,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -14116,7 +14116,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14128,7 +14128,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14141,7 +14141,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14197,10 +14197,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -14216,7 +14216,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -14245,7 +14245,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -14691,7 +14691,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -14760,7 +14760,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -14808,7 +14808,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14841,7 +14841,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14906,7 +14906,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14918,7 +14918,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14931,7 +14931,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15179,7 +15179,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -15197,7 +15197,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15209,7 +15209,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15222,7 +15222,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15278,10 +15278,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -15297,7 +15297,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -15326,7 +15326,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -15573,7 +15573,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -15833,7 +15833,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -15845,7 +15845,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15870,7 +15870,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -15939,7 +15939,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -15987,7 +15987,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16020,7 +16020,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16085,7 +16085,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16097,7 +16097,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16110,7 +16110,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16358,7 +16358,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -16376,7 +16376,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16388,7 +16388,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16401,7 +16401,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16457,10 +16457,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -16476,7 +16476,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -16505,7 +16505,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -16707,7 +16707,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16734,7 +16734,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -16803,7 +16803,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -16851,7 +16851,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16884,7 +16884,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16949,7 +16949,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16961,7 +16961,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16974,7 +16974,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17222,7 +17222,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -17240,7 +17240,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17252,7 +17252,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17265,7 +17265,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17321,10 +17321,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -17340,7 +17340,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -17369,7 +17369,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -17815,7 +17815,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -17884,7 +17884,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -17932,7 +17932,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17965,7 +17965,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18030,7 +18030,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18042,7 +18042,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18055,7 +18055,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18303,7 +18303,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -18321,7 +18321,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18333,7 +18333,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18346,7 +18346,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18402,10 +18402,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -18421,7 +18421,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -18450,7 +18450,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -18697,7 +18697,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -18954,7 +18954,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) to be included in the message. These cards will replace the existing cards of the message. If empty, the original cards included in the message will be cleared. { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -19023,7 +19023,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -19071,7 +19071,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19104,7 +19104,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19169,7 +19169,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19181,7 +19181,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19194,7 +19194,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19442,7 +19442,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -19460,7 +19460,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19472,7 +19472,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19485,7 +19485,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19541,10 +19541,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -19560,7 +19560,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -19589,7 +19589,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -19823,7 +19823,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -19835,7 +19835,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19860,7 +19860,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -19929,7 +19929,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -19977,7 +19977,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20010,7 +20010,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20075,7 +20075,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20087,7 +20087,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20100,7 +20100,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20348,7 +20348,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -20366,7 +20366,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20378,7 +20378,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20391,7 +20391,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20447,10 +20447,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -20466,7 +20466,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -20495,7 +20495,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -20697,7 +20697,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20724,7 +20724,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -20793,7 +20793,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -20841,7 +20841,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20874,7 +20874,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20939,7 +20939,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20951,7 +20951,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20964,7 +20964,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21212,7 +21212,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -21230,7 +21230,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21242,7 +21242,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21255,7 +21255,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21311,10 +21311,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -21330,7 +21330,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -21359,7 +21359,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -21805,7 +21805,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -21874,7 +21874,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -21922,7 +21922,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21955,7 +21955,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22020,7 +22020,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22032,7 +22032,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22045,7 +22045,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22293,7 +22293,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -22311,7 +22311,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22323,7 +22323,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22336,7 +22336,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22392,10 +22392,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -22411,7 +22411,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -22440,7 +22440,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -22687,7 +22687,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -22966,7 +22966,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -22978,7 +22978,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23003,7 +23003,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -23072,7 +23072,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -23120,7 +23120,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23153,7 +23153,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23218,7 +23218,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23230,7 +23230,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23243,7 +23243,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23491,7 +23491,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -23509,7 +23509,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23521,7 +23521,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23534,7 +23534,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23590,10 +23590,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -23609,7 +23609,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -23638,7 +23638,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -23840,7 +23840,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23867,7 +23867,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -23936,7 +23936,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -23984,7 +23984,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24017,7 +24017,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24082,7 +24082,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24094,7 +24094,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24107,7 +24107,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24355,7 +24355,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -24373,7 +24373,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24385,7 +24385,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24398,7 +24398,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24454,10 +24454,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -24473,7 +24473,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -24502,7 +24502,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -24948,7 +24948,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -25017,7 +25017,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -25065,7 +25065,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25098,7 +25098,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25163,7 +25163,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25175,7 +25175,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25188,7 +25188,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25436,7 +25436,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -25454,7 +25454,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25466,7 +25466,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25479,7 +25479,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25535,10 +25535,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -25554,7 +25554,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -25583,7 +25583,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -25830,7 +25830,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -26090,7 +26090,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -26102,7 +26102,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26127,7 +26127,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -26196,7 +26196,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -26244,7 +26244,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26277,7 +26277,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26342,7 +26342,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26354,7 +26354,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26367,7 +26367,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26615,7 +26615,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -26633,7 +26633,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26645,7 +26645,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26658,7 +26658,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26714,10 +26714,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -26733,7 +26733,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -26762,7 +26762,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -26964,7 +26964,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26991,7 +26991,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -27060,7 +27060,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -27108,7 +27108,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27141,7 +27141,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27206,7 +27206,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27218,7 +27218,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27231,7 +27231,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27479,7 +27479,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -27497,7 +27497,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27509,7 +27509,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27522,7 +27522,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27578,10 +27578,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -27597,7 +27597,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -27626,7 +27626,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -28072,7 +28072,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -28141,7 +28141,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -28189,7 +28189,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28222,7 +28222,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28287,7 +28287,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28299,7 +28299,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28312,7 +28312,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28560,7 +28560,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -28578,7 +28578,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28590,7 +28590,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28603,7 +28603,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28659,10 +28659,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -28678,7 +28678,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -28707,7 +28707,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -28954,7 +28954,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, diff --git a/docs/dyn/chat_v1.spaces.spaceEvents.html b/docs/dyn/chat_v1.spaces.spaceEvents.html index 2dfc6dfa04..fd304e6690 100644 --- a/docs/dyn/chat_v1.spaces.spaceEvents.html +++ b/docs/dyn/chat_v1.spaces.spaceEvents.html @@ -263,7 +263,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -275,7 +275,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -300,7 +300,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -369,7 +369,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -417,7 +417,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -450,7 +450,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -515,7 +515,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -527,7 +527,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -540,7 +540,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -788,7 +788,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -806,7 +806,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -818,7 +818,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -831,7 +831,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -887,10 +887,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -906,7 +906,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -935,7 +935,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -1137,7 +1137,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1164,7 +1164,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -1233,7 +1233,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -1281,7 +1281,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1314,7 +1314,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1379,7 +1379,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1391,7 +1391,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1404,7 +1404,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1652,7 +1652,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -1670,7 +1670,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1682,7 +1682,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1695,7 +1695,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -1751,10 +1751,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -1770,7 +1770,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -1799,7 +1799,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -2245,7 +2245,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -2314,7 +2314,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -2362,7 +2362,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2395,7 +2395,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2460,7 +2460,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2472,7 +2472,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2485,7 +2485,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2733,7 +2733,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -2751,7 +2751,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2763,7 +2763,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2776,7 +2776,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -2832,10 +2832,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -2851,7 +2851,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -2880,7 +2880,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -3127,7 +3127,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -3382,7 +3382,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -3394,7 +3394,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3419,7 +3419,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -3488,7 +3488,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -3536,7 +3536,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3569,7 +3569,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3634,7 +3634,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3646,7 +3646,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3659,7 +3659,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3907,7 +3907,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -3925,7 +3925,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3937,7 +3937,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -3950,7 +3950,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4006,10 +4006,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -4025,7 +4025,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -4054,7 +4054,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -4256,7 +4256,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4283,7 +4283,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -4352,7 +4352,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -4400,7 +4400,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4433,7 +4433,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4498,7 +4498,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4510,7 +4510,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4523,7 +4523,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4771,7 +4771,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -4789,7 +4789,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4801,7 +4801,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4814,7 +4814,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -4870,10 +4870,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -4889,7 +4889,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -4918,7 +4918,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -5364,7 +5364,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -5433,7 +5433,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -5481,7 +5481,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5514,7 +5514,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5579,7 +5579,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5591,7 +5591,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5604,7 +5604,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5852,7 +5852,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -5870,7 +5870,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5882,7 +5882,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5895,7 +5895,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -5951,10 +5951,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -5970,7 +5970,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -5999,7 +5999,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -6246,7 +6246,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -6501,7 +6501,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -6513,7 +6513,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6538,7 +6538,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -6607,7 +6607,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -6655,7 +6655,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6688,7 +6688,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6753,7 +6753,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6765,7 +6765,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -6778,7 +6778,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7026,7 +7026,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -7044,7 +7044,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7056,7 +7056,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7069,7 +7069,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7125,10 +7125,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -7144,7 +7144,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -7173,7 +7173,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -7375,7 +7375,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7402,7 +7402,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -7471,7 +7471,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -7519,7 +7519,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7552,7 +7552,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7617,7 +7617,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7629,7 +7629,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7642,7 +7642,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7890,7 +7890,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -7908,7 +7908,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7920,7 +7920,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7933,7 +7933,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -7989,10 +7989,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -8008,7 +8008,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -8037,7 +8037,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -8483,7 +8483,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -8552,7 +8552,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -8600,7 +8600,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8633,7 +8633,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8698,7 +8698,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8710,7 +8710,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8723,7 +8723,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -8971,7 +8971,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -8989,7 +8989,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9001,7 +9001,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9014,7 +9014,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9070,10 +9070,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -9089,7 +9089,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -9118,7 +9118,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -9365,7 +9365,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -9618,7 +9618,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -9630,7 +9630,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9655,7 +9655,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -9724,7 +9724,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -9772,7 +9772,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9805,7 +9805,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9870,7 +9870,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9882,7 +9882,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -9895,7 +9895,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10143,7 +10143,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -10161,7 +10161,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10173,7 +10173,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10186,7 +10186,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10242,10 +10242,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -10261,7 +10261,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -10290,7 +10290,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -10492,7 +10492,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10519,7 +10519,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -10588,7 +10588,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -10636,7 +10636,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10669,7 +10669,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10734,7 +10734,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10746,7 +10746,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -10759,7 +10759,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11007,7 +11007,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -11025,7 +11025,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11037,7 +11037,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11050,7 +11050,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11106,10 +11106,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -11125,7 +11125,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -11154,7 +11154,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -11600,7 +11600,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -11669,7 +11669,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -11717,7 +11717,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11750,7 +11750,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11815,7 +11815,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11827,7 +11827,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -11840,7 +11840,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12088,7 +12088,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -12106,7 +12106,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12118,7 +12118,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12131,7 +12131,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12187,10 +12187,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -12206,7 +12206,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -12235,7 +12235,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -12482,7 +12482,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -12733,7 +12733,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -12745,7 +12745,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12770,7 +12770,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -12839,7 +12839,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -12887,7 +12887,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12920,7 +12920,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12985,7 +12985,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -12997,7 +12997,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13010,7 +13010,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13258,7 +13258,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -13276,7 +13276,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13288,7 +13288,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13301,7 +13301,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13357,10 +13357,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -13376,7 +13376,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -13405,7 +13405,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -13607,7 +13607,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13634,7 +13634,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -13703,7 +13703,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -13751,7 +13751,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13784,7 +13784,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13849,7 +13849,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13861,7 +13861,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -13874,7 +13874,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14122,7 +14122,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -14140,7 +14140,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14152,7 +14152,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14165,7 +14165,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14221,10 +14221,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -14240,7 +14240,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -14269,7 +14269,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -14715,7 +14715,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -14784,7 +14784,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -14832,7 +14832,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14865,7 +14865,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14930,7 +14930,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14942,7 +14942,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -14955,7 +14955,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15203,7 +15203,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -15221,7 +15221,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15233,7 +15233,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15246,7 +15246,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15302,10 +15302,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -15321,7 +15321,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -15350,7 +15350,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -15597,7 +15597,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -15848,7 +15848,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -15860,7 +15860,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -15885,7 +15885,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -15954,7 +15954,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -16002,7 +16002,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16035,7 +16035,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16100,7 +16100,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16112,7 +16112,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16125,7 +16125,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16373,7 +16373,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -16391,7 +16391,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16403,7 +16403,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16416,7 +16416,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16472,10 +16472,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -16491,7 +16491,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -16520,7 +16520,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -16722,7 +16722,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16749,7 +16749,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -16818,7 +16818,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -16866,7 +16866,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16899,7 +16899,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16964,7 +16964,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16976,7 +16976,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -16989,7 +16989,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17237,7 +17237,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -17255,7 +17255,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17267,7 +17267,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17280,7 +17280,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17336,10 +17336,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -17355,7 +17355,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -17384,7 +17384,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -17830,7 +17830,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -17899,7 +17899,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -17947,7 +17947,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -17980,7 +17980,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18045,7 +18045,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18057,7 +18057,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18070,7 +18070,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18318,7 +18318,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -18336,7 +18336,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18348,7 +18348,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18361,7 +18361,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -18417,10 +18417,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -18436,7 +18436,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -18465,7 +18465,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -18712,7 +18712,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -19474,7 +19474,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -19486,7 +19486,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19511,7 +19511,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -19580,7 +19580,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -19628,7 +19628,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19661,7 +19661,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19726,7 +19726,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19738,7 +19738,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19751,7 +19751,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -19999,7 +19999,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -20017,7 +20017,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20029,7 +20029,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20042,7 +20042,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20098,10 +20098,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -20117,7 +20117,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -20146,7 +20146,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -20348,7 +20348,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20375,7 +20375,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -20444,7 +20444,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -20492,7 +20492,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20525,7 +20525,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20590,7 +20590,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20602,7 +20602,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20615,7 +20615,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20863,7 +20863,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -20881,7 +20881,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20893,7 +20893,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20906,7 +20906,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -20962,10 +20962,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -20981,7 +20981,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -21010,7 +21010,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -21456,7 +21456,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -21525,7 +21525,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -21573,7 +21573,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21606,7 +21606,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21671,7 +21671,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21683,7 +21683,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21696,7 +21696,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21944,7 +21944,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -21962,7 +21962,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21974,7 +21974,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -21987,7 +21987,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22043,10 +22043,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -22062,7 +22062,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -22091,7 +22091,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -22338,7 +22338,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -22593,7 +22593,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -22605,7 +22605,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22630,7 +22630,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -22699,7 +22699,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -22747,7 +22747,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22780,7 +22780,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22845,7 +22845,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22857,7 +22857,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -22870,7 +22870,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23118,7 +23118,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -23136,7 +23136,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23148,7 +23148,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23161,7 +23161,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23217,10 +23217,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -23236,7 +23236,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -23265,7 +23265,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -23467,7 +23467,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23494,7 +23494,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -23563,7 +23563,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -23611,7 +23611,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23644,7 +23644,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23709,7 +23709,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23721,7 +23721,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23734,7 +23734,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -23982,7 +23982,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -24000,7 +24000,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24012,7 +24012,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24025,7 +24025,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24081,10 +24081,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -24100,7 +24100,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -24129,7 +24129,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -24575,7 +24575,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -24644,7 +24644,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -24692,7 +24692,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24725,7 +24725,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24790,7 +24790,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24802,7 +24802,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -24815,7 +24815,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25063,7 +25063,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -25081,7 +25081,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25093,7 +25093,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25106,7 +25106,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25162,10 +25162,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -25181,7 +25181,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -25210,7 +25210,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -25457,7 +25457,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -25712,7 +25712,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -25724,7 +25724,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25749,7 +25749,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -25818,7 +25818,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -25866,7 +25866,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25899,7 +25899,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25964,7 +25964,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25976,7 +25976,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -25989,7 +25989,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26237,7 +26237,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -26255,7 +26255,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26267,7 +26267,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26280,7 +26280,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26336,10 +26336,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -26355,7 +26355,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -26384,7 +26384,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -26586,7 +26586,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26613,7 +26613,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -26682,7 +26682,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -26730,7 +26730,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26763,7 +26763,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26828,7 +26828,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26840,7 +26840,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -26853,7 +26853,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27101,7 +27101,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -27119,7 +27119,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27131,7 +27131,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27144,7 +27144,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27200,10 +27200,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -27219,7 +27219,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -27248,7 +27248,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -27694,7 +27694,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -27763,7 +27763,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -27811,7 +27811,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27844,7 +27844,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27909,7 +27909,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27921,7 +27921,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -27934,7 +27934,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28182,7 +28182,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -28200,7 +28200,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28212,7 +28212,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28225,7 +28225,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28281,10 +28281,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -28300,7 +28300,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -28329,7 +28329,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -28576,7 +28576,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -28829,7 +28829,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -28841,7 +28841,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -28866,7 +28866,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -28935,7 +28935,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -28983,7 +28983,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29016,7 +29016,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29081,7 +29081,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29093,7 +29093,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29106,7 +29106,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29354,7 +29354,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -29372,7 +29372,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29384,7 +29384,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29397,7 +29397,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29453,10 +29453,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -29472,7 +29472,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -29501,7 +29501,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -29703,7 +29703,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29730,7 +29730,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -29799,7 +29799,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -29847,7 +29847,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29880,7 +29880,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29945,7 +29945,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29957,7 +29957,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -29970,7 +29970,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -30218,7 +30218,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -30236,7 +30236,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -30248,7 +30248,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -30261,7 +30261,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -30317,10 +30317,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -30336,7 +30336,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -30365,7 +30365,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -30811,7 +30811,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -30880,7 +30880,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -30928,7 +30928,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -30961,7 +30961,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -31026,7 +31026,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -31038,7 +31038,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -31051,7 +31051,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -31299,7 +31299,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -31317,7 +31317,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -31329,7 +31329,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -31342,7 +31342,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -31398,10 +31398,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -31417,7 +31417,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -31446,7 +31446,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -31693,7 +31693,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -31944,7 +31944,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -31956,7 +31956,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -31981,7 +31981,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -32050,7 +32050,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -32098,7 +32098,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32131,7 +32131,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32196,7 +32196,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32208,7 +32208,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32221,7 +32221,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32469,7 +32469,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -32487,7 +32487,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32499,7 +32499,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32512,7 +32512,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32568,10 +32568,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -32587,7 +32587,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -32616,7 +32616,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -32818,7 +32818,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32845,7 +32845,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -32914,7 +32914,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -32962,7 +32962,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -32995,7 +32995,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -33060,7 +33060,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -33072,7 +33072,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -33085,7 +33085,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -33333,7 +33333,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -33351,7 +33351,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -33363,7 +33363,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -33376,7 +33376,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -33432,10 +33432,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -33451,7 +33451,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -33480,7 +33480,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -33926,7 +33926,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -33995,7 +33995,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -34043,7 +34043,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -34076,7 +34076,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -34141,7 +34141,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -34153,7 +34153,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -34166,7 +34166,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -34414,7 +34414,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -34432,7 +34432,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -34444,7 +34444,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -34457,7 +34457,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -34513,10 +34513,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -34532,7 +34532,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -34561,7 +34561,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -34808,7 +34808,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, @@ -35059,7 +35059,7 @@

Method Details

"buttons": [ # An array of buttons. { # A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): "altText": "A String", # The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -35071,7 +35071,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35096,7 +35096,7 @@

Method Details

], }, "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -35165,7 +35165,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -35213,7 +35213,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35246,7 +35246,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35311,7 +35311,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35323,7 +35323,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35336,7 +35336,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35584,7 +35584,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -35602,7 +35602,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35614,7 +35614,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35627,7 +35627,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35683,10 +35683,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -35702,7 +35702,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -35731,7 +35731,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -35933,7 +35933,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -35960,7 +35960,7 @@

Method Details

}, "dialog": { # Wrapper around the card body of the dialog. # Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. "body": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # Input only. Body of the dialog, which is rendered in a modal. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -36029,7 +36029,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -36077,7 +36077,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -36110,7 +36110,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -36175,7 +36175,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -36187,7 +36187,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -36200,7 +36200,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -36448,7 +36448,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -36466,7 +36466,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -36478,7 +36478,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -36491,7 +36491,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -36547,10 +36547,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -36566,7 +36566,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -36595,7 +36595,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -37041,7 +37041,7 @@

Method Details

"cardsV2": [ # Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) { # A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) "card": { # A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` # A card. Maximum size is 32 KB. - "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + "cardActions": [ # The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "cardActions": [ { "actionLabel": "Settings", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): "actionLabel": "A String", # The label that displays as the action menu item. "onClick": # Object with schema name: GoogleAppsCardV1OnClick # The `onClick` action for this action item. @@ -37110,7 +37110,7 @@

Method Details

"uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. "widgets": [ # All the widgets in the section. Must contain at least one widget. A card supports up to 100 widgets across all sections. { # Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. - "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` + "buttonList": # Object with schema name: GoogleAppsCardV1ButtonList # A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1 }, "disabled": true }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` "carousel": { # Rotates and displays a list of carousel cards in a slideshow format, with buttons navigating to the previous or next card. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel" } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel" } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Contains a collection of `CarouselCard` items, each of which contains nested widgets. For example, this is a JSON representation of a carousel that contains two carousel cards, each with a text paragraph: ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ] } ``` "carouselCards": [ # A list of cards included in the carousel. { # A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): @@ -37158,7 +37158,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -37191,7 +37191,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -37256,7 +37256,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -37268,7 +37268,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -37281,7 +37281,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -37529,7 +37529,7 @@

Method Details

"type": "A String", # Whether the widget supports inputting a date, a time, or the date and time. "valueMsEpoch": "A String", # The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). }, - "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECK_BOX" } } ``` "bottomLabel": "A String", # The text that appears below `text`. Always wraps. "bottomLabelText": { # A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): "maxLines": 42, # The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. @@ -37547,7 +37547,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -37559,7 +37559,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -37572,7 +37572,7 @@

Method Details

"iconUrl": "A String", # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. "knownIcon": "A String", # Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). - "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): + "materialIcon": { # A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): # Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "materialIcon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): "fill": True or False, # Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "grade": 42, # Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. "name": "A String", # The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. @@ -37628,10 +37628,10 @@

Method Details

], }, ], - "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` + "grid": { # Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` # Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to each grid item. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -37647,7 +37647,7 @@

Method Details

"altText": "A String", # The accessibility label for the image. "borderStyle": { # The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # The border style to apply to the image. "cornerRadius": 42, # The corner radius for the border. - "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -37676,7 +37676,7 @@

Method Details

"imageUrl": "A String", # The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` "onClick": # Object with schema name: GoogleAppsCardV1OnClick # When a user clicks the image, the click triggers this action. }, - "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "selectionInput": { # A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): # Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size", "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` "dataSourceConfigs": [ # 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. { # 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. "minCharactersTrigger": 42, # The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). @@ -37923,7 +37923,7 @@

Method Details

"fallbackText": "A String", # Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. "formattedText": "A String", # Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. - "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content. + "markupSyntax": "A String", # Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`. "matchedUrl": { # A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). # Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). "url": "A String", # Output only. The URL that was matched. }, diff --git a/googleapiclient/discovery_cache/documents/chat.v1.json b/googleapiclient/discovery_cache/documents/chat.v1.json index 8a1799d144..852cfc0c36 100644 --- a/googleapiclient/discovery_cache/documents/chat.v1.json +++ b/googleapiclient/discovery_cache/documents/chat.v1.json @@ -1556,6 +1556,8 @@ "$ref": "ListReactionsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/chat.app.messages.readonly", +"https://www.googleapis.com/auth/chat.bot", "https://www.googleapis.com/auth/chat.messages", "https://www.googleapis.com/auth/chat.messages.reactions", "https://www.googleapis.com/auth/chat.messages.reactions.readonly", @@ -2212,7 +2214,7 @@ } } }, -"revision": "20261026", +"revision": "20261107", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessPermissionSetting": { @@ -3093,7 +3095,7 @@ "type": "object" }, "DeprecatedEvent": { -"description": " A Google Chat app interaction event that represents and contains data about a user's interaction with a Chat app. To configure your Chat app to receive interaction events, see [Receive and respond to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions). In addition to receiving events from user interactions, Chat apps can receive events about changes to spaces, such as when a new member is added to a space. To learn about space events, see [Work with events from Google Chat](https://developers.google.com/workspace/chat/events-overview). Note: This event is only used for [Chat interaction events](https://developers.google.com/workspace/chat/receive-respond-interactions). If your Chat app is built as a [Google Workspace add-on](https://developers.google.com/workspace/add-ons/chat/build), see [Chat event objects](https://developers.google.com/workspace/add-ons/concepts/event-objects#chat-event-object) in the add-ons documentation.", +"description": " A Google Chat app interaction event that represents and contains data about a user's interaction with a Chat app. To configure your Chat app to receive interaction events, see [Receive and respond to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions). In addition to receiving events from user interactions, Chat apps can receive events about changes to spaces, such as when a new member is added to a space. To learn about space events, see [Work with events from Google Chat](https://developers.google.com/workspace/chat/events-overview). Warning: This event object is only used for [Chat apps that aren't add-ons](https://developers.google.com/workspace/chat/receive-respond-interactions#not-add-on-interaction-events). If your Chat app is built as a [Google Workspace add-on](https://developers.google.com/workspace/add-ons/chat/build), instead see [Add-on event objects](https://developers.google.com/workspace/add-ons/concepts/event-objects#chat-event-object) in the add-ons documentation. To confirm which type of event your app receives, see [Determine your event type](https://developers.google.com/workspace/chat/receive-respond-interactions#determine-event-type).", "id": "DeprecatedEvent", "properties": { "action": { @@ -3469,7 +3471,7 @@ }, "strokeColor": { "$ref": "Color", -"description": "The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` \"color\": { \"red\": 1, \"green\": 0, \"blue\": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored." +"description": "The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` \"color\": { \"red\": 1, \"green\": 0, \"blue\": 0 } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored." }, "type": { "description": "The border type.", @@ -3498,7 +3500,7 @@ }, "color": { "$ref": "Color", -"description": "Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` \"color\": { \"red\": 1, \"green\": 0, \"blue\": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored." +"description": "Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` \"color\": { \"red\": 1, \"green\": 0, \"blue\": 0 } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored." }, "disabled": { "description": "If `true`, the button is displayed in an inactive state and doesn't respond to user actions.", @@ -3556,7 +3558,7 @@ "id": "GoogleAppsCardV1Card", "properties": { "cardActions": { -"description": "The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` \"card_actions\": [ { \"actionLabel\": \"Settings\", \"onClick\": { \"action\": { \"functionName\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"SETTING\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } }, { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ] ```", +"description": "The card's actions. Actions are added to the card's toolbar menu. Supports up to 10 `CardAction` items. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` \"cardActions\": [ { \"actionLabel\": \"Settings\", \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"SETTING\" } ], \"loadIndicator\": \"SPINNER\" } } }, { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ] ```", "items": { "$ref": "GoogleAppsCardV1CardAction" }, @@ -4136,7 +4138,7 @@ "type": "object" }, "GoogleAppsCardV1Grid": { -"description": "Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```", +"description": "Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```", "id": "GoogleAppsCardV1Grid", "properties": { "borderStyle": { @@ -4233,7 +4235,7 @@ }, "materialIcon": { "$ref": "GoogleAppsCardV1MaterialIcon", -"description": "Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` \"material_icon\": { \"name\": \"check_box\" } ``` [Google Chat apps](https://developers.google.com/workspace/chat):" +"description": "Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` \"materialIcon\": { \"name\": \"check_box\" } ``` [Google Chat apps](https://developers.google.com/workspace/chat):" } }, "type": "object" @@ -4831,7 +4833,7 @@ "properties": { "buttonList": { "$ref": "GoogleAppsCardV1ButtonList", -"description": "A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` \"buttonList\": { \"buttons\": [ { \"text\": \"Edit\", \"color\": { \"red\": 0, \"green\": 0, \"blue\": 1, }, \"disabled\": true, }, { \"icon\": { \"knownIcon\": \"INVITE\", \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } } ] } ```" +"description": "A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` \"buttonList\": { \"buttons\": [ { \"text\": \"Edit\", \"color\": { \"red\": 0, \"green\": 0, \"blue\": 1 }, \"disabled\": true }, { \"icon\": { \"knownIcon\": \"INVITE\", \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } } ] } ```" }, "carousel": { "$ref": "GoogleAppsCardV1Carousel", @@ -4851,7 +4853,7 @@ }, "decoratedText": { "$ref": "GoogleAppsCardV1DecoratedText", -"description": "Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` \"decoratedText\": { \"icon\": { \"knownIcon\": \"EMAIL\" }, \"topLabel\": \"Email Address\", \"text\": \"sasha@example.com\", \"bottomLabel\": \"This is a new Email address!\", \"switchControl\": { \"name\": \"has_send_welcome_email_to_sasha\", \"selected\": false, \"controlType\": \"CHECKBOX\" } } ```" +"description": "Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"EMAIL\" }, \"topLabel\": \"Email Address\", \"text\": \"sasha@example.com\", \"bottomLabel\": \"This is a new Email address!\", \"switchControl\": { \"name\": \"has_send_welcome_email_to_sasha\", \"selected\": false, \"controlType\": \"CHECK_BOX\" } } ```" }, "divider": { "$ref": "GoogleAppsCardV1Divider", @@ -4866,7 +4868,7 @@ }, "grid": { "$ref": "GoogleAppsCardV1Grid", -"description": "Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```" +"description": "Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```" }, "horizontalAlignment": { "description": "Specifies whether widgets align to the left, right, or center of a column.", @@ -4894,7 +4896,7 @@ }, "selectionInput": { "$ref": "GoogleAppsCardV1SelectionInput", -"description": "Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` \"selectionInput\": { \"name\": \"size\", \"label\": \"Size\" \"type\": \"DROPDOWN\", \"items\": [ { \"text\": \"S\", \"value\": \"small\", \"selected\": false }, { \"text\": \"M\", \"value\": \"medium\", \"selected\": true }, { \"text\": \"L\", \"value\": \"large\", \"selected\": false }, { \"text\": \"XL\", \"value\": \"extra_large\", \"selected\": false } ] } ```" +"description": "Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` \"selectionInput\": { \"name\": \"size\", \"label\": \"Size\", \"type\": \"DROPDOWN\", \"items\": [ { \"text\": \"S\", \"value\": \"small\", \"selected\": false }, { \"text\": \"M\", \"value\": \"medium\", \"selected\": true }, { \"text\": \"L\", \"value\": \"large\", \"selected\": false }, { \"text\": \"XL\", \"value\": \"extra_large\", \"selected\": false } ] } ```" }, "textInput": { "$ref": "GoogleAppsCardV1TextInput", @@ -5807,7 +5809,7 @@ "type": "string" }, "markupSyntax": { -"description": "Optional. Specifies how the server interprets the message `text` field content.", +"description": "Optional. Specifies how the server interprets the message `text` field content when creating a message or updating the `text` field of a message. When calling `UpdateMessage`, set `markup_syntax` and `text` on the `Message` resource and include `text` (not `markup_syntax`) in `update_mask`.", "enum": [ "MARKUP_SYNTAX_UNSPECIFIED", "MARKUP_SYNTAX_CHAT", From 7a507caea415cb8e74c5f075049e723ee0a58ea2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:24 +0000 Subject: [PATCH 14/57] feat(chromemanagement): update the api #### chromemanagement:v1 The following keys were added: - resources.customers.resources.chromeBrowsers.methods.delete.scopes (Total Keys: 1) - resources.customers.resources.chromeBrowsers.methods.get.scopes (Total Keys: 1) - resources.customers.resources.chromeBrowsers.methods.list.scopes (Total Keys: 1) - resources.customers.resources.chromeBrowsers.methods.move.scopes (Total Keys: 1) - resources.customers.resources.chromeBrowsers.methods.patch.scopes (Total Keys: 1) - resources.customers.resources.enrollmentTokens.methods.create.scopes (Total Keys: 1) - resources.customers.resources.enrollmentTokens.methods.get.scopes (Total Keys: 1) - resources.customers.resources.enrollmentTokens.methods.list.scopes (Total Keys: 1) - resources.customers.resources.enrollmentTokens.methods.revoke.scopes (Total Keys: 1) - schemas.GoogleChromeManagementV1ChromeAppInfo.properties.riskAssessment (Total Keys: 2) --- ...emanagement_v1.customers.apps.android.html | 14 ++++ ...memanagement_v1.customers.apps.chrome.html | 14 ++++ ...hromemanagement_v1.customers.apps.web.html | 14 ++++ ...anagement_v1.customers.chromeBrowsers.html | 4 +- .../documents/chromemanagement.v1.json | 72 +++++++++++++++---- 5 files changed, 104 insertions(+), 14 deletions(-) diff --git a/docs/dyn/chromemanagement_v1.customers.apps.android.html b/docs/dyn/chromemanagement_v1.customers.apps.android.html index 48e15343f7..ecc7c148dd 100644 --- a/docs/dyn/chromemanagement_v1.customers.apps.android.html +++ b/docs/dyn/chromemanagement_v1.customers.apps.android.html @@ -128,6 +128,20 @@

Method Details

"type": "A String", # Output only. The type of the permission. }, ], + "riskAssessment": { # Risk assessment data about an extension/app. # Output only. Contains risk assessment data for the Chrome extension. + "entries": [ # Individual risk assessments. + { # One risk assessment entry. + "provider": "A String", # Output only. The risk assessment provider from which this entry comes from. + "riskAssessment": { # Risk assessment for a Chrome extension. # Output only. The details of the provider's risk assessment. + "assessment": "A String", # Risk assessment for the extension. Currently, this is a numerical value, and its interpretation is specific to each risk assessment provider. + "detailsUrl": "A String", # A URL that a user can navigate to for more information about the risk assessment. + "version": "A String", # The version of the extension that this assessment applies to. + }, + "riskLevel": "A String", # Output only. The bucketed risk level for the risk assessment. + }, + ], + "overallRiskLevel": "A String", # Overall assessed risk level across all entries. This will be the highest risk level from all entries. + }, "siteAccess": [ # Output only. Every permission giving access to domains or broad host patterns. ( e.g. www.google.com). This includes the matches from content scripts as well as hosts in the permissions node of the manifest. Version-specific field that will only be set when the requested app version is found. { # Represent one host permission. "hostMatch": "A String", # Output only. This can contain very specific hosts, or patterns like "*.com" for instance. diff --git a/docs/dyn/chromemanagement_v1.customers.apps.chrome.html b/docs/dyn/chromemanagement_v1.customers.apps.chrome.html index 4641d1a56a..dfba2f3ec1 100644 --- a/docs/dyn/chromemanagement_v1.customers.apps.chrome.html +++ b/docs/dyn/chromemanagement_v1.customers.apps.chrome.html @@ -128,6 +128,20 @@

Method Details

"type": "A String", # Output only. The type of the permission. }, ], + "riskAssessment": { # Risk assessment data about an extension/app. # Output only. Contains risk assessment data for the Chrome extension. + "entries": [ # Individual risk assessments. + { # One risk assessment entry. + "provider": "A String", # Output only. The risk assessment provider from which this entry comes from. + "riskAssessment": { # Risk assessment for a Chrome extension. # Output only. The details of the provider's risk assessment. + "assessment": "A String", # Risk assessment for the extension. Currently, this is a numerical value, and its interpretation is specific to each risk assessment provider. + "detailsUrl": "A String", # A URL that a user can navigate to for more information about the risk assessment. + "version": "A String", # The version of the extension that this assessment applies to. + }, + "riskLevel": "A String", # Output only. The bucketed risk level for the risk assessment. + }, + ], + "overallRiskLevel": "A String", # Overall assessed risk level across all entries. This will be the highest risk level from all entries. + }, "siteAccess": [ # Output only. Every permission giving access to domains or broad host patterns. ( e.g. www.google.com). This includes the matches from content scripts as well as hosts in the permissions node of the manifest. Version-specific field that will only be set when the requested app version is found. { # Represent one host permission. "hostMatch": "A String", # Output only. This can contain very specific hosts, or patterns like "*.com" for instance. diff --git a/docs/dyn/chromemanagement_v1.customers.apps.web.html b/docs/dyn/chromemanagement_v1.customers.apps.web.html index cdb0be7f6b..842dd090c2 100644 --- a/docs/dyn/chromemanagement_v1.customers.apps.web.html +++ b/docs/dyn/chromemanagement_v1.customers.apps.web.html @@ -128,6 +128,20 @@

Method Details

"type": "A String", # Output only. The type of the permission. }, ], + "riskAssessment": { # Risk assessment data about an extension/app. # Output only. Contains risk assessment data for the Chrome extension. + "entries": [ # Individual risk assessments. + { # One risk assessment entry. + "provider": "A String", # Output only. The risk assessment provider from which this entry comes from. + "riskAssessment": { # Risk assessment for a Chrome extension. # Output only. The details of the provider's risk assessment. + "assessment": "A String", # Risk assessment for the extension. Currently, this is a numerical value, and its interpretation is specific to each risk assessment provider. + "detailsUrl": "A String", # A URL that a user can navigate to for more information about the risk assessment. + "version": "A String", # The version of the extension that this assessment applies to. + }, + "riskLevel": "A String", # Output only. The bucketed risk level for the risk assessment. + }, + ], + "overallRiskLevel": "A String", # Overall assessed risk level across all entries. This will be the highest risk level from all entries. + }, "siteAccess": [ # Output only. Every permission giving access to domains or broad host patterns. ( e.g. www.google.com). This includes the matches from content scripts as well as hosts in the permissions node of the manifest. Version-specific field that will only be set when the requested app version is found. { # Represent one host permission. "hostMatch": "A String", # Output only. This can contain very specific hosts, or patterns like "*.com" for instance. diff --git a/docs/dyn/chromemanagement_v1.customers.chromeBrowsers.html b/docs/dyn/chromemanagement_v1.customers.chromeBrowsers.html index 3b0fb058aa..777d632d94 100644 --- a/docs/dyn/chromemanagement_v1.customers.chromeBrowsers.html +++ b/docs/dyn/chromemanagement_v1.customers.chromeBrowsers.html @@ -291,8 +291,8 @@

Method Details

Args: parent: string, Required. Format: customers/{customer_id} (required) - filter: string, Optional. The filter used to filter browsers. The following fields can be used in the filter: * `browser_permanent_id` * `last_policy_fetch_time` * `os_platform` * `os_architecture` * `os_version` * `machine_name` * `annotated_location` * `annotated_user` * `annotated_asset_id` * `annotated_note` * `org_unit_path` * `org_unit_id` * `last_registration_time` * `os_platform_version` * `browser_version` * `last_status_report_time` * `extension_count` * `policy_count` * `last_device_user` * `last_activity_time` * `device_id_collision` The following functions can be used in the filter: * `in_group(string)`: Filters browsers that belong to the specified Cloud Identity group resource name (e.g. `in_group("groups/{group_id}")`). Any of the above fields or functions can be used to specify a filter, and filtering by multiple fields or functions is supported with AND operator. String type, Integer type fields and enum type fields support `=` and `:` operators. The timestamp type fields support `=`, `<=` and `>=` operators. Timestamps expect an RFC-3339 formatted string enclosed in double quotes (e.g., `"2012-04-21T11:30:00-04:00"`). Wildcard `*` is only supported for `machine_name`, `annotated_asset_id`, and `browser_version`. In addition, global string literal filtering without a field name is supported: a single term (e.g., `ABC`) matches if any indexed string field contains `ABC`, and multiple terms joined by `AND` or whitespace (e.g., `machine AND 73` or `machine 73`) match browsers where every term appears in at least one indexed string field (whereas a single quoted phrase like `"machine 73"` matches the contiguous phrase within a single field). - orderBy: string, Optional. The fields used to specify the ordering of the results. The supported fields are: * `browser_permanent_id` * `last_policy_fetch_time` * `annotated_user` * `annotated_location` * `annotated_asset_id` * `annotated_notes` * `org_unit_path` * `os_version` * `last_registration_time` * `extension_count` * `policy_count` * `last_device_user` * `machine_name` * `browser_version_channel` * `os_platform_version` * `last_activity_time` * `browser_version` By default, sorting is in ascending order, to specify descending order for a field, a suffix ` desc` should be added to the field name. The default ordering is the ascending order of `browser_permanent_id`. + filter: string, Optional. The filter used to filter browsers. The following fields can be used in the filter: * `browser_permanent_id` * `virtual_device_id` * `last_policy_fetch_time` * `os_platform` * `os_architecture` * `os_version` * `machine_name` * `annotated_location` * `annotated_user` * `annotated_asset_id` * `annotated_note` * `org_unit_path` * `org_unit_id` * `last_registration_time` * `os_platform_version` * `browser_version` * `last_status_report_time` * `extension_count` * `policy_count` * `last_device_user` * `last_activity_time` * `device_id_collision` The following functions can be used in the filter: * `in_group(string)`: Filters browsers that belong to the specified Cloud Identity group resource name (e.g. `in_group("groups/{group_id}")`). Any of the above fields or functions can be used to specify a filter, and filtering by multiple fields or functions is supported with AND operator. String type, Integer type fields and enum type fields support `=` and `:` operators. The timestamp type fields support `=`, `<=` and `>=` operators. Timestamps expect an RFC-3339 formatted string enclosed in double quotes (e.g., `"2012-04-21T11:30:00-04:00"`). Wildcard `*` is only supported for `machine_name`, `annotated_asset_id`, and `browser_version`. In addition, global string literal filtering without a field name is supported: a single term (e.g., `ABC`) matches if any indexed string field contains `ABC`, and multiple terms joined by `AND` or whitespace (e.g., `machine AND 73` or `machine 73`) match browsers where every term appears in at least one indexed string field (whereas a single quoted phrase like `"machine 73"` matches the contiguous phrase within a single field). + orderBy: string, Optional. The fields used to specify the ordering of the results. The supported fields are: * `browser_permanent_id` * `virtual_device_id` * `last_policy_fetch_time` * `annotated_user` * `annotated_location` * `annotated_asset_id` * `annotated_notes` * `org_unit_path` * `os_version` * `last_registration_time` * `extension_count` * `policy_count` * `last_device_user` * `machine_name` * `browser_version_channel` * `os_platform_version` * `last_activity_time` * `browser_version` By default, sorting is in ascending order, to specify descending order for a field, a suffix ` desc` should be added to the field name. The default ordering is the ascending order of `browser_permanent_id`. pageSize: integer, Optional. Maximum number of results to return. Maximum and default are 100. pageToken: string, Optional. Token to specify next page in the list. x__xgafv: string, V1 error format. diff --git a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json index f2b1a0caaa..9bfa751bac 100644 --- a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json @@ -5,6 +5,18 @@ "https://www.googleapis.com/auth/chrome.management.appdetails.readonly": { "description": "See detailed information about apps installed on Chrome browsers and devices managed by your organization" }, +"https://www.googleapis.com/auth/chrome.management.browsers": { +"description": "See, edit, delete, and take other necessary actions on Chrome browsers managed by your organization" +}, +"https://www.googleapis.com/auth/chrome.management.browsers.readonly": { +"description": "See Chrome browsers managed by your organization" +}, +"https://www.googleapis.com/auth/chrome.management.enrollmenttokens": { +"description": "See, edit, revoke, and take other necessary actions on Chrome enrollment tokens managed by your organization" +}, +"https://www.googleapis.com/auth/chrome.management.enrollmenttokens.readonly": { +"description": "See Chrome enrollment tokens managed by your organization" +}, "https://www.googleapis.com/auth/chrome.management.profiles": { "description": "See, edit, delete, and take other necessary actions on Chrome browser profiles managed by your organization" }, @@ -532,7 +544,10 @@ "path": "v1/{+name}", "response": { "$ref": "GoogleProtobufEmpty" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.browsers" +] }, "get": { "description": "Retrieves a single Chrome Browser identified by its customer ID and resource ID.", @@ -554,7 +569,11 @@ "path": "v1/{+name}", "response": { "$ref": "GoogleChromeManagementVersionsV1ChromeBrowser" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.browsers", +"https://www.googleapis.com/auth/chrome.management.browsers.readonly" +] }, "list": { "description": "Retrieves all Chrome Browsers of a customer (paginated).", @@ -566,12 +585,12 @@ ], "parameters": { "filter": { -"description": "Optional. The filter used to filter browsers. The following fields can be used in the filter: * `browser_permanent_id` * `last_policy_fetch_time` * `os_platform` * `os_architecture` * `os_version` * `machine_name` * `annotated_location` * `annotated_user` * `annotated_asset_id` * `annotated_note` * `org_unit_path` * `org_unit_id` * `last_registration_time` * `os_platform_version` * `browser_version` * `last_status_report_time` * `extension_count` * `policy_count` * `last_device_user` * `last_activity_time` * `device_id_collision` The following functions can be used in the filter: * `in_group(string)`: Filters browsers that belong to the specified Cloud Identity group resource name (e.g. `in_group(\"groups/{group_id}\")`). Any of the above fields or functions can be used to specify a filter, and filtering by multiple fields or functions is supported with AND operator. String type, Integer type fields and enum type fields support `=` and `:` operators. The timestamp type fields support `=`, `<=` and `>=` operators. Timestamps expect an RFC-3339 formatted string enclosed in double quotes (e.g., `\"2012-04-21T11:30:00-04:00\"`). Wildcard `*` is only supported for `machine_name`, `annotated_asset_id`, and `browser_version`. In addition, global string literal filtering without a field name is supported: a single term (e.g., `ABC`) matches if any indexed string field contains `ABC`, and multiple terms joined by `AND` or whitespace (e.g., `machine AND 73` or `machine 73`) match browsers where every term appears in at least one indexed string field (whereas a single quoted phrase like `\"machine 73\"` matches the contiguous phrase within a single field).", +"description": "Optional. The filter used to filter browsers. The following fields can be used in the filter: * `browser_permanent_id` * `virtual_device_id` * `last_policy_fetch_time` * `os_platform` * `os_architecture` * `os_version` * `machine_name` * `annotated_location` * `annotated_user` * `annotated_asset_id` * `annotated_note` * `org_unit_path` * `org_unit_id` * `last_registration_time` * `os_platform_version` * `browser_version` * `last_status_report_time` * `extension_count` * `policy_count` * `last_device_user` * `last_activity_time` * `device_id_collision` The following functions can be used in the filter: * `in_group(string)`: Filters browsers that belong to the specified Cloud Identity group resource name (e.g. `in_group(\"groups/{group_id}\")`). Any of the above fields or functions can be used to specify a filter, and filtering by multiple fields or functions is supported with AND operator. String type, Integer type fields and enum type fields support `=` and `:` operators. The timestamp type fields support `=`, `<=` and `>=` operators. Timestamps expect an RFC-3339 formatted string enclosed in double quotes (e.g., `\"2012-04-21T11:30:00-04:00\"`). Wildcard `*` is only supported for `machine_name`, `annotated_asset_id`, and `browser_version`. In addition, global string literal filtering without a field name is supported: a single term (e.g., `ABC`) matches if any indexed string field contains `ABC`, and multiple terms joined by `AND` or whitespace (e.g., `machine AND 73` or `machine 73`) match browsers where every term appears in at least one indexed string field (whereas a single quoted phrase like `\"machine 73\"` matches the contiguous phrase within a single field).", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. The fields used to specify the ordering of the results. The supported fields are: * `browser_permanent_id` * `last_policy_fetch_time` * `annotated_user` * `annotated_location` * `annotated_asset_id` * `annotated_notes` * `org_unit_path` * `os_version` * `last_registration_time` * `extension_count` * `policy_count` * `last_device_user` * `machine_name` * `browser_version_channel` * `os_platform_version` * `last_activity_time` * `browser_version` By default, sorting is in ascending order, to specify descending order for a field, a suffix ` desc` should be added to the field name. The default ordering is the ascending order of `browser_permanent_id`.", +"description": "Optional. The fields used to specify the ordering of the results. The supported fields are: * `browser_permanent_id` * `virtual_device_id` * `last_policy_fetch_time` * `annotated_user` * `annotated_location` * `annotated_asset_id` * `annotated_notes` * `org_unit_path` * `os_version` * `last_registration_time` * `extension_count` * `policy_count` * `last_device_user` * `machine_name` * `browser_version_channel` * `os_platform_version` * `last_activity_time` * `browser_version` By default, sorting is in ascending order, to specify descending order for a field, a suffix ` desc` should be added to the field name. The default ordering is the ascending order of `browser_permanent_id`.", "location": "query", "type": "string" }, @@ -597,7 +616,11 @@ "path": "v1/{+parent}/chromeBrowsers", "response": { "$ref": "GoogleChromeManagementVersionsV1ListChromeBrowsersResponse" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.browsers", +"https://www.googleapis.com/auth/chrome.management.browsers.readonly" +] }, "move": { "description": "Moves managed Chrome Browsers to a new Organizational Unit (OU). If there is an error while moving any of the browsers, none of the browsers will be moved.", @@ -622,7 +645,10 @@ }, "response": { "$ref": "GoogleChromeManagementVersionsV1MoveChromeBrowsersResponse" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.browsers" +] }, "patch": { "description": "Updates annotation information for a Chrome Browser.", @@ -653,7 +679,10 @@ }, "response": { "$ref": "GoogleChromeManagementVersionsV1ChromeBrowser" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.browsers" +] } } }, @@ -829,7 +858,10 @@ }, "response": { "$ref": "GoogleChromeManagementVersionsV1EnrollmentToken" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.enrollmenttokens" +] }, "get": { "description": "Gets a browser device enrollment token.", @@ -851,7 +883,11 @@ "path": "v1/{+name}", "response": { "$ref": "GoogleChromeManagementVersionsV1EnrollmentToken" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.enrollmenttokens", +"https://www.googleapis.com/auth/chrome.management.enrollmenttokens.readonly" +] }, "list": { "description": "Lists all browser device enrollment tokens.", @@ -889,7 +925,11 @@ "path": "v1/{+parent}/enrollmentTokens", "response": { "$ref": "GoogleChromeManagementVersionsV1ListEnrollmentTokensResponse" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.enrollmenttokens", +"https://www.googleapis.com/auth/chrome.management.enrollmenttokens.readonly" +] }, "revoke": { "description": "Revokes a browser device enrollment token.", @@ -914,7 +954,10 @@ }, "response": { "$ref": "GoogleChromeManagementVersionsV1EnrollmentToken" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.enrollmenttokens" +] } } }, @@ -2823,7 +2866,7 @@ } } }, -"revision": "20261020", +"revision": "20261104", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -3440,6 +3483,11 @@ false "readOnly": true, "type": "array" }, +"riskAssessment": { +"$ref": "GoogleChromeManagementV1RiskAssessmentData", +"description": "Output only. Contains risk assessment data for the Chrome extension.", +"readOnly": true +}, "siteAccess": { "description": "Output only. Every permission giving access to domains or broad host patterns. ( e.g. www.google.com). This includes the matches from content scripts as well as hosts in the permissions node of the manifest. Version-specific field that will only be set when the requested app version is found.", "items": { From 3483d5418e0099a0379a2dd48eb4aa0d7635d3c1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:24 +0000 Subject: [PATCH 15/57] feat(classroom): update the api #### classroom:v1 The following keys were added: - schemas.AddOnAttachment.properties.gradeSyncEnabled (Total Keys: 2) --- ...lassroom_v1.courses.announcements.addOnAttachments.html | 6 ++++++ .../classroom_v1.courses.courseWork.addOnAttachments.html | 6 ++++++ ...om_v1.courses.courseWorkMaterials.addOnAttachments.html | 6 ++++++ docs/dyn/classroom_v1.courses.posts.addOnAttachments.html | 6 ++++++ .../discovery_cache/documents/classroom.v1.json | 7 ++++++- 5 files changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/dyn/classroom_v1.courses.announcements.addOnAttachments.html b/docs/dyn/classroom_v1.courses.announcements.addOnAttachments.html index 1a1b715753..88cf0b0e7f 100644 --- a/docs/dyn/classroom_v1.courses.announcements.addOnAttachments.html +++ b/docs/dyn/classroom_v1.courses.announcements.addOnAttachments.html @@ -132,6 +132,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -179,6 +180,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -255,6 +257,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -313,6 +316,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -379,6 +383,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -426,6 +431,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. diff --git a/docs/dyn/classroom_v1.courses.courseWork.addOnAttachments.html b/docs/dyn/classroom_v1.courses.courseWork.addOnAttachments.html index 15c7759b4f..0e7476aff6 100644 --- a/docs/dyn/classroom_v1.courses.courseWork.addOnAttachments.html +++ b/docs/dyn/classroom_v1.courses.courseWork.addOnAttachments.html @@ -137,6 +137,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -184,6 +185,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -260,6 +262,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -318,6 +321,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -384,6 +388,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -431,6 +436,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. diff --git a/docs/dyn/classroom_v1.courses.courseWorkMaterials.addOnAttachments.html b/docs/dyn/classroom_v1.courses.courseWorkMaterials.addOnAttachments.html index 2e66239c6f..83656f972f 100644 --- a/docs/dyn/classroom_v1.courses.courseWorkMaterials.addOnAttachments.html +++ b/docs/dyn/classroom_v1.courses.courseWorkMaterials.addOnAttachments.html @@ -132,6 +132,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -179,6 +180,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -255,6 +257,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -313,6 +316,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -379,6 +383,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -426,6 +431,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. diff --git a/docs/dyn/classroom_v1.courses.posts.addOnAttachments.html b/docs/dyn/classroom_v1.courses.posts.addOnAttachments.html index e6bc393c57..9296bbeca8 100644 --- a/docs/dyn/classroom_v1.courses.posts.addOnAttachments.html +++ b/docs/dyn/classroom_v1.courses.posts.addOnAttachments.html @@ -137,6 +137,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -184,6 +185,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -260,6 +262,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -318,6 +321,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -384,6 +388,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. @@ -431,6 +436,7 @@

Method Details

"nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, + "gradeSyncEnabled": True or False, # Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item. "id": "A String", # Immutable. Classroom-assigned identifier for this attachment, unique per post. "itemId": "A String", # Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. "maxPoints": 3.14, # Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. diff --git a/googleapiclient/discovery_cache/documents/classroom.v1.json b/googleapiclient/discovery_cache/documents/classroom.v1.json index 20f838d28c..dcf816b5c4 100644 --- a/googleapiclient/discovery_cache/documents/classroom.v1.json +++ b/googleapiclient/discovery_cache/documents/classroom.v1.json @@ -4432,7 +4432,7 @@ } } }, -"revision": "20261014", +"revision": "20261028", "rootUrl": "https://classroom.googleapis.com/", "schemas": { "AddOnAttachment": { @@ -4459,6 +4459,11 @@ "$ref": "TimeOfDay", "description": "Time of day, in UTC, that work on this attachment is due. This must be specified if `due_date` is specified." }, +"gradeSyncEnabled": { +"description": "Output only. Whether changes to `pointsEarned` values on this attachment's student submissions will be copied to the `pointsEarned` field on the students' CourseWork submissions. This field can be `true` for at most one add-on attachment per stream item.", +"readOnly": true, +"type": "boolean" +}, "id": { "description": "Immutable. Classroom-assigned identifier for this attachment, unique per post.", "type": "string" From b5e4e528f208c6fbf59c003130a73ad8ccd24498 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:24 +0000 Subject: [PATCH 16/57] feat(cloudresourcemanager): update the api #### cloudresourcemanager:v1 The following keys were added: - schemas.Project.properties.managementType (Total Keys: 2) #### cloudresourcemanager:v1beta1 The following keys were added: - schemas.Project.properties.managementType (Total Keys: 2) #### cloudresourcemanager:v3 The following keys were added: - schemas.Project.properties.managementType (Total Keys: 2) --- docs/dyn/cloudresourcemanager_v1.liens.html | 16 ++++---- .../dyn/cloudresourcemanager_v1.projects.html | 5 +++ ...cloudresourcemanager_v1beta1.projects.html | 6 +++ docs/dyn/cloudresourcemanager_v3.folders.html | 4 +- docs/dyn/cloudresourcemanager_v3.liens.html | 16 ++++---- .../dyn/cloudresourcemanager_v3.projects.html | 29 ++++++++------ .../documents/cloudresourcemanager.v1.json | 25 +++++++++--- .../cloudresourcemanager.v1beta1.json | 17 +++++++- .../documents/cloudresourcemanager.v3.json | 39 +++++++++++++------ 9 files changed, 109 insertions(+), 48 deletions(-) diff --git a/docs/dyn/cloudresourcemanager_v1.liens.html b/docs/dyn/cloudresourcemanager_v1.liens.html index ca55fdf876..16ed8eda18 100644 --- a/docs/dyn/cloudresourcemanager_v1.liens.html +++ b/docs/dyn/cloudresourcemanager_v1.liens.html @@ -79,16 +79,16 @@

Instance Methods

Close httplib2 connections.

create(body=None, x__xgafv=None)

-

Create a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.

+

Creates a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.

delete(name, x__xgafv=None)

-

Delete a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.

+

Deletes a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.

get(name, x__xgafv=None)

-

Retrieve a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`

+

Retrieves a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`

list(pageSize=None, pageToken=None, parent=None, x__xgafv=None)

-

List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.

+

Lists all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.

list_next(previous_request, previous_response)

Retrieves the next page of results.

@@ -100,7 +100,7 @@

Method Details

create(body=None, x__xgafv=None) -
Create a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.
+  
Creates a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.
 
 Args:
   body: object, The request body.
@@ -139,7 +139,7 @@ 

Method Details

delete(name, x__xgafv=None) -
Delete a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.
+  
Deletes a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.
 
 Args:
   name: string, Required. The name/identifier of the Lien to delete. (required)
@@ -157,7 +157,7 @@ 

Method Details

get(name, x__xgafv=None) -
Retrieve a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`
+  
Retrieves a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`
 
 Args:
   name: string, Required. The name/identifier of the Lien. (required)
@@ -183,7 +183,7 @@ 

Method Details

list(pageSize=None, pageToken=None, parent=None, x__xgafv=None) -
List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.
+  
Lists all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.
 
 Args:
   pageSize: integer, The maximum number of items to return. This is a suggestion for the server. The server can return fewer liens than requested. If unspecified, server picks an appropriate default.
diff --git a/docs/dyn/cloudresourcemanager_v1.projects.html b/docs/dyn/cloudresourcemanager_v1.projects.html
index 8033eb6641..7a84cbf758 100644
--- a/docs/dyn/cloudresourcemanager_v1.projects.html
+++ b/docs/dyn/cloudresourcemanager_v1.projects.html
@@ -184,6 +184,7 @@ 

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. "id": "A String", # The type-specific id. This should correspond to the id used in the type-specific API's. @@ -267,6 +268,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. "id": "A String", # The type-specific id. This should correspond to the id used in the type-specific API's. @@ -487,6 +489,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. "id": "A String", # The type-specific id. This should correspond to the id used in the type-specific API's. @@ -861,6 +864,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. "id": "A String", # The type-specific id. This should correspond to the id used in the type-specific API's. @@ -891,6 +895,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. "id": "A String", # The type-specific id. This should correspond to the id used in the type-specific API's. diff --git a/docs/dyn/cloudresourcemanager_v1beta1.projects.html b/docs/dyn/cloudresourcemanager_v1beta1.projects.html index 25cd588cc5..5e2f55a7e7 100644 --- a/docs/dyn/cloudresourcemanager_v1beta1.projects.html +++ b/docs/dyn/cloudresourcemanager_v1beta1.projects.html @@ -134,6 +134,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. Read-write. "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's. @@ -162,6 +163,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. Read-write. "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's. @@ -214,6 +216,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. Read-write. "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's. @@ -341,6 +344,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. Read-write. "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's. @@ -525,6 +529,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. Read-write. "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's. @@ -552,6 +557,7 @@

Method Details

"a_key": "A String", }, "lifecycleState": "A String", # The Project lifecycle state. Read-only. + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write. "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. Supported parent types include "organization" and "folder". Once set, the parent cannot be cleared. The `parent` can be set on creation or using the `UpdateProject` method; the end user must have the `resourcemanager.projects.create` permission on the parent. Read-write. "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's. diff --git a/docs/dyn/cloudresourcemanager_v3.folders.html b/docs/dyn/cloudresourcemanager_v3.folders.html index f1bf2ba6c9..5e3e7668f2 100644 --- a/docs/dyn/cloudresourcemanager_v3.folders.html +++ b/docs/dyn/cloudresourcemanager_v3.folders.html @@ -121,7 +121,7 @@

Instance Methods

Updates a folder, changing its `display_name`. Changes to the folder `display_name` will be rejected if they violate either the `display_name` formatting rules or the naming constraints described in the CreateFolder documentation. The folder's `display_name` must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be between 3 and 30 characters. This is captured by the regular expression: `\p{L}\p{N}{1,28}[\p{L}\p{N}]`. The caller must have `resourcemanager.folders.update` permission on the identified folder. If the update fails due to the unique name constraint then a `PreconditionFailure` explaining this violation will be returned in the Status.details field.

search(pageSize=None, pageToken=None, query=None, x__xgafv=None)

-

Search for folders that match specific filter criteria. `search()` provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`.

+

Searches for folders that match specific filter criteria. `search()` provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`.

search_next(previous_request, previous_response)

Retrieves the next page of results.

@@ -500,7 +500,7 @@

Method Details

search(pageSize=None, pageToken=None, query=None, x__xgafv=None) -
Search for folders that match specific filter criteria. `search()` provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`.
+  
Searches for folders that match specific filter criteria. `search()` provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`.
 
 Args:
   pageSize: integer, Optional. The maximum number of folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.
diff --git a/docs/dyn/cloudresourcemanager_v3.liens.html b/docs/dyn/cloudresourcemanager_v3.liens.html
index ca3a489fd5..dc04567526 100644
--- a/docs/dyn/cloudresourcemanager_v3.liens.html
+++ b/docs/dyn/cloudresourcemanager_v3.liens.html
@@ -79,16 +79,16 @@ 

Instance Methods

Close httplib2 connections.

create(body=None, x__xgafv=None)

-

Create a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.

+

Creates a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.

delete(name, x__xgafv=None)

-

Delete a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.

+

Deletes a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.

get(name, x__xgafv=None)

-

Retrieve a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`

+

Retrieves a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`

list(pageSize=None, pageToken=None, parent=None, x__xgafv=None)

-

List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.

+

Lists all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.

list_next(previous_request, previous_response)

Retrieves the next page of results.

@@ -100,7 +100,7 @@

Method Details

create(body=None, x__xgafv=None) -
Create a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.
+  
Creates a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.
 
 Args:
   body: object, The request body.
@@ -139,7 +139,7 @@ 

Method Details

delete(name, x__xgafv=None) -
Delete a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.
+  
Deletes a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.
 
 Args:
   name: string, Required. The name/identifier of the Lien to delete. (required)
@@ -157,7 +157,7 @@ 

Method Details

get(name, x__xgafv=None) -
Retrieve a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`
+  
Retrieves a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`
 
 Args:
   name: string, Required. The name/identifier of the Lien. (required)
@@ -183,7 +183,7 @@ 

Method Details

list(pageSize=None, pageToken=None, parent=None, x__xgafv=None) -
List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.
+  
Lists all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.
 
 Args:
   pageSize: integer, The maximum number of items to return. This is a suggestion for the server. The server can return fewer liens than requested. If unspecified, server picks an appropriate default.
diff --git a/docs/dyn/cloudresourcemanager_v3.projects.html b/docs/dyn/cloudresourcemanager_v3.projects.html
index c9c4b4e043..f2eac9fca3 100644
--- a/docs/dyn/cloudresourcemanager_v3.projects.html
+++ b/docs/dyn/cloudresourcemanager_v3.projects.html
@@ -84,7 +84,7 @@ 

Instance Methods

Close httplib2 connections.

create(body=None, x__xgafv=None)

-

Request that a new project be created. The result is an `Operation` which can be used to track the creation process. This process usually takes a few seconds, but can sometimes take much longer. The tracking `Operation` is automatically deleted after a few hours, so there is no need to call `DeleteOperation`.

+

Requests that a new project be created. The result is an `Operation` which can be used to track the creation process. This process usually takes a few seconds, but can sometimes take much longer. The tracking `Operation` is automatically deleted after a few hours, so there is no need to call `DeleteOperation`.

delete(name, x__xgafv=None)

Marks the project identified by the specified `name` (for example, `projects/415104041262`) for deletion. This method will only affect the project if it has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the Project is no longer accessible. Until the deletion completes, you can check the lifecycle state checked by retrieving the project with GetProject, and the project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the project is not retrievable by the GetProject, ListProjects, and SearchProjects methods. The caller must have `resourcemanager.projects.delete` permissions for this project.

@@ -93,7 +93,7 @@

Instance Methods

Retrieves the project identified by the specified `name` (for example, `projects/415104041262`). The caller must have `resourcemanager.projects.get` permission for this project.

getIamPolicy(resource, body=None, x__xgafv=None)

-

Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. Permission is denied if the policy or the resource do not exist.

+

Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`. Permission is denied if the policy or the resource do not exist.

list(pageSize=None, pageToken=None, parent=None, showDeleted=None, x__xgafv=None)

Lists projects that are direct children of the specified folder or organization resource. `list()` provides a strongly consistent view of the projects underneath the specified parent resource. `list()` returns projects sorted based upon the (ascending) lexical ordering of their `display_name`. The caller must have `resourcemanager.projects.list` permission on the identified parent.

@@ -102,22 +102,22 @@

Instance Methods

Retrieves the next page of results.

move(name, body=None, x__xgafv=None)

-

Move a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.move` permission on the project, on the project's current and proposed new parent. If project has no current parent, or it currently does not have an associated organization resource, you will also need the `resourcemanager.projects.setIamPolicy` permission in the project.

+

Moves a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.move` permission on the project, on the project's current and proposed new parent. If project has no current parent, or it currently does not have an associated organization resource, you will also need the `resourcemanager.projects.setIamPolicy` permission in the project.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates the `display_name` and labels of the project identified by the specified `name` (for example, `projects/415104041262`). Deleting all labels requires an update mask for labels field. The caller must have `resourcemanager.projects.update` permission for this project.

search(pageSize=None, pageToken=None, query=None, x__xgafv=None)

-

Search for projects that the caller has the `resourcemanager.projects.get` permission on, and also satisfy the specified query. This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method.

+

Searches for projects on which the caller has the `resourcemanager.projects.get` permission and that match the specified query. This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method.

search_next(previous_request, previous_response)

Retrieves the next page of results.

setIamPolicy(resource, body=None, x__xgafv=None)

-

Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible.

+

Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible.

testIamPermissions(resource, body=None, x__xgafv=None)

-

Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123..

+

Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`.

undelete(name, body=None, x__xgafv=None)

Restores the project identified by the specified `name` (for example, `projects/415104041262`). You can only use this method for a project that has a lifecycle state of DELETE_REQUESTED. After deletion starts, the project cannot be restored. The caller must have `resourcemanager.projects.undelete` permission for this project.

@@ -129,7 +129,7 @@

Method Details

create(body=None, x__xgafv=None) -
Request that a new project be created. The result is an `Operation` which can be used to track the creation process. This process usually takes a few seconds, but can sometimes take much longer. The tracking `Operation` is automatically deleted after a few hours, so there is no need to call `DeleteOperation`.
+  
Requests that a new project be created. The result is an `Operation` which can be used to track the creation process. This process usually takes a few seconds, but can sometimes take much longer. The tracking `Operation` is automatically deleted after a few hours, so there is no need to call `DeleteOperation`.
 
 Args:
   body: object, The request body.
@@ -147,6 +147,7 @@ 

Method Details

"labels": { # Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `"myBusinessDimension" : "businessValue"` "a_key": "A String", }, + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # Output only. The unique resource name of the project. It is an int64 generated number prefixed by "projects/". Example: `projects/415104041262` "parent": "A String", # Optional. A reference to a parent Resource. eg., `organizations/123` or `folders/876`. "projectId": "A String", # Immutable. The unique, user-assigned id of the project. It must be 6 to 30 lowercase ASCII letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: `tokyo-rain-123` @@ -247,6 +248,7 @@

Method Details

"labels": { # Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `"myBusinessDimension" : "businessValue"` "a_key": "A String", }, + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # Output only. The unique resource name of the project. It is an int64 generated number prefixed by "projects/". Example: `projects/415104041262` "parent": "A String", # Optional. A reference to a parent Resource. eg., `organizations/123` or `folders/876`. "projectId": "A String", # Immutable. The unique, user-assigned id of the project. It must be 6 to 30 lowercase ASCII letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: `tokyo-rain-123` @@ -260,7 +262,7 @@

Method Details

getIamPolicy(resource, body=None, x__xgafv=None) -
Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. Permission is denied if the policy or the resource do not exist.
+  
Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`. Permission is denied if the policy or the resource do not exist.
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
@@ -346,6 +348,7 @@ 

Method Details

"labels": { # Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `"myBusinessDimension" : "businessValue"` "a_key": "A String", }, + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # Output only. The unique resource name of the project. It is an int64 generated number prefixed by "projects/". Example: `projects/415104041262` "parent": "A String", # Optional. A reference to a parent Resource. eg., `organizations/123` or `folders/876`. "projectId": "A String", # Immutable. The unique, user-assigned id of the project. It must be 6 to 30 lowercase ASCII letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: `tokyo-rain-123` @@ -375,7 +378,7 @@

Method Details

move(name, body=None, x__xgafv=None) -
Move a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.move` permission on the project, on the project's current and proposed new parent. If project has no current parent, or it currently does not have an associated organization resource, you will also need the `resourcemanager.projects.setIamPolicy` permission in the project. 
+  
Moves a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.move` permission on the project, on the project's current and proposed new parent. If project has no current parent, or it currently does not have an associated organization resource, you will also need the `resourcemanager.projects.setIamPolicy` permission in the project. 
 
 Args:
   name: string, Required. The name of the project to move. (required)
@@ -436,6 +439,7 @@ 

Method Details

"labels": { # Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `"myBusinessDimension" : "businessValue"` "a_key": "A String", }, + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # Output only. The unique resource name of the project. It is an int64 generated number prefixed by "projects/". Example: `projects/415104041262` "parent": "A String", # Optional. A reference to a parent Resource. eg., `organizations/123` or `folders/876`. "projectId": "A String", # Immutable. The unique, user-assigned id of the project. It must be 6 to 30 lowercase ASCII letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: `tokyo-rain-123` @@ -478,7 +482,7 @@

Method Details

search(pageSize=None, pageToken=None, query=None, x__xgafv=None) -
Search for projects that the caller has the `resourcemanager.projects.get` permission on, and also satisfy the specified query. This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method.
+  
Searches for projects on which the caller has the `resourcemanager.projects.get` permission and that match the specified query. This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method.
 
 Args:
   pageSize: integer, Optional. The maximum number of projects to return in the response. The server can return fewer projects than requested. If unspecified, server picks an appropriate default.
@@ -507,6 +511,7 @@ 

Method Details

"labels": { # Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `"myBusinessDimension" : "businessValue"` "a_key": "A String", }, + "managementType": "A String", # Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`. "name": "A String", # Output only. The unique resource name of the project. It is an int64 generated number prefixed by "projects/". Example: `projects/415104041262` "parent": "A String", # Optional. A reference to a parent Resource. eg., `organizations/123` or `folders/876`. "projectId": "A String", # Immutable. The unique, user-assigned id of the project. It must be 6 to 30 lowercase ASCII letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: `tokyo-rain-123` @@ -536,7 +541,7 @@

Method Details

setIamPolicy(resource, body=None, x__xgafv=None) -
Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible.
+  
Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible.
 
 Args:
   resource: string, 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. (required)
@@ -621,7 +626,7 @@ 

Method Details

testIamPermissions(resource, body=None, x__xgafv=None) -
Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123..
+  
Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`.
 
 Args:
   resource: 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. (required)
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
index ae24ef45bc..6190273820 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
@@ -287,7 +287,7 @@
 "liens": {
 "methods": {
 "create": {
-"description": "Create a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.",
+"description": "Creates a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.",
 "flatPath": "v1/liens",
 "httpMethod": "POST",
 "id": "cloudresourcemanager.liens.create",
@@ -306,7 +306,7 @@
 ]
 },
 "delete": {
-"description": "Delete a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.",
+"description": "Deletes a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.",
 "flatPath": "v1/liens/{liensId}",
 "httpMethod": "DELETE",
 "id": "cloudresourcemanager.liens.delete",
@@ -332,7 +332,7 @@
 ]
 },
 "get": {
-"description": "Retrieve a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`",
+"description": "Retrieves a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`",
 "flatPath": "v1/liens/{liensId}",
 "httpMethod": "GET",
 "id": "cloudresourcemanager.liens.get",
@@ -358,7 +358,7 @@
 ]
 },
 "list": {
-"description": "List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.",
+"description": "Lists all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.",
 "flatPath": "v1/liens",
 "httpMethod": "GET",
 "id": "cloudresourcemanager.liens.list",
@@ -1171,7 +1171,7 @@
 }
 }
 },
-"revision": "20261011",
+"revision": "20261107",
 "rootUrl": "https://cloudresourcemanager.googleapis.com/",
 "schemas": {
 "Ancestor": {
@@ -2121,6 +2121,21 @@
 ],
 "type": "string"
 },
+"managementType": {
+"description": "Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`.",
+"enum": [
+"MANAGEMENT_TYPE_UNSPECIFIED",
+"SELF_MANAGED",
+"HUB"
+],
+"enumDescriptions": [
+"Unspecified type.",
+"The Management Project is a self-managed project that constitutes its own boundary.",
+"The Management Project is a hub project that manages resources across a boundary."
+],
+"readOnly": true,
+"type": "string"
+},
 "name": {
 "description": "The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write.",
 "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
index 3c5214eb50..ad981c655d 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
@@ -568,7 +568,7 @@
 }
 }
 },
-"revision": "20261011",
+"revision": "20261026",
 "rootUrl": "https://cloudresourcemanager.googleapis.com/",
 "schemas": {
 "Ancestor": {
@@ -1188,6 +1188,21 @@
 ],
 "type": "string"
 },
+"managementType": {
+"description": "Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`.",
+"enum": [
+"MANAGEMENT_TYPE_UNSPECIFIED",
+"SELF_MANAGED",
+"HUB"
+],
+"enumDescriptions": [
+"Unspecified type.",
+"The Management Project is a self-managed project that constitutes its own boundary.",
+"The Management Project is a hub project that manages resources across a boundary."
+],
+"readOnly": true,
+"type": "string"
+},
 "name": {
 "description": "The optional user-assigned display name of the Project. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `My Project` Read-write.",
 "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
index 79d1bc082e..50c16589d1 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
@@ -372,7 +372,7 @@
 ]
 },
 "search": {
-"description": "Search for folders that match specific filter criteria. `search()` provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`.",
+"description": "Searches for folders that match specific filter criteria. `search()` provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`.",
 "flatPath": "v3/folders:search",
 "httpMethod": "GET",
 "id": "cloudresourcemanager.folders.search",
@@ -910,7 +910,7 @@
 "liens": {
 "methods": {
 "create": {
-"description": "Create a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.",
+"description": "Creates a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied.",
 "flatPath": "v3/liens",
 "httpMethod": "POST",
 "id": "cloudresourcemanager.liens.create",
@@ -929,7 +929,7 @@
 ]
 },
 "delete": {
-"description": "Delete a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.",
+"description": "Deletes a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`.",
 "flatPath": "v3/liens/{liensId}",
 "httpMethod": "DELETE",
 "id": "cloudresourcemanager.liens.delete",
@@ -955,7 +955,7 @@
 ]
 },
 "get": {
-"description": "Retrieve a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`",
+"description": "Retrieves a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`",
 "flatPath": "v3/liens/{liensId}",
 "httpMethod": "GET",
 "id": "cloudresourcemanager.liens.get",
@@ -981,7 +981,7 @@
 ]
 },
 "list": {
-"description": "List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.",
+"description": "Lists all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`.",
 "flatPath": "v3/liens",
 "httpMethod": "GET",
 "id": "cloudresourcemanager.liens.list",
@@ -1675,7 +1675,7 @@
 "projects": {
 "methods": {
 "create": {
-"description": "Request that a new project be created. The result is an `Operation` which can be used to track the creation process. This process usually takes a few seconds, but can sometimes take much longer. The tracking `Operation` is automatically deleted after a few hours, so there is no need to call `DeleteOperation`.",
+"description": "Requests that a new project be created. The result is an `Operation` which can be used to track the creation process. This process usually takes a few seconds, but can sometimes take much longer. The tracking `Operation` is automatically deleted after a few hours, so there is no need to call `DeleteOperation`.",
 "flatPath": "v3/projects",
 "httpMethod": "POST",
 "id": "cloudresourcemanager.projects.create",
@@ -1744,7 +1744,7 @@
 ]
 },
 "getIamPolicy": {
-"description": "Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. Permission is denied if the policy or the resource do not exist.",
+"description": "Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`. Permission is denied if the policy or the resource do not exist.",
 "flatPath": "v3/projects/{projectsId}:getIamPolicy",
 "httpMethod": "POST",
 "id": "cloudresourcemanager.projects.getIamPolicy",
@@ -1811,7 +1811,7 @@
 ]
 },
 "move": {
-"description": "Move a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.move` permission on the project, on the project's current and proposed new parent. If project has no current parent, or it currently does not have an associated organization resource, you will also need the `resourcemanager.projects.setIamPolicy` permission in the project. ",
+"description": "Moves a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.move` permission on the project, on the project's current and proposed new parent. If project has no current parent, or it currently does not have an associated organization resource, you will also need the `resourcemanager.projects.setIamPolicy` permission in the project. ",
 "flatPath": "v3/projects/{projectsId}:move",
 "httpMethod": "POST",
 "id": "cloudresourcemanager.projects.move",
@@ -1873,7 +1873,7 @@
 ]
 },
 "search": {
-"description": "Search for projects that the caller has the `resourcemanager.projects.get` permission on, and also satisfy the specified query. This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method.",
+"description": "Searches for projects on which the caller has the `resourcemanager.projects.get` permission and that match the specified query. This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method.",
 "flatPath": "v3/projects:search",
 "httpMethod": "GET",
 "id": "cloudresourcemanager.projects.search",
@@ -1906,7 +1906,7 @@
 ]
 },
 "setIamPolicy": {
-"description": "Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible.",
+"description": "Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible.",
 "flatPath": "v3/projects/{projectsId}:setIamPolicy",
 "httpMethod": "POST",
 "id": "cloudresourcemanager.projects.setIamPolicy",
@@ -1934,7 +1934,7 @@
 ]
 },
 "testIamPermissions": {
-"description": "Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123..",
+"description": "Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}`, for example, `projects/123`.",
 "flatPath": "v3/projects/{projectsId}:testIamPermissions",
 "httpMethod": "POST",
 "id": "cloudresourcemanager.projects.testIamPermissions",
@@ -2913,7 +2913,7 @@
 }
 }
 },
-"revision": "20261018",
+"revision": "20261107",
 "rootUrl": "https://cloudresourcemanager.googleapis.com/",
 "schemas": {
 "AuditConfig": {
@@ -4058,6 +4058,21 @@
 "description": "Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `\"myBusinessDimension\" : \"businessValue\"`",
 "type": "object"
 },
+"managementType": {
+"description": "Output only. The type of Management Project. This field is only populated if `is_management_project` is `true`.",
+"enum": [
+"MANAGEMENT_TYPE_UNSPECIFIED",
+"SELF_MANAGED",
+"HUB"
+],
+"enumDescriptions": [
+"Unspecified type.",
+"The Management Project is a self-managed project that constitutes its own boundary.",
+"The Management Project is a hub project that manages resources across a boundary."
+],
+"readOnly": true,
+"type": "string"
+},
 "name": {
 "description": "Output only. The unique resource name of the project. It is an int64 generated number prefixed by \"projects/\". Example: `projects/415104041262`",
 "readOnly": true,

From 85d3ba0d9bf0ae6f6566c8645b5ad60196ddcda9 Mon Sep 17 00:00:00 2001
From: Yoshi Automation 
Date: Tue, 10 Nov 2026 07:13:25 +0000
Subject: [PATCH 17/57] fix(cloudscheduler): update the api

#### cloudscheduler:v1

The following keys were changed:
- endpoints (Total Keys: 1)

#### cloudscheduler:v1beta1

The following keys were changed:
- endpoints (Total Keys: 1)
---
 .../discovery_cache/documents/cloudscheduler.v1.json | 12 +-----------
 .../documents/cloudscheduler.v1beta1.json            | 12 +-----------
 2 files changed, 2 insertions(+), 22 deletions(-)

diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
index 3b80ac5b58..62a57886ed 100644
--- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
@@ -23,11 +23,6 @@
 },
 {
 "description": "Regional Endpoint",
-"endpointUrl": "https://cloudscheduler.us-central2.rep.googleapis.com/",
-"location": "us-central2"
-},
-{
-"description": "Regional Endpoint",
 "endpointUrl": "https://cloudscheduler.us-east1.rep.googleapis.com/",
 "location": "us-east1"
 },
@@ -38,11 +33,6 @@
 },
 {
 "description": "Regional Endpoint",
-"endpointUrl": "https://cloudscheduler.us-east7.rep.googleapis.com/",
-"location": "us-east7"
-},
-{
-"description": "Regional Endpoint",
 "endpointUrl": "https://cloudscheduler.us-south1.rep.googleapis.com/",
 "location": "us-south1"
 },
@@ -663,7 +653,7 @@
 }
 }
 },
-"revision": "20261020",
+"revision": "20261106",
 "rootUrl": "https://cloudscheduler.googleapis.com/",
 "schemas": {
 "AppEngineHttpTarget": {
diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
index f97ffc37b0..bbf93a156a 100644
--- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
@@ -23,11 +23,6 @@
 },
 {
 "description": "Regional Endpoint",
-"endpointUrl": "https://cloudscheduler.us-central2.rep.googleapis.com/",
-"location": "us-central2"
-},
-{
-"description": "Regional Endpoint",
 "endpointUrl": "https://cloudscheduler.us-east1.rep.googleapis.com/",
 "location": "us-east1"
 },
@@ -38,11 +33,6 @@
 },
 {
 "description": "Regional Endpoint",
-"endpointUrl": "https://cloudscheduler.us-east7.rep.googleapis.com/",
-"location": "us-east7"
-},
-{
-"description": "Regional Endpoint",
 "endpointUrl": "https://cloudscheduler.us-south1.rep.googleapis.com/",
 "location": "us-south1"
 },
@@ -619,7 +609,7 @@
 }
 }
 },
-"revision": "20261020",
+"revision": "20261106",
 "rootUrl": "https://cloudscheduler.googleapis.com/",
 "schemas": {
 "AppEngineHttpTarget": {

From 8063f27cad5604d6b7fb5cd604164eca8ae11b85 Mon Sep 17 00:00:00 2001
From: Yoshi Automation 
Date: Tue, 10 Nov 2026 07:13:25 +0000
Subject: [PATCH 18/57] feat(cloudsearch): update the api

#### cloudsearch:v1

The following keys were added:
- resources.query.resources.sources.methods.list.parameters.requestOptions.queryLanguageCode (Total Keys: 2)
- schemas.RequestOptions.properties.queryLanguageCode.type (Total Keys: 1)
---
 docs/dyn/cloudsearch_v1.query.html                  |  5 ++++-
 docs/dyn/cloudsearch_v1.query.sources.html          |  5 +++--
 .../discovery_cache/documents/cloudsearch.v1.json   | 13 +++++++++++--
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/docs/dyn/cloudsearch_v1.query.html b/docs/dyn/cloudsearch_v1.query.html
index 03bd9ab184..3b7b88ac34 100644
--- a/docs/dyn/cloudsearch_v1.query.html
+++ b/docs/dyn/cloudsearch_v1.query.html
@@ -113,6 +113,7 @@ 

Method Details

"enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field. }, "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user's language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The Suggest API uses this field as a hint to make better third-party autocomplete predictions. + "queryLanguageCode": "A String", # Optional. The BCP-47 language code representing the language of the query. "searchApplicationId": "A String", # The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922). "timeZone": "A String", # Current user's time zone id, such as "America/Los_Angeles" or "Australia/Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used. }, @@ -215,6 +216,7 @@

Method Details

"enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field. }, "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user's language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The Suggest API uses this field as a hint to make better third-party autocomplete predictions. + "queryLanguageCode": "A String", # Optional. The BCP-47 language code representing the language of the query. "searchApplicationId": "A String", # The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922). "timeZone": "A String", # Current user's time zone id, such as "America/Los_Angeles" or "Australia/Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used. }, @@ -233,7 +235,7 @@

Method Details

Returns: An object of the form: - { # The search API response. NEXT ID: 20 + { # The search API response. NEXT ID: 21 "debugInfo": { # Debugging information about the response. # Debugging information about the response. "formattedDebugInfo": "A String", # General debug info formatted for display. }, @@ -589,6 +591,7 @@

Method Details

"enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field. }, "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user's language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The Suggest API uses this field as a hint to make better third-party autocomplete predictions. + "queryLanguageCode": "A String", # Optional. The BCP-47 language code representing the language of the query. "searchApplicationId": "A String", # The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922). "timeZone": "A String", # Current user's time zone id, such as "America/Los_Angeles" or "Australia/Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used. }, diff --git a/docs/dyn/cloudsearch_v1.query.sources.html b/docs/dyn/cloudsearch_v1.query.sources.html index da9e774653..e5d61abaff 100644 --- a/docs/dyn/cloudsearch_v1.query.sources.html +++ b/docs/dyn/cloudsearch_v1.query.sources.html @@ -78,7 +78,7 @@

Instance Methods

close()

Close httplib2 connections.

- list(pageToken=None, requestOptions_clientDisplayLanguageCode=None, requestOptions_countryCode=None, requestOptions_debugOptions_enableDebugging=None, requestOptions_languageCode=None, requestOptions_searchApplicationId=None, requestOptions_timeZone=None, x__xgafv=None)

+ list(pageToken=None, requestOptions_clientDisplayLanguageCode=None, requestOptions_countryCode=None, requestOptions_debugOptions_enableDebugging=None, requestOptions_languageCode=None, requestOptions_queryLanguageCode=None, requestOptions_searchApplicationId=None, requestOptions_timeZone=None, x__xgafv=None)

Returns list of sources that user can use for Search and Suggest APIs. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/workspace/cloud-search/docs/guides/delegation/).

list_next(previous_request, previous_response)

@@ -90,7 +90,7 @@

Method Details

- list(pageToken=None, requestOptions_clientDisplayLanguageCode=None, requestOptions_countryCode=None, requestOptions_debugOptions_enableDebugging=None, requestOptions_languageCode=None, requestOptions_searchApplicationId=None, requestOptions_timeZone=None, x__xgafv=None) + list(pageToken=None, requestOptions_clientDisplayLanguageCode=None, requestOptions_countryCode=None, requestOptions_debugOptions_enableDebugging=None, requestOptions_languageCode=None, requestOptions_queryLanguageCode=None, requestOptions_searchApplicationId=None, requestOptions_timeZone=None, x__xgafv=None)
Returns list of sources that user can use for Search and Suggest APIs. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/workspace/cloud-search/docs/guides/delegation/).
 
 Args:
@@ -99,6 +99,7 @@ 

Method Details

requestOptions_countryCode: string, Optional. Specifies the country/region where the query originated, as a lowercase ISO 3166-1 alpha-2 region code (using 'uk' instead of 'gb' for the United Kingdom). requestOptions_debugOptions_enableDebugging: boolean, If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field. requestOptions_languageCode: string, The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user's language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The Suggest API uses this field as a hint to make better third-party autocomplete predictions. + requestOptions_queryLanguageCode: string, Optional. The BCP-47 language code representing the language of the query. requestOptions_searchApplicationId: string, The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922). requestOptions_timeZone: string, Current user's time zone id, such as "America/Los_Angeles" or "Australia/Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used. x__xgafv: string, V1 error format. diff --git a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json index da1de6af31..5a57357535 100644 --- a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json @@ -1035,6 +1035,11 @@ "location": "query", "type": "string" }, +"requestOptions.queryLanguageCode": { +"description": "Optional. The BCP-47 language code representing the language of the query.", +"location": "query", +"type": "string" +}, "requestOptions.searchApplicationId": { "description": "The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922).", "location": "query", @@ -2111,7 +2116,7 @@ } } }, -"revision": "20260729", +"revision": "20261106", "rootUrl": "https://cloudsearch.googleapis.com/", "schemas": { "Action": { @@ -6911,6 +6916,10 @@ false "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user's language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The Suggest API uses this field as a hint to make better third-party autocomplete predictions.", "type": "string" }, +"queryLanguageCode": { +"description": "Optional. The BCP-47 language code representing the language of the query.", +"type": "string" +}, "searchApplicationId": { "description": "The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922).", "type": "string" @@ -7344,7 +7353,7 @@ false "type": "object" }, "SearchResponse": { -"description": "The search API response. NEXT ID: 20", +"description": "The search API response. NEXT ID: 21", "id": "SearchResponse", "properties": { "debugInfo": { From 6a8c85184975b52d75adeaeaac694cb3bf17e26b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:25 +0000 Subject: [PATCH 19/57] feat(composer): update the api #### composer:v1 The following keys were added: - resources.projects.resources.locations.resources.environments.methods.hibernate (Total Keys: 12) - resources.projects.resources.locations.resources.environments.methods.resume (Total Keys: 12) - schemas.HibernateEnvironmentRequest (Total Keys: 2) - schemas.ResumeEnvironmentRequest (Total Keys: 2) #### composer:v1beta1 The following keys were added: - schemas.EnvironmentConfig.properties.scheduledHibernationConfig.$ref (Total Keys: 1) - schemas.ScheduledHibernationConfig (Total Keys: 8) --- ...er_v1.projects.locations.environments.html | 88 +++++++++++++++++++ ...beta1.projects.locations.environments.html | 40 +++++++++ .../documents/composer.v1.json | 78 +++++++++++++++- .../documents/composer.v1beta1.json | 41 ++++++++- 4 files changed, 241 insertions(+), 6 deletions(-) diff --git a/docs/dyn/composer_v1.projects.locations.environments.html b/docs/dyn/composer_v1.projects.locations.environments.html index 426cbb85ba..0cf369e7b2 100644 --- a/docs/dyn/composer_v1.projects.locations.environments.html +++ b/docs/dyn/composer_v1.projects.locations.environments.html @@ -113,6 +113,9 @@

Instance Methods

get(name, x__xgafv=None)

Get an existing environment.

+

+ hibernate(name, body=None, x__xgafv=None)

+

Hibernates (pauses) a running environment. It requests the environment to switch to the `HIBERNATED` state, keeping its data and minimizing cost, but not running any DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

List environments.

@@ -131,6 +134,9 @@

Instance Methods

restartWebServer(name, body=None, x__xgafv=None)

Restart Airflow web server.

+

+ resume(name, body=None, x__xgafv=None)

+

Resumes (unpauses) a hibernated environment. It requests the environment to switch to the `RUNNING` state, so that it is ready to use and run DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer.

saveSnapshot(environment, body=None, x__xgafv=None)

Creates a snapshots of a Cloud Composer environment. As a result of this operation, snapshot of environment's state is stored in a location specified in the SaveSnapshotRequest.

@@ -718,6 +724,47 @@

Method Details

}
+
+ hibernate(name, body=None, x__xgafv=None) +
Hibernates (pauses) a running environment. It requests the environment to switch to the `HIBERNATED` state, keeping its data and minimizing cost, but not running any DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer.
+
+Args:
+  name: string, Required. The resource name of the environment to hibernate, in the form: "projects/{project}/locations/{location}/environments/{environment}" (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to hibernate a Composer environment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+
list(parent, pageSize=None, pageToken=None, x__xgafv=None)
List environments.
@@ -1269,6 +1316,47 @@ 

Method Details

}
+
+ resume(name, body=None, x__xgafv=None) +
Resumes (unpauses) a hibernated environment. It requests the environment to switch to the `RUNNING` state, so that it is ready to use and run DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer.
+
+Args:
+  name: string, Required. The resource name of the environment to resume, in the form: "projects/{project}/locations/{location}/environments/{environment}" (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to resume a Composer environment.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+
saveSnapshot(environment, body=None, x__xgafv=None)
Creates a snapshots of a Cloud Composer environment. As a result of this operation, snapshot of environment's state is stored in a location specified in the SaveSnapshotRequest.
diff --git a/docs/dyn/composer_v1beta1.projects.locations.environments.html b/docs/dyn/composer_v1beta1.projects.locations.environments.html
index e2a79851a7..c09f130426 100644
--- a/docs/dyn/composer_v1beta1.projects.locations.environments.html
+++ b/docs/dyn/composer_v1beta1.projects.locations.environments.html
@@ -296,6 +296,16 @@ 

Method Details

}, }, "resilienceMode": "A String", # Optional. Resilience mode of the Cloud Composer Environment. This field is supported for Cloud Composer environments in versions composer-2.2.0-airflow-*.*.* and newer. + "scheduledHibernationConfig": { # The configuration for hibernating and resuming the environment on a schedule. Supported for environments in the development mode. # Optional. The configuration for hibernating and resuming the environment on a schedule. Supported for environments that have `mode` set to `DEVELOPMENT`. + "enabled": True or False, # Optional. Whether hibernating and resuming the environment on a schedule is enabled. + "hibernationSchedules": [ # Optional. The cron expressions representing the times when the environment will automatically hibernate, entering the HIBERNATED state. + "A String", + ], + "resumptionSchedules": [ # Optional. The cron expressions representing the times when the environment will automatically resume, entering the RUNNING state. + "A String", + ], + "timeZone": "A String", # Optional. Time zone that sets the context to interpret the schedule expressions. Expected format is "UTC+05", "UTC-03", etc. + }, "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # Optional. The configuration settings for software inside the environment. "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example "core-dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square brackets ("["), or closing square brackets ("]"). The property name must not be empty and must not contain an equals sign ("=") or semicolon (";"). Section and property names must not contain a period ("."). Apache Airflow configuration property names must be written in [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), and cannot be overridden. "a_key": "A String", @@ -649,6 +659,16 @@

Method Details

}, }, "resilienceMode": "A String", # Optional. Resilience mode of the Cloud Composer Environment. This field is supported for Cloud Composer environments in versions composer-2.2.0-airflow-*.*.* and newer. + "scheduledHibernationConfig": { # The configuration for hibernating and resuming the environment on a schedule. Supported for environments in the development mode. # Optional. The configuration for hibernating and resuming the environment on a schedule. Supported for environments that have `mode` set to `DEVELOPMENT`. + "enabled": True or False, # Optional. Whether hibernating and resuming the environment on a schedule is enabled. + "hibernationSchedules": [ # Optional. The cron expressions representing the times when the environment will automatically hibernate, entering the HIBERNATED state. + "A String", + ], + "resumptionSchedules": [ # Optional. The cron expressions representing the times when the environment will automatically resume, entering the RUNNING state. + "A String", + ], + "timeZone": "A String", # Optional. Time zone that sets the context to interpret the schedule expressions. Expected format is "UTC+05", "UTC-03", etc. + }, "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # Optional. The configuration settings for software inside the environment. "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example "core-dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square brackets ("["), or closing square brackets ("]"). The property name must not be empty and must not contain an equals sign ("=") or semicolon (";"). Section and property names must not contain a period ("."). Apache Airflow configuration property names must be written in [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), and cannot be overridden. "a_key": "A String", @@ -889,6 +909,16 @@

Method Details

}, }, "resilienceMode": "A String", # Optional. Resilience mode of the Cloud Composer Environment. This field is supported for Cloud Composer environments in versions composer-2.2.0-airflow-*.*.* and newer. + "scheduledHibernationConfig": { # The configuration for hibernating and resuming the environment on a schedule. Supported for environments in the development mode. # Optional. The configuration for hibernating and resuming the environment on a schedule. Supported for environments that have `mode` set to `DEVELOPMENT`. + "enabled": True or False, # Optional. Whether hibernating and resuming the environment on a schedule is enabled. + "hibernationSchedules": [ # Optional. The cron expressions representing the times when the environment will automatically hibernate, entering the HIBERNATED state. + "A String", + ], + "resumptionSchedules": [ # Optional. The cron expressions representing the times when the environment will automatically resume, entering the RUNNING state. + "A String", + ], + "timeZone": "A String", # Optional. Time zone that sets the context to interpret the schedule expressions. Expected format is "UTC+05", "UTC-03", etc. + }, "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # Optional. The configuration settings for software inside the environment. "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example "core-dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square brackets ("["), or closing square brackets ("]"). The property name must not be empty and must not contain an equals sign ("=") or semicolon (";"). Section and property names must not contain a period ("."). Apache Airflow configuration property names must be written in [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), and cannot be overridden. "a_key": "A String", @@ -1142,6 +1172,16 @@

Method Details

}, }, "resilienceMode": "A String", # Optional. Resilience mode of the Cloud Composer Environment. This field is supported for Cloud Composer environments in versions composer-2.2.0-airflow-*.*.* and newer. + "scheduledHibernationConfig": { # The configuration for hibernating and resuming the environment on a schedule. Supported for environments in the development mode. # Optional. The configuration for hibernating and resuming the environment on a schedule. Supported for environments that have `mode` set to `DEVELOPMENT`. + "enabled": True or False, # Optional. Whether hibernating and resuming the environment on a schedule is enabled. + "hibernationSchedules": [ # Optional. The cron expressions representing the times when the environment will automatically hibernate, entering the HIBERNATED state. + "A String", + ], + "resumptionSchedules": [ # Optional. The cron expressions representing the times when the environment will automatically resume, entering the RUNNING state. + "A String", + ], + "timeZone": "A String", # Optional. Time zone that sets the context to interpret the schedule expressions. Expected format is "UTC+05", "UTC-03", etc. + }, "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # Optional. The configuration settings for software inside the environment. "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example "core-dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square brackets ("["), or closing square brackets ("]"). The property name must not be empty and must not contain an equals sign ("=") or semicolon (";"). Section and property names must not contain a period ("."). Apache Airflow configuration property names must be written in [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), and cannot be overridden. "a_key": "A String", diff --git a/googleapiclient/discovery_cache/documents/composer.v1.json b/googleapiclient/discovery_cache/documents/composer.v1.json index f04b956475..18c7b0406b 100644 --- a/googleapiclient/discovery_cache/documents/composer.v1.json +++ b/googleapiclient/discovery_cache/documents/composer.v1.json @@ -770,6 +770,35 @@ "https://www.googleapis.com/auth/cloudcomposer.readonly" ] }, +"hibernate": { +"description": "Hibernates (pauses) a running environment. It requests the environment to switch to the `HIBERNATED` state, keeping its data and minimizing cost, but not running any DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:hibernate", +"httpMethod": "POST", +"id": "composer.projects.locations.environments.hibernate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the environment to hibernate, in the form: \"projects/{project}/locations/{location}/environments/{environment}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:hibernate", +"request": { +"$ref": "HibernateEnvironmentRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudcomposer" +] +}, "list": { "description": "List environments.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments", @@ -931,6 +960,35 @@ "https://www.googleapis.com/auth/cloudcomposer" ] }, +"resume": { +"description": "Resumes (unpauses) a hibernated environment. It requests the environment to switch to the `RUNNING` state, so that it is ready to use and run DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:resume", +"httpMethod": "POST", +"id": "composer.projects.locations.environments.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the environment to resume, in the form: \"projects/{project}/locations/{location}/environments/{environment}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:resume", +"request": { +"$ref": "ResumeEnvironmentRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudcomposer" +] +}, "saveSnapshot": { "description": "Creates a snapshots of a Cloud Composer environment. As a result of this operation, snapshot of environment's state is stored in a location specified in the SaveSnapshotRequest.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:saveSnapshot", @@ -1503,7 +1561,7 @@ } } }, -"revision": "20261015", +"revision": "20261106", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -1970,14 +2028,16 @@ "ENVIRONMENT_SIZE_SMALL", "ENVIRONMENT_SIZE_MEDIUM", "ENVIRONMENT_SIZE_LARGE", -"ENVIRONMENT_SIZE_EXTRA_LARGE" +"ENVIRONMENT_SIZE_EXTRA_LARGE", +"ENVIRONMENT_SIZE_X_EXTRA_LARGE" ], "enumDescriptions": [ "The size of the environment is unspecified.", "The environment size is small.", "The environment size is medium.", "The environment size is large.", -"The environment size is extra large." +"The environment size is extra large.", +"The environment size is double extra large." ], "type": "string" }, @@ -2121,6 +2181,12 @@ }, "type": "object" }, +"HibernateEnvironmentRequest": { +"description": "Request to hibernate a Composer environment.", +"id": "HibernateEnvironmentRequest", +"properties": {}, +"type": "object" +}, "IPAllocationPolicy": { "description": "Configuration for controlling how IPs are allocated in the GKE cluster running the Apache Airflow software.", "id": "IPAllocationPolicy", @@ -2750,6 +2816,12 @@ "properties": {}, "type": "object" }, +"ResumeEnvironmentRequest": { +"description": "Request to resume a Composer environment.", +"id": "ResumeEnvironmentRequest", +"properties": {}, +"type": "object" +}, "SaveSnapshotRequest": { "description": "Request to create a snapshot of a Cloud Composer environment.", "id": "SaveSnapshotRequest", diff --git a/googleapiclient/discovery_cache/documents/composer.v1beta1.json b/googleapiclient/discovery_cache/documents/composer.v1beta1.json index 5cae45cfbc..377a2faa6a 100644 --- a/googleapiclient/discovery_cache/documents/composer.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/composer.v1beta1.json @@ -1561,7 +1561,7 @@ } } }, -"revision": "20261015", +"revision": "20261106", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -2039,14 +2039,16 @@ "ENVIRONMENT_SIZE_SMALL", "ENVIRONMENT_SIZE_MEDIUM", "ENVIRONMENT_SIZE_LARGE", -"ENVIRONMENT_SIZE_EXTRA_LARGE" +"ENVIRONMENT_SIZE_EXTRA_LARGE", +"ENVIRONMENT_SIZE_X_EXTRA_LARGE" ], "enumDescriptions": [ "The size of the environment is unspecified.", "The environment size is small.", "The environment size is medium.", "The environment size is large.", -"The environment size is extra large." +"The environment size is extra large.", +"The environment size is double extra large." ], "type": "string" }, @@ -2092,6 +2094,10 @@ ], "type": "string" }, +"scheduledHibernationConfig": { +"$ref": "ScheduledHibernationConfig", +"description": "Optional. The configuration for hibernating and resuming the environment on a schedule. Supported for environments that have `mode` set to `DEVELOPMENT`." +}, "softwareConfig": { "$ref": "SoftwareConfig", "description": "Optional. The configuration settings for software inside the environment." @@ -2861,6 +2867,35 @@ }, "type": "object" }, +"ScheduledHibernationConfig": { +"description": "The configuration for hibernating and resuming the environment on a schedule. Supported for environments in the development mode.", +"id": "ScheduledHibernationConfig", +"properties": { +"enabled": { +"description": "Optional. Whether hibernating and resuming the environment on a schedule is enabled.", +"type": "boolean" +}, +"hibernationSchedules": { +"description": "Optional. The cron expressions representing the times when the environment will automatically hibernate, entering the HIBERNATED state.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resumptionSchedules": { +"description": "Optional. The cron expressions representing the times when the environment will automatically resume, entering the RUNNING state.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeZone": { +"description": "Optional. Time zone that sets the context to interpret the schedule expressions. Expected format is \"UTC+05\", \"UTC-03\", etc.", +"type": "string" +} +}, +"type": "object" +}, "ScheduledSnapshotsConfig": { "description": "The configuration for scheduled snapshot creation mechanism.", "id": "ScheduledSnapshotsConfig", From 05b5b3da3226b6e7dd9b67f600e2abef38649bf2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:25 +0000 Subject: [PATCH 20/57] feat(compute): update the api #### compute:preview The following keys were added: - schemas.BackendService.properties.networkAttachment.type (Total Keys: 1) - schemas.BackendService.properties.serviceClassId.type (Total Keys: 1) - schemas.ForwardingRule.properties.networkAttachment.type (Total Keys: 1) - schemas.ForwardingRule.properties.serviceClassId.type (Total Keys: 1) - schemas.InstanceGroupManagerUpdatePolicy.properties.allowedActions (Total Keys: 2) - schemas.InstanceGroupManagersApplyUpdatesRequest.properties.allowedActions (Total Keys: 2) - schemas.InstanceProperties.properties.deletionProtection.type (Total Keys: 1) - schemas.RegionInstanceGroupManagersApplyUpdatesRequest.properties.allowedActions (Total Keys: 2) - schemas.ServiceAttachment.properties.mode.type (Total Keys: 1) --- docs/dyn/compute_beta.backendServices.html | 21 --- .../compute_beta.regionBackendServices.html | 18 --- docs/dyn/compute_preview.backendServices.html | 49 ++++++ docs/dyn/compute_preview.forwardingRules.html | 25 +++ ...compute_preview.globalForwardingRules.html | 20 +++ ...compute_preview.instanceGroupManagers.html | 18 +++ .../compute_preview.instanceTemplates.html | 4 + docs/dyn/compute_preview.instances.html | 1 + docs/dyn/compute_preview.machineImages.html | 3 + ...compute_preview.regionBackendServices.html | 42 +++++ ...e_preview.regionInstanceGroupManagers.html | 15 ++ ...mpute_preview.regionInstanceTemplates.html | 3 + docs/dyn/compute_preview.regionInstances.html | 1 + .../compute_preview.serviceAttachments.html | 5 + docs/dyn/compute_v1.backendServices.html | 21 --- .../dyn/compute_v1.regionBackendServices.html | 18 --- .../documents/compute.beta.json | 4 +- .../documents/compute.preview.json | 151 ++++++++++++++++-- .../discovery_cache/documents/compute.v1.json | 4 +- 19 files changed, 326 insertions(+), 97 deletions(-) diff --git a/docs/dyn/compute_beta.backendServices.html b/docs/dyn/compute_beta.backendServices.html index 1e0b11327c..942b5f7500 100644 --- a/docs/dyn/compute_beta.backendServices.html +++ b/docs/dyn/compute_beta.backendServices.html @@ -1218,9 +1218,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -3319,9 +3316,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -5890,9 +5884,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -7679,9 +7670,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -9209,9 +9197,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -10679,9 +10664,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -13910,9 +13892,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # diff --git a/docs/dyn/compute_beta.regionBackendServices.html b/docs/dyn/compute_beta.regionBackendServices.html index a21ba4a7d2..21e133b046 100644 --- a/docs/dyn/compute_beta.regionBackendServices.html +++ b/docs/dyn/compute_beta.regionBackendServices.html @@ -1091,9 +1091,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -2921,9 +2918,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -4711,9 +4705,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -6243,9 +6234,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -7714,9 +7702,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -10639,9 +10624,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # diff --git a/docs/dyn/compute_preview.backendServices.html b/docs/dyn/compute_preview.backendServices.html index c0f8e138d6..93c88f8880 100644 --- a/docs/dyn/compute_preview.backendServices.html +++ b/docs/dyn/compute_preview.backendServices.html @@ -1531,6 +1531,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -1786,6 +1788,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -3600,6 +3607,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -3855,6 +3864,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -5397,6 +5411,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -5652,6 +5668,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -7139,6 +7160,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -7394,6 +7417,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -8613,6 +8641,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -8868,6 +8898,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -10033,6 +10068,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -10288,6 +10325,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -13241,6 +13283,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -13496,6 +13540,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, diff --git a/docs/dyn/compute_preview.forwardingRules.html b/docs/dyn/compute_preview.forwardingRules.html index 45c82b8a34..8c1a077047 100644 --- a/docs/dyn/compute_preview.forwardingRules.html +++ b/docs/dyn/compute_preview.forwardingRules.html @@ -497,6 +497,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -571,6 +573,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. @@ -1342,6 +1347,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -1416,6 +1423,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. @@ -1781,6 +1791,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -1855,6 +1867,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. @@ -2609,6 +2624,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -2683,6 +2700,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. @@ -3100,6 +3120,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -3174,6 +3196,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. diff --git a/docs/dyn/compute_preview.globalForwardingRules.html b/docs/dyn/compute_preview.globalForwardingRules.html index a2fa05ea9a..3e658065a8 100644 --- a/docs/dyn/compute_preview.globalForwardingRules.html +++ b/docs/dyn/compute_preview.globalForwardingRules.html @@ -720,6 +720,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -794,6 +796,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. @@ -1158,6 +1163,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -1232,6 +1239,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. @@ -1985,6 +1995,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -2059,6 +2071,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. @@ -2475,6 +2490,8 @@

Method Details

# # For Private Service Connect forwarding rules that forward traffic to Google # APIs, a network must be provided. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkTier": "A String", # This signifies the networking tier used for configuring # this load balancer and can only take the following values:PREMIUM, STANDARD. # @@ -2549,6 +2566,9 @@

Method Details

# not settable as a field in the request body. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id. + "serviceClassId": "A String", # Optional. Producer Service's Service class ID for the region of this forwarding rule. + # Can only be used with network_attachment. It is not possible to use on its + # own; however, network_attachment can be used without service_class_id. "serviceDirectoryRegistrations": [ # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. { # Describes the auto-registration of the forwarding rule to Service Directory. diff --git a/docs/dyn/compute_preview.instanceGroupManagers.html b/docs/dyn/compute_preview.instanceGroupManagers.html index 9ae882ddf9..e5b2edc503 100644 --- a/docs/dyn/compute_preview.instanceGroupManagers.html +++ b/docs/dyn/compute_preview.instanceGroupManagers.html @@ -1672,6 +1672,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -1921,6 +1924,9 @@

Method Details

"allInstances": True or False, # Flag to update all instances instead of specified list of "instances". # If the flag is set to true then the instances may not be specified # in the request. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instances": [ # 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]. "A String", @@ -4708,6 +4714,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -5941,6 +5950,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -7554,6 +7566,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -10082,6 +10097,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: diff --git a/docs/dyn/compute_preview.instanceTemplates.html b/docs/dyn/compute_preview.instanceTemplates.html index 6d78025e92..1836cb407c 100644 --- a/docs/dyn/compute_preview.instanceTemplates.html +++ b/docs/dyn/compute_preview.instanceTemplates.html @@ -291,6 +291,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created @@ -1770,6 +1771,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created @@ -3220,6 +3222,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created @@ -4688,6 +4691,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created diff --git a/docs/dyn/compute_preview.instances.html b/docs/dyn/compute_preview.instances.html index 05cb45543f..e152f79f09 100644 --- a/docs/dyn/compute_preview.instances.html +++ b/docs/dyn/compute_preview.instances.html @@ -4324,6 +4324,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created diff --git a/docs/dyn/compute_preview.machineImages.html b/docs/dyn/compute_preview.machineImages.html index 533382587f..70b529c8f5 100644 --- a/docs/dyn/compute_preview.machineImages.html +++ b/docs/dyn/compute_preview.machineImages.html @@ -494,6 +494,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created @@ -2645,6 +2646,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created @@ -4815,6 +4817,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created diff --git a/docs/dyn/compute_preview.regionBackendServices.html b/docs/dyn/compute_preview.regionBackendServices.html index 59936f3d57..b3edb051d9 100644 --- a/docs/dyn/compute_preview.regionBackendServices.html +++ b/docs/dyn/compute_preview.regionBackendServices.html @@ -1410,6 +1410,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -1665,6 +1667,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -3190,6 +3197,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -3445,6 +3454,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -4933,6 +4947,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -5188,6 +5204,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -6409,6 +6430,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -6664,6 +6687,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -7830,6 +7858,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -8085,6 +8115,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, @@ -10723,6 +10758,8 @@

Method Details

# Balancers when the haPolicy fastIpMove is enabled. # # This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. + "networkAttachment": "A String", # Optional. The URL of the network attachment that this resource + # belongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}. "networkPassThroughLbTrafficPolicy": { # Configures traffic steering properties of internal passthrough Network # Load Balancers. # @@ -10978,6 +11015,11 @@

Method Details

# If set, lists of backends and health checks must be both empty. "A String", ], + "serviceClassId": "A String", # Optional. The service class ID associated with this resource. + # Producer Service's Service class ID for the region of this backend + # service. Can only be used with network_attachment. It is not possible to + # use on its own; however, network_attachment can be used without + # service_class_id. "serviceLbPolicy": "A String", # URL to networkservices.ServiceLbPolicy resource. # # Can only be set if load balancing scheme is EXTERNAL_MANAGED, diff --git a/docs/dyn/compute_preview.regionInstanceGroupManagers.html b/docs/dyn/compute_preview.regionInstanceGroupManagers.html index 51c93ba9a4..d969bada91 100644 --- a/docs/dyn/compute_preview.regionInstanceGroupManagers.html +++ b/docs/dyn/compute_preview.regionInstanceGroupManagers.html @@ -511,6 +511,9 @@

Method Details

"allInstances": True or False, # Flag to update all instances instead of specified list of "instances". # If the flag is set to true then the instances may not be specified # in the request. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instances": [ # 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]. "A String", @@ -3289,6 +3292,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -4519,6 +4525,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -6131,6 +6140,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -8649,6 +8661,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: diff --git a/docs/dyn/compute_preview.regionInstanceTemplates.html b/docs/dyn/compute_preview.regionInstanceTemplates.html index fb9e639f1b..7aaa2076ac 100644 --- a/docs/dyn/compute_preview.regionInstanceTemplates.html +++ b/docs/dyn/compute_preview.regionInstanceTemplates.html @@ -501,6 +501,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created @@ -1581,6 +1582,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created @@ -3050,6 +3052,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created diff --git a/docs/dyn/compute_preview.regionInstances.html b/docs/dyn/compute_preview.regionInstances.html index 1207e36341..f2956ffe98 100644 --- a/docs/dyn/compute_preview.regionInstances.html +++ b/docs/dyn/compute_preview.regionInstances.html @@ -647,6 +647,7 @@

Method Details

# When enabled, the technology used defaults to # AMD SEV unless confidentialInstanceType is specified. }, + "deletionProtection": True or False, # Whether the resource should be protected against deletion. "description": "A String", # An optional text description for the instances that are created from these # properties. "disks": [ # An array of disks that are associated with the instances that are created diff --git a/docs/dyn/compute_preview.serviceAttachments.html b/docs/dyn/compute_preview.serviceAttachments.html index b584b84e1d..fcd87c7027 100644 --- a/docs/dyn/compute_preview.serviceAttachments.html +++ b/docs/dyn/compute_preview.serviceAttachments.html @@ -294,6 +294,7 @@

Method Details

"metadata": { # Metadata of the service attachment. "a_key": "A String", }, + "mode": "A String", # Optional. The connection mode of the service attachment. "name": "A String", # 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 @@ -838,6 +839,7 @@

Method Details

"metadata": { # Metadata of the service attachment. "a_key": "A String", }, + "mode": "A String", # Optional. The connection mode of the service attachment. "name": "A String", # 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 @@ -1348,6 +1350,7 @@

Method Details

"metadata": { # Metadata of the service attachment. "a_key": "A String", }, + "mode": "A String", # Optional. The connection mode of the service attachment. "name": "A String", # 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 @@ -1877,6 +1880,7 @@

Method Details

"metadata": { # Metadata of the service attachment. "a_key": "A String", }, + "mode": "A String", # Optional. The connection mode of the service attachment. "name": "A String", # 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 @@ -2070,6 +2074,7 @@

Method Details

"metadata": { # Metadata of the service attachment. "a_key": "A String", }, + "mode": "A String", # Optional. The connection mode of the service attachment. "name": "A String", # 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 diff --git a/docs/dyn/compute_v1.backendServices.html b/docs/dyn/compute_v1.backendServices.html index 7fbb6a7fb8..a17323ab08 100644 --- a/docs/dyn/compute_v1.backendServices.html +++ b/docs/dyn/compute_v1.backendServices.html @@ -1193,9 +1193,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -3257,9 +3254,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -5067,9 +5061,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -6813,9 +6804,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -8300,9 +8288,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -9733,9 +9718,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -12927,9 +12909,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # diff --git a/docs/dyn/compute_v1.regionBackendServices.html b/docs/dyn/compute_v1.regionBackendServices.html index 318b6fa77d..531507f910 100644 --- a/docs/dyn/compute_v1.regionBackendServices.html +++ b/docs/dyn/compute_v1.regionBackendServices.html @@ -1072,9 +1072,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -2865,9 +2862,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -4612,9 +4606,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -6101,9 +6092,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -7535,9 +7523,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # @@ -10423,9 +10408,6 @@

Method Details

# Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. - # - HA_CONTROLLER: The Backend Service is managed by a High Availability - # Controller. Failover and leader election are exclusively managed by the - # HA Controller service. # # # diff --git a/googleapiclient/discovery_cache/documents/compute.beta.json b/googleapiclient/discovery_cache/documents/compute.beta.json index 12e5483c3d..965d106b0d 100644 --- a/googleapiclient/discovery_cache/documents/compute.beta.json +++ b/googleapiclient/discovery_cache/documents/compute.beta.json @@ -54397,7 +54397,7 @@ } } }, -"revision": "20261026", +"revision": "20261106", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -59093,7 +59093,7 @@ false "id": "BackendServiceHAPolicy", "properties": { "fastIPMove": { -"description": "Specifies whether fast IP move is enabled, and if so, the mechanism to\nachieve it.\n\nSupported values are:\n \n - DISABLED: Fast IP Move is disabled. You can only use the\n haPolicy.leader API to update the leader.\n - >GARP_RA: Provides a method to very quickly define a new network\n endpoint as the leader. This method is faster than updating the leader\n using the haPolicy.leader API. Fast IP move works as follows: The VM\n hosting the network endpoint that should become the new leader sends\n either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router\n Advertisement(RA) packet (IPv6). Google Cloud immediately but\n temporarily associates the forwarding rule IP address with that VM, and\n both new and in-flight packets are quickly delivered to that VM.\n - HA_CONTROLLER: The Backend Service is managed by a High Availability\n Controller. Failover and leader election are exclusively managed by the\n HA Controller service.\n\n\n\nNote the important properties of the Fast IP Move functionality:\n \n - The GARP/RA-initiated re-routing stays active for approximately 20\n minutes. After triggering fast failover, you must also\n appropriately set the haPolicy.leader.\n - The new leader instance should continue to send GARP/RA packets\n periodically every 10 seconds until at least 10 minutes after updating\n the haPolicy.leader (but stop immediately if it is no longer the leader).\n - After triggering a fast failover, we recommend that you wait at least\n 3 seconds before sending another GARP/RA packet from a different VM\n instance to avoid race conditions.\n - Don't send GARP/RA packets from different VM\n instances at the same time. If multiple instances continue to send\n GARP/RA packets, traffic might be routed to different destinations in an\n alternating order. This condition ceases when a single instance\n issues a GARP/RA packet.\n - The GARP/RA request always takes priority over the leader API.\n Using the haPolicy.leader API to change the leader to a different\n instance will have no effect until the GARP/RA request becomes\n inactive.\n - The GARP/RA packets should follow the GARP/RA\n Packet Specifications..\n - When multiple forwarding rules refer to a regional backend service,\n you need only send a GARP or RA packet for a single forwarding rule\n virtual IP. The virtual IPs for all forwarding rules targeting the same\n backend service will also be moved to the sender of the GARP or RA\n packet. \n\n\n\nThe following are the Fast IP Move limitations (that is, when fastIPMove\nis not DISABLED):\n \n - Multiple forwarding rules cannot use the same IP address if one of\n them refers to a regional backend service with fastIPMove.\n - The regional backend service must set the network field, and all\n NEGs must belong to that network. However, individual\n NEGs can belong to different subnetworks of that network. \n - The maximum number of network endpoints across all backends of a\n backend service with fastIPMove is 32.\n - The maximum number of backend services with fastIPMove that can have\n the same network endpoint attached to one of its backends is 64.\n - The maximum number of backend services with fastIPMove in a VPC in a\n region is 64.\n - The network endpoints that are attached to a backend of a backend\n service with fastIPMove cannot resolve to Gen3+ machines for IPv6.\n - Traffic directed to the leader by a static route next hop will not be\n redirected to a new leader by fast failover. Such traffic will only be\n redirected once an haPolicy.leader update has taken effect. Only traffic\n to the forwarding rule's virtual IP will be redirected to a new leader by\n fast failover.\n\n\nhaPolicy.fastIPMove can be set only at backend service creation time.\nOnce set, it cannot be updated.\n\nBy default, fastIpMove is set to DISABLED.", +"description": "Specifies whether fast IP move is enabled, and if so, the mechanism to\nachieve it.\n\nSupported values are:\n \n - DISABLED: Fast IP Move is disabled. You can only use the\n haPolicy.leader API to update the leader.\n - >GARP_RA: Provides a method to very quickly define a new network\n endpoint as the leader. This method is faster than updating the leader\n using the haPolicy.leader API. Fast IP move works as follows: The VM\n hosting the network endpoint that should become the new leader sends\n either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router\n Advertisement(RA) packet (IPv6). Google Cloud immediately but\n temporarily associates the forwarding rule IP address with that VM, and\n both new and in-flight packets are quickly delivered to that VM.\n\n\n\nNote the important properties of the Fast IP Move functionality:\n \n - The GARP/RA-initiated re-routing stays active for approximately 20\n minutes. After triggering fast failover, you must also\n appropriately set the haPolicy.leader.\n - The new leader instance should continue to send GARP/RA packets\n periodically every 10 seconds until at least 10 minutes after updating\n the haPolicy.leader (but stop immediately if it is no longer the leader).\n - After triggering a fast failover, we recommend that you wait at least\n 3 seconds before sending another GARP/RA packet from a different VM\n instance to avoid race conditions.\n - Don't send GARP/RA packets from different VM\n instances at the same time. If multiple instances continue to send\n GARP/RA packets, traffic might be routed to different destinations in an\n alternating order. This condition ceases when a single instance\n issues a GARP/RA packet.\n - The GARP/RA request always takes priority over the leader API.\n Using the haPolicy.leader API to change the leader to a different\n instance will have no effect until the GARP/RA request becomes\n inactive.\n - The GARP/RA packets should follow the GARP/RA\n Packet Specifications..\n - When multiple forwarding rules refer to a regional backend service,\n you need only send a GARP or RA packet for a single forwarding rule\n virtual IP. The virtual IPs for all forwarding rules targeting the same\n backend service will also be moved to the sender of the GARP or RA\n packet. \n\n\n\nThe following are the Fast IP Move limitations (that is, when fastIPMove\nis not DISABLED):\n \n - Multiple forwarding rules cannot use the same IP address if one of\n them refers to a regional backend service with fastIPMove.\n - The regional backend service must set the network field, and all\n NEGs must belong to that network. However, individual\n NEGs can belong to different subnetworks of that network. \n - The maximum number of network endpoints across all backends of a\n backend service with fastIPMove is 32.\n - The maximum number of backend services with fastIPMove that can have\n the same network endpoint attached to one of its backends is 64.\n - The maximum number of backend services with fastIPMove in a VPC in a\n region is 64.\n - The network endpoints that are attached to a backend of a backend\n service with fastIPMove cannot resolve to Gen3+ machines for IPv6.\n - Traffic directed to the leader by a static route next hop will not be\n redirected to a new leader by fast failover. Such traffic will only be\n redirected once an haPolicy.leader update has taken effect. Only traffic\n to the forwarding rule's virtual IP will be redirected to a new leader by\n fast failover.\n\n\nhaPolicy.fastIPMove can be set only at backend service creation time.\nOnce set, it cannot be updated.\n\nBy default, fastIpMove is set to DISABLED.", "enum": [ "DISABLED", "GARP_RA" diff --git a/googleapiclient/discovery_cache/documents/compute.preview.json b/googleapiclient/discovery_cache/documents/compute.preview.json index 688f77a6c0..49c0acef76 100644 --- a/googleapiclient/discovery_cache/documents/compute.preview.json +++ b/googleapiclient/discovery_cache/documents/compute.preview.json @@ -52781,7 +52781,7 @@ } } }, -"revision": "20261026", +"revision": "20261106", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -54810,7 +54810,9 @@ false "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_TPU7X" +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU8T", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU8T_METAL" ], "enumDescriptions": [ "", @@ -54820,6 +54822,8 @@ false "", "", "", +"", +"", "" ], "type": "string" @@ -57430,6 +57434,10 @@ false "description": "The URL of the network to which this backend service belongs.\n\nThis field must be set for Internal Passthrough Network Load Balancers when\nthe haPolicy is enabled, and for External Passthrough Network Load\nBalancers when the haPolicy fastIpMove is enabled.\n\nThis field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled.", "type": "string" }, +"networkAttachment": { +"description": "Optional. The URL of the network attachment that this resource\nbelongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}.", +"type": "string" +}, "networkPassThroughLbTrafficPolicy": { "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", "description": "Configures traffic steering properties of internal passthrough Network\nLoad Balancers.\n\nnetworkPassThroughLbTrafficPolicy cannot be specified with haPolicy." @@ -57506,6 +57514,10 @@ false }, "type": "array" }, +"serviceClassId": { +"description": "Optional. The service class ID associated with this resource.\nProducer Service's Service class ID for the region of this backend\nservice. Can only be used with network_attachment. It is not possible to\nuse on its own; however, network_attachment can be used without\nservice_class_id.", +"type": "string" +}, "serviceLbPolicy": { "description": "URL to networkservices.ServiceLbPolicy resource.\n\nCan only be set if load balancing scheme is EXTERNAL_MANAGED,\nINTERNAL_MANAGED or INTERNAL_SELF_MANAGED for a global backend service, and\nEXTERNAL_MANAGED or INTERNAL_MANAGED for a regional backend service. For a\nglobal backend service, the service lb policy must be global. For a\nregional backend service, the service lb policy must be regional and in the\nsame region.", "type": "string" @@ -64569,11 +64581,13 @@ false "policyType": { "description": "The type of the firewall policy. This field can be one of\nVPC_POLICY, RDMA_ROCE_POLICY or ULL_POLICY.\n\nNote: if not specified then VPC_POLICY will be used.", "enum": [ +"NCC_GATEWAY_POLICY", "RDMA_ROCE_POLICY", "ULL_POLICY", "VPC_POLICY" ], "enumDescriptions": [ +"A NCC Gateway firewall policy.", "", "", "" @@ -65667,6 +65681,10 @@ false "description": "This field is not used for global external load balancing.\n\nFor internal passthrough Network Load Balancers, this field identifies the\nnetwork that the load balanced IP should belong to for this forwarding\nrule.\nIf the subnetwork is specified, the network of the subnetwork will be used.\nIf neither subnetwork nor this field is specified, the default network will\nbe used.\n\nFor Private Service Connect forwarding rules that forward traffic to Google\nAPIs, a network must be provided.", "type": "string" }, +"networkAttachment": { +"description": "Optional. The URL of the network attachment that this resource\nbelongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}.", +"type": "string" +}, "networkTier": { "description": "This signifies the networking tier used for configuring\nthis load balancer and can only take the following values:PREMIUM, STANDARD.\n\nFor regional ForwardingRule, the valid values are PREMIUM andSTANDARD. For GlobalForwardingRule, the valid value isPREMIUM.\n\nIf this field is not specified, it is assumed to be PREMIUM.\nIf IPAddress is specified, this value must be equal to the\nnetworkTier of the Address.", "enum": [ @@ -65737,6 +65755,10 @@ false "readOnly": true, "type": "string" }, +"serviceClassId": { +"description": "Optional. Producer Service's Service class ID for the region of this forwarding rule.\nCan only be used with network_attachment. It is not possible to use on its\nown; however, network_attachment can be used without service_class_id.", +"type": "string" +}, "serviceDirectoryRegistrations": { "description": "Service Directory resources to register this forwarding rule with.\nCurrently, only supports a single Service Directory resource.", "items": { @@ -67400,7 +67422,9 @@ false "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_TPU7X" +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU8T", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU8T_METAL" ], "enumDescriptions": [ "", @@ -67410,6 +67434,8 @@ false "", "", "", +"", +"", "" ], "type": "string" @@ -76640,6 +76666,27 @@ false "InstanceGroupManagerUpdatePolicy": { "id": "InstanceGroupManagerUpdatePolicy", "properties": { +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "instanceRedistributionType": { "description": "The \ninstance redistribution policy for regional managed instance groups.\nValid values are: \n \n - PROACTIVE (default): The group attempts to maintain an\n even distribution of VM instances across zones in the region.\n - NONE: For non-autoscaled groups, proactive\n redistribution is disabled.", "enum": [ @@ -76666,13 +76713,15 @@ false "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" }, @@ -76682,13 +76731,15 @@ false "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" }, @@ -76758,6 +76809,27 @@ false "description": "Flag to update all instances instead of specified list of \"instances\".\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "instances": { "description": "The list of URLs of one or more instances for which you want to apply\nupdates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -76771,13 +76843,15 @@ false "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" }, @@ -76787,13 +76861,15 @@ false "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" } @@ -78104,6 +78180,10 @@ false "$ref": "ConfidentialInstanceConfig", "description": "Specifies the Confidential Instance options.\nNote that for MachineImage, this is not supported yet." }, +"deletionProtection": { +"description": "Whether the resource should be protected against deletion.", +"type": "boolean" +}, "description": { "description": "An optional text description for the instances that are created from these\nproperties.", "type": "string" @@ -90025,11 +90105,13 @@ false "firewallPolicyTypes": { "items": { "enum": [ +"NCC_GATEWAY_POLICY", "RDMA_ROCE_POLICY", "ULL_POLICY", "VPC_POLICY" ], "enumDescriptions": [ +"A NCC Gateway firewall policy.", "", "", "" @@ -98233,6 +98315,27 @@ false "description": "Flag to update all instances instead of specified list of \"instances\".\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "instances": { "description": "The list of URLs of one or more instances for which you want to apply\nupdates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -98246,13 +98349,15 @@ false "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" }, @@ -98262,13 +98367,15 @@ false "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" } @@ -108169,6 +108276,20 @@ false "description": "Metadata of the service attachment.", "type": "object" }, +"mode": { +"description": "Optional. The connection mode of the service attachment.", +"enum": [ +"DIRECT", +"MODE_UNSPECIFIED", +"NAT" +], +"enumDescriptions": [ +"The service attachment does not use NAT subnets to create connections.", +"Default value. The service attachment defaults to NAT mode.", +"The service attachment uses NAT subnets to create connections." +], +"type": "string" +}, "name": { "annotations": { "required": [ diff --git a/googleapiclient/discovery_cache/documents/compute.v1.json b/googleapiclient/discovery_cache/documents/compute.v1.json index 909999e96a..b4d4b97c2b 100644 --- a/googleapiclient/discovery_cache/documents/compute.v1.json +++ b/googleapiclient/discovery_cache/documents/compute.v1.json @@ -49517,7 +49517,7 @@ } } }, -"revision": "20261026", +"revision": "20261106", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -54135,7 +54135,7 @@ false "id": "BackendServiceHAPolicy", "properties": { "fastIPMove": { -"description": "Specifies whether fast IP move is enabled, and if so, the mechanism to\nachieve it.\n\nSupported values are:\n \n - DISABLED: Fast IP Move is disabled. You can only use the\n haPolicy.leader API to update the leader.\n - >GARP_RA: Provides a method to very quickly define a new network\n endpoint as the leader. This method is faster than updating the leader\n using the haPolicy.leader API. Fast IP move works as follows: The VM\n hosting the network endpoint that should become the new leader sends\n either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router\n Advertisement(RA) packet (IPv6). Google Cloud immediately but\n temporarily associates the forwarding rule IP address with that VM, and\n both new and in-flight packets are quickly delivered to that VM.\n - HA_CONTROLLER: The Backend Service is managed by a High Availability\n Controller. Failover and leader election are exclusively managed by the\n HA Controller service.\n\n\n\nNote the important properties of the Fast IP Move functionality:\n \n - The GARP/RA-initiated re-routing stays active for approximately 20\n minutes. After triggering fast failover, you must also\n appropriately set the haPolicy.leader.\n - The new leader instance should continue to send GARP/RA packets\n periodically every 10 seconds until at least 10 minutes after updating\n the haPolicy.leader (but stop immediately if it is no longer the leader).\n - After triggering a fast failover, we recommend that you wait at least\n 3 seconds before sending another GARP/RA packet from a different VM\n instance to avoid race conditions.\n - Don't send GARP/RA packets from different VM\n instances at the same time. If multiple instances continue to send\n GARP/RA packets, traffic might be routed to different destinations in an\n alternating order. This condition ceases when a single instance\n issues a GARP/RA packet.\n - The GARP/RA request always takes priority over the leader API.\n Using the haPolicy.leader API to change the leader to a different\n instance will have no effect until the GARP/RA request becomes\n inactive.\n - The GARP/RA packets should follow the GARP/RA\n Packet Specifications..\n - When multiple forwarding rules refer to a regional backend service,\n you need only send a GARP or RA packet for a single forwarding rule\n virtual IP. The virtual IPs for all forwarding rules targeting the same\n backend service will also be moved to the sender of the GARP or RA\n packet. \n\n\n\nThe following are the Fast IP Move limitations (that is, when fastIPMove\nis not DISABLED):\n \n - Multiple forwarding rules cannot use the same IP address if one of\n them refers to a regional backend service with fastIPMove.\n - The regional backend service must set the network field, and all\n NEGs must belong to that network. However, individual\n NEGs can belong to different subnetworks of that network. \n - The maximum number of network endpoints across all backends of a\n backend service with fastIPMove is 32.\n - The maximum number of backend services with fastIPMove that can have\n the same network endpoint attached to one of its backends is 64.\n - The maximum number of backend services with fastIPMove in a VPC in a\n region is 64.\n - The network endpoints that are attached to a backend of a backend\n service with fastIPMove cannot resolve to Gen3+ machines for IPv6.\n - Traffic directed to the leader by a static route next hop will not be\n redirected to a new leader by fast failover. Such traffic will only be\n redirected once an haPolicy.leader update has taken effect. Only traffic\n to the forwarding rule's virtual IP will be redirected to a new leader by\n fast failover.\n\n\nhaPolicy.fastIPMove can be set only at backend service creation time.\nOnce set, it cannot be updated.\n\nBy default, fastIpMove is set to DISABLED.", +"description": "Specifies whether fast IP move is enabled, and if so, the mechanism to\nachieve it.\n\nSupported values are:\n \n - DISABLED: Fast IP Move is disabled. You can only use the\n haPolicy.leader API to update the leader.\n - >GARP_RA: Provides a method to very quickly define a new network\n endpoint as the leader. This method is faster than updating the leader\n using the haPolicy.leader API. Fast IP move works as follows: The VM\n hosting the network endpoint that should become the new leader sends\n either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router\n Advertisement(RA) packet (IPv6). Google Cloud immediately but\n temporarily associates the forwarding rule IP address with that VM, and\n both new and in-flight packets are quickly delivered to that VM.\n\n\n\nNote the important properties of the Fast IP Move functionality:\n \n - The GARP/RA-initiated re-routing stays active for approximately 20\n minutes. After triggering fast failover, you must also\n appropriately set the haPolicy.leader.\n - The new leader instance should continue to send GARP/RA packets\n periodically every 10 seconds until at least 10 minutes after updating\n the haPolicy.leader (but stop immediately if it is no longer the leader).\n - After triggering a fast failover, we recommend that you wait at least\n 3 seconds before sending another GARP/RA packet from a different VM\n instance to avoid race conditions.\n - Don't send GARP/RA packets from different VM\n instances at the same time. If multiple instances continue to send\n GARP/RA packets, traffic might be routed to different destinations in an\n alternating order. This condition ceases when a single instance\n issues a GARP/RA packet.\n - The GARP/RA request always takes priority over the leader API.\n Using the haPolicy.leader API to change the leader to a different\n instance will have no effect until the GARP/RA request becomes\n inactive.\n - The GARP/RA packets should follow the GARP/RA\n Packet Specifications..\n - When multiple forwarding rules refer to a regional backend service,\n you need only send a GARP or RA packet for a single forwarding rule\n virtual IP. The virtual IPs for all forwarding rules targeting the same\n backend service will also be moved to the sender of the GARP or RA\n packet. \n\n\n\nThe following are the Fast IP Move limitations (that is, when fastIPMove\nis not DISABLED):\n \n - Multiple forwarding rules cannot use the same IP address if one of\n them refers to a regional backend service with fastIPMove.\n - The regional backend service must set the network field, and all\n NEGs must belong to that network. However, individual\n NEGs can belong to different subnetworks of that network. \n - The maximum number of network endpoints across all backends of a\n backend service with fastIPMove is 32.\n - The maximum number of backend services with fastIPMove that can have\n the same network endpoint attached to one of its backends is 64.\n - The maximum number of backend services with fastIPMove in a VPC in a\n region is 64.\n - The network endpoints that are attached to a backend of a backend\n service with fastIPMove cannot resolve to Gen3+ machines for IPv6.\n - Traffic directed to the leader by a static route next hop will not be\n redirected to a new leader by fast failover. Such traffic will only be\n redirected once an haPolicy.leader update has taken effect. Only traffic\n to the forwarding rule's virtual IP will be redirected to a new leader by\n fast failover.\n\n\nhaPolicy.fastIPMove can be set only at backend service creation time.\nOnce set, it cannot be updated.\n\nBy default, fastIpMove is set to DISABLED.", "enum": [ "DISABLED", "GARP_RA" From 4260f60618fac38000c8a60e763a0344d2fb3f67 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:25 +0000 Subject: [PATCH 21/57] feat(contactcenterinsights): update the api #### contactcenterinsights:v1 The following keys were deleted: - resources.projects.resources.locations.resources.dashboards.resources.charts.methods.create (Total Keys: 14) - resources.projects.resources.locations.resources.dashboards.resources.charts.methods.delete (Total Keys: 11) - resources.projects.resources.locations.resources.dashboards.resources.charts.methods.get (Total Keys: 11) - resources.projects.resources.locations.resources.dashboards.resources.charts.methods.list (Total Keys: 11) - resources.projects.resources.locations.resources.dashboards.resources.charts.methods.patch (Total Keys: 15) - schemas.GoogleCloudContactcenterinsightsV1ListChartsResponse (Total Keys: 5) --- ...ghts_v1.projects.locations.dashboards.html | 5 - .../documents/contactcenterinsights.v1.json | 168 +----------------- 2 files changed, 1 insertion(+), 172 deletions(-) diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.html b/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.html index 63ac5c4846..dbdd4e699f 100644 --- a/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.html +++ b/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.html @@ -74,11 +74,6 @@

Contact Center AI Insights API . projects . locations . dashboards

Instance Methods

-

- charts() -

-

Returns the charts Resource.

-

close()

Close httplib2 connections.

diff --git a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json index 0af55efe63..aefce12068 100644 --- a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json +++ b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json @@ -3580,154 +3580,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] } -}, -"resources": { -"charts": { -"methods": { -"create": { -"description": "Creates a Chart.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dashboards/{dashboardsId}/charts", -"httpMethod": "POST", -"id": "contactcenterinsights.projects.locations.dashboards.charts.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"chartId": { -"description": "Optional. A unique ID for the new Chart. This ID will become the final component of the Chart's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The parent resource of the chart.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dashboards/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/charts", -"request": { -"$ref": "GoogleCloudContactcenterinsightsV1Chart" -}, -"response": { -"$ref": "GoogleCloudContactcenterinsightsV1Chart" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a Chart.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dashboards/{dashboardsId}/charts/{chartsId}", -"httpMethod": "DELETE", -"id": "contactcenterinsights.projects.locations.dashboards.charts.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the chart to delete.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dashboards/[^/]+/charts/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets a Chart.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dashboards/{dashboardsId}/charts/{chartsId}", -"httpMethod": "GET", -"id": "contactcenterinsights.projects.locations.dashboards.charts.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the chart to get.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dashboards/[^/]+/charts/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "GoogleCloudContactcenterinsightsV1Chart" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists Charts.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dashboards/{dashboardsId}/charts", -"httpMethod": "GET", -"id": "contactcenterinsights.projects.locations.dashboards.charts.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The parent resource of the charts.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dashboards/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/charts", -"response": { -"$ref": "GoogleCloudContactcenterinsightsV1ListChartsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"description": "Updates a Chart.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dashboards/{dashboardsId}/charts/{chartsId}", -"httpMethod": "PATCH", -"id": "contactcenterinsights.projects.locations.dashboards.charts.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. Chart resource name. Format: projects/{project}/locations/{location}/dashboards/{dashboard}/charts/{chart}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/dashboards/[^/]+/charts/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Optional. List of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `display_name`", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+name}", -"request": { -"$ref": "GoogleCloudContactcenterinsightsV1Chart" -}, -"response": { -"$ref": "GoogleCloudContactcenterinsightsV1Chart" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} } }, "datasets": { @@ -6117,7 +5969,7 @@ } } }, -"revision": "20261029", +"revision": "20261104", "rootUrl": "https://contactcenterinsights.googleapis.com/", "schemas": { "GoogleCloudCesV1mainAgentTransfer": { @@ -11281,24 +11133,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1ListChartsResponse": { -"description": "The response of listing charts.", -"id": "GoogleCloudContactcenterinsightsV1ListChartsResponse", -"properties": { -"charts": { -"description": "The charts under the parent.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1Chart" -}, -"type": "array" -}, -"nextPageToken": { -"description": "The value returned by the last `ListChartsResponse`. This value indicates that this is a continuation of a prior `ListCharts` call and that the system should return the next page of data.", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1ListConversationsResponse": { "description": "The response of listing conversations.", "id": "GoogleCloudContactcenterinsightsV1ListConversationsResponse", From 3078c874daa1fac406c805a87ef363ba83f1a392 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:26 +0000 Subject: [PATCH 22/57] feat(container): update the api #### container:v1 The following keys were added: - schemas.EtcHostsEntry (Total Keys: 4) - schemas.KernelCommandlineOverrides (Total Keys: 4) - schemas.KernelOverrides (Total Keys: 4) - schemas.LRUGen (Total Keys: 5) - schemas.LinuxNodeConfig.properties.additionalEtcHosts (Total Keys: 2) - schemas.LinuxNodeConfig.properties.additionalEtcResolvConf (Total Keys: 2) - schemas.LinuxNodeConfig.properties.additionalEtcSystemdResolvedConf (Total Keys: 2) - schemas.LinuxNodeConfig.properties.kernelOverrides.$ref (Total Keys: 1) - schemas.LinuxNodeConfig.properties.timeZone.type (Total Keys: 1) - schemas.ResolvedConfEntry (Total Keys: 5) #### container:v1beta1 The following keys were added: - schemas.Cluster.properties.targetNodeVersion.type (Total Keys: 1) - schemas.EtcHostsEntry (Total Keys: 4) - schemas.KernelCommandlineOverrides (Total Keys: 4) - schemas.KernelOverrides (Total Keys: 4) - schemas.LRUGen (Total Keys: 5) - schemas.LinuxNodeConfig.properties.additionalEtcHosts (Total Keys: 2) - schemas.LinuxNodeConfig.properties.additionalEtcResolvConf (Total Keys: 2) - schemas.LinuxNodeConfig.properties.additionalEtcSystemdResolvedConf (Total Keys: 2) - schemas.LinuxNodeConfig.properties.kernelOverrides.$ref (Total Keys: 1) - schemas.LinuxNodeConfig.properties.timeZone.type (Total Keys: 1) - schemas.ResolvedConfEntry (Total Keys: 5) --- ...tainer_v1.projects.locations.clusters.html | 330 +++++++++++++++++ ...projects.locations.clusters.nodePools.html | 132 +++++++ .../container_v1.projects.zones.clusters.html | 330 +++++++++++++++++ ..._v1.projects.zones.clusters.nodePools.html | 132 +++++++ ...r_v1beta1.projects.locations.clusters.html | 333 ++++++++++++++++++ ...projects.locations.clusters.nodePools.html | 132 +++++++ ...ainer_v1beta1.projects.zones.clusters.html | 333 ++++++++++++++++++ ...ta1.projects.zones.clusters.nodePools.html | 132 +++++++ .../documents/container.v1.json | 126 ++++++- .../documents/container.v1beta1.json | 130 ++++++- 10 files changed, 2108 insertions(+), 2 deletions(-) diff --git a/docs/dyn/container_v1.projects.locations.clusters.html b/docs/dyn/container_v1.projects.locations.clusters.html index d042b79adf..286daa108f 100644 --- a/docs/dyn/container_v1.projects.locations.clusters.html +++ b/docs/dyn/container_v1.projects.locations.clusters.html @@ -1026,6 +1026,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1045,6 +1067,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1071,6 +1103,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1175,6 +1208,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1194,6 +1249,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1220,6 +1285,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1638,6 +1704,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1657,6 +1745,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1683,6 +1781,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -2882,6 +2981,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -2901,6 +3022,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -2927,6 +3058,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3031,6 +3163,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3050,6 +3204,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3076,6 +3240,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3494,6 +3659,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3513,6 +3700,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3539,6 +3736,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -4595,6 +4793,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -4614,6 +4834,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -4640,6 +4870,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -4744,6 +4975,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -4763,6 +5016,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -4789,6 +5052,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -5207,6 +5471,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -5226,6 +5512,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -5252,6 +5548,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -7069,6 +7366,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -7088,6 +7407,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -7114,6 +7443,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, diff --git a/docs/dyn/container_v1.projects.locations.clusters.nodePools.html b/docs/dyn/container_v1.projects.locations.clusters.nodePools.html index 206b8dc1da..4092fd945a 100644 --- a/docs/dyn/container_v1.projects.locations.clusters.nodePools.html +++ b/docs/dyn/container_v1.projects.locations.clusters.nodePools.html @@ -358,6 +358,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -377,6 +399,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -403,6 +435,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1019,6 +1052,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1038,6 +1093,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1064,6 +1129,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1502,6 +1568,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1521,6 +1609,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1547,6 +1645,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -2274,6 +2373,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -2293,6 +2414,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -2319,6 +2450,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, diff --git a/docs/dyn/container_v1.projects.zones.clusters.html b/docs/dyn/container_v1.projects.zones.clusters.html index 2e91f8ab56..48e259da0c 100644 --- a/docs/dyn/container_v1.projects.zones.clusters.html +++ b/docs/dyn/container_v1.projects.zones.clusters.html @@ -1146,6 +1146,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1165,6 +1187,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1191,6 +1223,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1295,6 +1328,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1314,6 +1369,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1340,6 +1405,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1758,6 +1824,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1777,6 +1865,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1803,6 +1901,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3002,6 +3101,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3021,6 +3142,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3047,6 +3178,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3151,6 +3283,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3170,6 +3324,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3196,6 +3360,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3614,6 +3779,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3633,6 +3820,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3659,6 +3856,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -4759,6 +4957,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -4778,6 +4998,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -4804,6 +5034,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -4908,6 +5139,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -4927,6 +5180,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -4953,6 +5216,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -5371,6 +5635,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -5390,6 +5676,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -5416,6 +5712,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -7096,6 +7393,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -7115,6 +7434,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -7141,6 +7470,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, diff --git a/docs/dyn/container_v1.projects.zones.clusters.nodePools.html b/docs/dyn/container_v1.projects.zones.clusters.nodePools.html index 90f83ade4b..8d21c77308 100644 --- a/docs/dyn/container_v1.projects.zones.clusters.nodePools.html +++ b/docs/dyn/container_v1.projects.zones.clusters.nodePools.html @@ -423,6 +423,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -442,6 +464,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -468,6 +500,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1084,6 +1117,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1103,6 +1158,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1129,6 +1194,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1567,6 +1633,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1586,6 +1674,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1612,6 +1710,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -2264,6 +2363,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -2283,6 +2404,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -2309,6 +2440,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.html b/docs/dyn/container_v1beta1.projects.locations.clusters.html index 3cac27a6c6..4ea16fb34a 100644 --- a/docs/dyn/container_v1beta1.projects.locations.clusters.html +++ b/docs/dyn/container_v1beta1.projects.locations.clusters.html @@ -1064,6 +1064,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1083,6 +1105,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1109,6 +1141,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1215,6 +1248,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1234,6 +1289,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1260,6 +1325,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1701,6 +1767,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1720,6 +1808,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1746,6 +1844,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -2056,6 +2155,7 @@

Method Details

"status": "A String", # Output only. The current status of this cluster. "statusMessage": "A String", # Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name. + "targetNodeVersion": "A String", # Optional. The cluster-level default node version to be used for newly created node pools where the node version is not explicitly specified. The node version is also used to reconcile existing node pools to this version. "tpuConfig": { # Configuration for Cloud TPU. This message is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. # Configuration for Cloud TPU support; This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. "enabled": True or False, # Whether Cloud TPU integration is enabled or not. "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC. @@ -3010,6 +3110,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3029,6 +3151,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3055,6 +3187,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3161,6 +3294,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3180,6 +3335,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3206,6 +3371,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3647,6 +3813,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3666,6 +3854,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3692,6 +3890,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -4002,6 +4201,7 @@

Method Details

"status": "A String", # Output only. The current status of this cluster. "statusMessage": "A String", # Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name. + "targetNodeVersion": "A String", # Optional. The cluster-level default node version to be used for newly created node pools where the node version is not explicitly specified. The node version is also used to reconcile existing node pools to this version. "tpuConfig": { # Configuration for Cloud TPU. This message is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. # Configuration for Cloud TPU support; This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. "enabled": True or False, # Whether Cloud TPU integration is enabled or not. "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC. @@ -4813,6 +5013,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -4832,6 +5054,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -4858,6 +5090,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -4964,6 +5197,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -4983,6 +5238,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -5009,6 +5274,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -5450,6 +5716,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -5469,6 +5757,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -5495,6 +5793,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -5805,6 +6104,7 @@

Method Details

"status": "A String", # Output only. The current status of this cluster. "statusMessage": "A String", # Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name. + "targetNodeVersion": "A String", # Optional. The cluster-level default node version to be used for newly created node pools where the node version is not explicitly specified. The node version is also used to reconcile existing node pools to this version. "tpuConfig": { # Configuration for Cloud TPU. This message is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. # Configuration for Cloud TPU support; This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. "enabled": True or False, # Whether Cloud TPU integration is enabled or not. "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC. @@ -7375,6 +7675,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -7394,6 +7716,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -7420,6 +7752,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html b/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html index feed7564a6..0e9e0f3e4a 100644 --- a/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html +++ b/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html @@ -370,6 +370,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -389,6 +411,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -415,6 +447,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1047,6 +1080,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1066,6 +1121,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1092,6 +1157,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1546,6 +1612,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1565,6 +1653,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1591,6 +1689,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -2323,6 +2422,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -2342,6 +2463,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -2368,6 +2499,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html index c672721157..34fe27c914 100644 --- a/docs/dyn/container_v1beta1.projects.zones.clusters.html +++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html @@ -1191,6 +1191,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1210,6 +1232,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1236,6 +1268,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1342,6 +1375,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1361,6 +1416,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1387,6 +1452,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1828,6 +1894,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1847,6 +1935,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1873,6 +1971,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -2183,6 +2282,7 @@

Method Details

"status": "A String", # Output only. The current status of this cluster. "statusMessage": "A String", # Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name. + "targetNodeVersion": "A String", # Optional. The cluster-level default node version to be used for newly created node pools where the node version is not explicitly specified. The node version is also used to reconcile existing node pools to this version. "tpuConfig": { # Configuration for Cloud TPU. This message is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. # Configuration for Cloud TPU support; This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. "enabled": True or False, # Whether Cloud TPU integration is enabled or not. "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC. @@ -3137,6 +3237,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3156,6 +3278,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3182,6 +3314,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3288,6 +3421,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3307,6 +3462,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3333,6 +3498,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -3774,6 +3940,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -3793,6 +3981,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -3819,6 +4017,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -4129,6 +4328,7 @@

Method Details

"status": "A String", # Output only. The current status of this cluster. "statusMessage": "A String", # Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name. + "targetNodeVersion": "A String", # Optional. The cluster-level default node version to be used for newly created node pools where the node version is not explicitly specified. The node version is also used to reconcile existing node pools to this version. "tpuConfig": { # Configuration for Cloud TPU. This message is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. # Configuration for Cloud TPU support; This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. "enabled": True or False, # Whether Cloud TPU integration is enabled or not. "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC. @@ -4984,6 +5184,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -5003,6 +5225,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -5029,6 +5261,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -5135,6 +5368,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -5154,6 +5409,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -5180,6 +5445,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -5621,6 +5887,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -5640,6 +5928,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -5666,6 +5964,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -5976,6 +6275,7 @@

Method Details

"status": "A String", # Output only. The current status of this cluster. "statusMessage": "A String", # Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name. + "targetNodeVersion": "A String", # Optional. The cluster-level default node version to be used for newly created node pools where the node version is not explicitly specified. The node version is also used to reconcile existing node pools to this version. "tpuConfig": { # Configuration for Cloud TPU. This message is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. # Configuration for Cloud TPU support; This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. "enabled": True or False, # Whether Cloud TPU integration is enabled or not. "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC. @@ -7402,6 +7702,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -7421,6 +7743,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -7447,6 +7779,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html b/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html index 6758289a71..57751ff85f 100644 --- a/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html +++ b/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html @@ -435,6 +435,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -454,6 +476,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -480,6 +512,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1112,6 +1145,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1131,6 +1186,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1157,6 +1222,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -1611,6 +1677,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -1630,6 +1718,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -1656,6 +1754,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, @@ -2313,6 +2412,28 @@

Method Details

"accurateTimeConfig": { # AccurateTimeConfig contains configuration for the accurate time synchronization feature. # Optional. The accurate time configuration for the node pool. "enablePtpKvmTimeSync": True or False, # Enables enhanced time synchronization using PTP-KVM. }, + "additionalEtcHosts": [ # Optional. Additional entries to be added to /etc/hosts. + { # Additional entries to be added to /etc/hosts. + "host": "A String", # The hostname of the host. + "ip": "A String", # The IPv4 or IPv6 address of the host. + }, + ], + "additionalEtcResolvConf": [ # Optional. Additional entries to be added to /etc/resolv.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], + "additionalEtcSystemdResolvedConf": [ # Optional. Additional entries to be added to /etc/systemd/resolved.conf. + { # Additional entries to be added to resolved.conf. + "key": "A String", # The key of resolved.conf + "value": [ # Optional. The value of resolved.conf + "A String", + ], + }, + ], "cgroupMode": "A String", # cgroup_mode specifies the cgroup mode to be used on the node. "customNodeInit": { # Support for running custom init code while bootstrapping nodes. # Optional. Allow users to run arbitrary bash script or container on the node. "initScript": { # InitScript provide a simply bash script to be executed on the node. # Optional. The init script to be executed on the node. @@ -2332,6 +2453,16 @@

Method Details

"hugepageSize1g": 42, # Optional. Amount of 1G hugepages "hugepageSize2m": 42, # Optional. Amount of 2M hugepages }, + "kernelOverrides": { # Parameters that can be configured on the kernel. # Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields. + "kernelCommandlineOverrides": { # Definition of possible additional kernel command line arguments to be configured to the kernel. # Optional. Allow setting for optional kernel command line arguments overrides. + "initOnAlloc": "A String", # Optional. Defines the change of init_on_alloc. + "specRstackOverflow": "A String", # Optional. Defines the change of spec_rstack_overflow. + }, + "lruGen": { # lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html # Optional. lrugen (Multi-Gen LRU) options + "enabled": True or False, # Optional. Enable lrugen. + "minTtlMs": 42, # Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted. + }, + }, "nodeKernelModuleLoading": { # Configuration for kernel module loading on nodes. # Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification. "policy": "A String", # Set the node module loading policy for nodes in the node pool. }, @@ -2358,6 +2489,7 @@

Method Details

"sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, + "timeZone": "A String", # Optional. Configures the timezone of the node. "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. "transparentHugepageEnabled": "A String", # Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. }, diff --git a/googleapiclient/discovery_cache/documents/container.v1.json b/googleapiclient/discovery_cache/documents/container.v1.json index e822f0a9d9..deaef52b5e 100644 --- a/googleapiclient/discovery_cache/documents/container.v1.json +++ b/googleapiclient/discovery_cache/documents/container.v1.json @@ -2811,7 +2811,7 @@ } } }, -"revision": "20261021", +"revision": "20261027", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -5470,6 +5470,21 @@ }, "type": "object" }, +"EtcHostsEntry": { +"description": "Additional entries to be added to /etc/hosts.", +"id": "EtcHostsEntry", +"properties": { +"host": { +"description": "The hostname of the host.", +"type": "string" +}, +"ip": { +"description": "The IPv4 or IPv6 address of the host.", +"type": "string" +} +}, +"type": "object" +}, "EvictionGracePeriod": { "description": "Eviction grace periods are grace periods for each eviction signal.", "id": "EvictionGracePeriod", @@ -6334,6 +6349,52 @@ false }, "type": "object" }, +"KernelCommandlineOverrides": { +"description": "Definition of possible additional kernel command line arguments to be configured to the kernel.", +"id": "KernelCommandlineOverrides", +"properties": { +"initOnAlloc": { +"description": "Optional. Defines the change of init_on_alloc.", +"enum": [ +"INIT_ON_ALLOC_UNSPECIFIED", +"INIT_ON_ALLOC_OFF" +], +"enumDescriptions": [ +"Default value. GKE will not modify the kernel configuration.", +"Disable init_on_alloc." +], +"type": "string" +}, +"specRstackOverflow": { +"description": "Optional. Defines the change of spec_rstack_overflow.", +"enum": [ +"SPEC_RSTACK_OVERFLOW_UNSPECIFIED", +"SPEC_RSTACK_OVERFLOW_OFF" +], +"enumDescriptions": [ +"Default value. GKE will not modify the kernel configuration.", +"Disable spec_rstack_overflow." +], +"type": "string" +} +}, +"type": "object" +}, +"KernelOverrides": { +"description": "Parameters that can be configured on the kernel.", +"id": "KernelOverrides", +"properties": { +"kernelCommandlineOverrides": { +"$ref": "KernelCommandlineOverrides", +"description": "Optional. Allow setting for optional kernel command line arguments overrides." +}, +"lruGen": { +"$ref": "LRUGen", +"description": "Optional. lrugen (Multi-Gen LRU) options" +} +}, +"type": "object" +}, "KubeletCertInfo": { "description": "Contains expiry information about the kubelet certificate.", "id": "KubeletCertInfo", @@ -6364,6 +6425,22 @@ false }, "type": "object" }, +"LRUGen": { +"description": "lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html", +"id": "LRUGen", +"properties": { +"enabled": { +"description": "Optional. Enable lrugen.", +"type": "boolean" +}, +"minTtlMs": { +"description": "Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "LegacyAbac": { "description": "Configuration for the legacy Attribute Based Access Control authorization mode.", "id": "LegacyAbac", @@ -6383,6 +6460,27 @@ false "$ref": "AccurateTimeConfig", "description": "Optional. The accurate time configuration for the node pool." }, +"additionalEtcHosts": { +"description": "Optional. Additional entries to be added to /etc/hosts.", +"items": { +"$ref": "EtcHostsEntry" +}, +"type": "array" +}, +"additionalEtcResolvConf": { +"description": "Optional. Additional entries to be added to /etc/resolv.conf.", +"items": { +"$ref": "ResolvedConfEntry" +}, +"type": "array" +}, +"additionalEtcSystemdResolvedConf": { +"description": "Optional. Additional entries to be added to /etc/systemd/resolved.conf.", +"items": { +"$ref": "ResolvedConfEntry" +}, +"type": "array" +}, "cgroupMode": { "description": "cgroup_mode specifies the cgroup mode to be used on the node.", "enum": [ @@ -6409,6 +6507,10 @@ false "$ref": "HugepagesConfig", "description": "Optional. Amounts for 2M and 1G hugepages" }, +"kernelOverrides": { +"$ref": "KernelOverrides", +"description": "Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields." +}, "nodeKernelModuleLoading": { "$ref": "NodeKernelModuleLoading", "description": "Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification." @@ -6428,6 +6530,10 @@ false "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", "type": "object" }, +"timeZone": { +"description": "Optional. Configures the timezone of the node.", +"type": "string" +}, "transparentHugepageDefrag": { "description": "Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details.", "enum": [ @@ -8967,6 +9073,24 @@ false }, "type": "object" }, +"ResolvedConfEntry": { +"description": "Additional entries to be added to resolved.conf.", +"id": "ResolvedConfEntry", +"properties": { +"key": { +"description": "The key of resolved.conf", +"type": "string" +}, +"value": { +"description": "Optional. The value of resolved.conf", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ResourceLabels": { "description": "Collection of [Resource Manager labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).", "id": "ResourceLabels", diff --git a/googleapiclient/discovery_cache/documents/container.v1beta1.json b/googleapiclient/discovery_cache/documents/container.v1beta1.json index 74804b6f5b..d0bc75a8d7 100644 --- a/googleapiclient/discovery_cache/documents/container.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json @@ -2837,7 +2837,7 @@ } } }, -"revision": "20261021", +"revision": "20261027", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -4238,6 +4238,10 @@ "description": "The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name.", "type": "string" }, +"targetNodeVersion": { +"description": "Optional. The cluster-level default node version to be used for newly created node pools where the node version is not explicitly specified. The node version is also used to reconcile existing node pools to this version.", +"type": "string" +}, "tpuConfig": { "$ref": "TpuConfig", "deprecated": true, @@ -5725,6 +5729,21 @@ }, "type": "object" }, +"EtcHostsEntry": { +"description": "Additional entries to be added to /etc/hosts.", +"id": "EtcHostsEntry", +"properties": { +"host": { +"description": "The hostname of the host.", +"type": "string" +}, +"ip": { +"description": "The IPv4 or IPv6 address of the host.", +"type": "string" +} +}, +"type": "object" +}, "EvictionGracePeriod": { "description": "Eviction grace periods are grace periods for each eviction signal.", "id": "EvictionGracePeriod", @@ -6655,6 +6674,52 @@ false }, "type": "object" }, +"KernelCommandlineOverrides": { +"description": "Definition of possible additional kernel command line arguments to be configured to the kernel.", +"id": "KernelCommandlineOverrides", +"properties": { +"initOnAlloc": { +"description": "Optional. Defines the change of init_on_alloc.", +"enum": [ +"INIT_ON_ALLOC_UNSPECIFIED", +"INIT_ON_ALLOC_OFF" +], +"enumDescriptions": [ +"Default value. GKE will not modify the kernel configuration.", +"Disable init_on_alloc." +], +"type": "string" +}, +"specRstackOverflow": { +"description": "Optional. Defines the change of spec_rstack_overflow.", +"enum": [ +"SPEC_RSTACK_OVERFLOW_UNSPECIFIED", +"SPEC_RSTACK_OVERFLOW_OFF" +], +"enumDescriptions": [ +"Default value. GKE will not modify the kernel configuration.", +"Disable spec_rstack_overflow." +], +"type": "string" +} +}, +"type": "object" +}, +"KernelOverrides": { +"description": "Parameters that can be configured on the kernel.", +"id": "KernelOverrides", +"properties": { +"kernelCommandlineOverrides": { +"$ref": "KernelCommandlineOverrides", +"description": "Optional. Allow setting for optional kernel command line arguments overrides." +}, +"lruGen": { +"$ref": "LRUGen", +"description": "Optional. lrugen (Multi-Gen LRU) options" +} +}, +"type": "object" +}, "KubeletCertInfo": { "description": "Contains expiry information about the kubelet certificate.", "id": "KubeletCertInfo", @@ -6685,6 +6750,22 @@ false }, "type": "object" }, +"LRUGen": { +"description": "lrugen (Multi-Gen LRU) options See https://docs.kernel.org/admin-guide/mm/multigen_lru.html", +"id": "LRUGen", +"properties": { +"enabled": { +"description": "Optional. Enable lrugen.", +"type": "boolean" +}, +"minTtlMs": { +"description": "Optional. Users can write N to min_ttl_ms to prevent the working set of N milliseconds from getting evicted.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "LegacyAbac": { "description": "Configuration for the legacy Attribute Based Access Control authorization mode.", "id": "LegacyAbac", @@ -6704,6 +6785,27 @@ false "$ref": "AccurateTimeConfig", "description": "Optional. The accurate time configuration for the node pool." }, +"additionalEtcHosts": { +"description": "Optional. Additional entries to be added to /etc/hosts.", +"items": { +"$ref": "EtcHostsEntry" +}, +"type": "array" +}, +"additionalEtcResolvConf": { +"description": "Optional. Additional entries to be added to /etc/resolv.conf.", +"items": { +"$ref": "ResolvedConfEntry" +}, +"type": "array" +}, +"additionalEtcSystemdResolvedConf": { +"description": "Optional. Additional entries to be added to /etc/systemd/resolved.conf.", +"items": { +"$ref": "ResolvedConfEntry" +}, +"type": "array" +}, "cgroupMode": { "description": "cgroup_mode specifies the cgroup mode to be used on the node.", "enum": [ @@ -6730,6 +6832,10 @@ false "$ref": "HugepagesConfig", "description": "Optional. Amounts for 2M and 1G hugepages" }, +"kernelOverrides": { +"$ref": "KernelOverrides", +"description": "Optional. Defines the kernel overrides to be applied to the nodes. Note: sysctl changes are defined separately in the sysctls fields." +}, "nodeKernelModuleLoading": { "$ref": "NodeKernelModuleLoading", "description": "Optional. Configuration for kernel module loading on nodes. When enabled, the node pool will be provisioned with a Container-Optimized OS image that enforces kernel module signature verification." @@ -6749,6 +6855,10 @@ false "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", "type": "object" }, +"timeZone": { +"description": "Optional. Configures the timezone of the node.", +"type": "string" +}, "transparentHugepageDefrag": { "description": "Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details.", "enum": [ @@ -9484,6 +9594,24 @@ false }, "type": "object" }, +"ResolvedConfEntry": { +"description": "Additional entries to be added to resolved.conf.", +"id": "ResolvedConfEntry", +"properties": { +"key": { +"description": "The key of resolved.conf", +"type": "string" +}, +"value": { +"description": "Optional. The value of resolved.conf", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ResourceLabels": { "description": "Collection of [Resource Manager labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).", "id": "ResourceLabels", From 9c7fb40858435a28c4a5288a0487e6be36798f21 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:26 +0000 Subject: [PATCH 23/57] feat(datacatalog): update the api #### datacatalog:v1 The following keys were deleted: - resources.entries (Total Keys: 19) - resources.projects.resources.locations.resources.entryGroups.methods.create (Total Keys: 15) - resources.projects.resources.locations.resources.entryGroups.methods.delete (Total Keys: 14) - resources.projects.resources.locations.resources.entryGroups.methods.get (Total Keys: 28) - resources.projects.resources.locations.resources.entryGroups.methods.list (Total Keys: 17) - resources.projects.resources.locations.resources.entryGroups.methods.patch (Total Keys: 16) - resources.projects.resources.locations.resources.entryGroups.methods.setIamPolicy (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.methods.testIamPermissions (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.create (Total Keys: 15) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.delete (Total Keys: 12) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.get (Total Keys: 25) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.import (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.modifyEntryContacts (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.modifyEntryOverview (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.patch (Total Keys: 16) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.star (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.testIamPermissions (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.unstar (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.resources.tags (Total Keys: 72) - resources.projects.resources.locations.resources.entryGroups.resources.tags (Total Keys: 59) - resources.projects.resources.locations.resources.tagTemplates.methods.create (Total Keys: 15) - resources.projects.resources.locations.resources.tagTemplates.methods.delete (Total Keys: 14) - resources.projects.resources.locations.resources.tagTemplates.methods.get (Total Keys: 25) - resources.projects.resources.locations.resources.tagTemplates.methods.patch (Total Keys: 16) - resources.projects.resources.locations.resources.tagTemplates.methods.setIamPolicy (Total Keys: 13) - resources.projects.resources.locations.resources.tagTemplates.methods.testIamPermissions (Total Keys: 13) - resources.projects.resources.locations.resources.tagTemplates.resources.fields.methods.create (Total Keys: 15) - resources.projects.resources.locations.resources.tagTemplates.resources.fields.methods.delete (Total Keys: 14) - resources.projects.resources.locations.resources.tagTemplates.resources.fields.methods.patch (Total Keys: 16) - resources.projects.resources.locations.resources.tagTemplates.resources.fields.methods.rename (Total Keys: 13) - schemas.GoogleCloudDatacatalogV1EntryGroup (Total Keys: 7) - schemas.GoogleCloudDatacatalogV1FieldType (Total Keys: 3) - schemas.GoogleCloudDatacatalogV1ImportEntriesRequest (Total Keys: 4) - schemas.GoogleCloudDatacatalogV1ListEntriesResponse (Total Keys: 5) - schemas.GoogleCloudDatacatalogV1ListEntryGroupsResponse (Total Keys: 5) - schemas.GoogleCloudDatacatalogV1ListTagsResponse (Total Keys: 5) - schemas.GoogleCloudDatacatalogV1ModifyEntryContactsRequest (Total Keys: 3) - schemas.GoogleCloudDatacatalogV1ModifyEntryOverviewRequest (Total Keys: 3) - schemas.GoogleCloudDatacatalogV1StarEntryRequest (Total Keys: 2) - schemas.GoogleCloudDatacatalogV1StarEntryResponse (Total Keys: 2) - schemas.GoogleCloudDatacatalogV1TagTemplate (Total Keys: 16) - schemas.GoogleCloudDatacatalogV1UnstarEntryRequest (Total Keys: 2) - schemas.GoogleCloudDatacatalogV1UnstarEntryResponse (Total Keys: 2) #### datacatalog:v1beta1 The following keys were deleted: - resources.entries (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.methods.create (Total Keys: 15) - resources.projects.resources.locations.resources.entryGroups.methods.delete (Total Keys: 14) - resources.projects.resources.locations.resources.entryGroups.methods.get (Total Keys: 28) - resources.projects.resources.locations.resources.entryGroups.methods.list (Total Keys: 17) - resources.projects.resources.locations.resources.entryGroups.methods.patch (Total Keys: 16) - resources.projects.resources.locations.resources.entryGroups.methods.setIamPolicy (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.methods.testIamPermissions (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.create (Total Keys: 15) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.delete (Total Keys: 12) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.get (Total Keys: 25) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.list (Total Keys: 20) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.patch (Total Keys: 16) - resources.projects.resources.locations.resources.entryGroups.resources.entries.methods.testIamPermissions (Total Keys: 13) - resources.projects.resources.locations.resources.entryGroups.resources.entries.resources.tags (Total Keys: 59) - resources.projects.resources.locations.resources.entryGroups.resources.tags (Total Keys: 59) - resources.projects.resources.locations.resources.tagTemplates.methods.create (Total Keys: 15) - resources.projects.resources.locations.resources.tagTemplates.methods.delete (Total Keys: 14) - resources.projects.resources.locations.resources.tagTemplates.methods.get (Total Keys: 25) - resources.projects.resources.locations.resources.tagTemplates.methods.patch (Total Keys: 16) - resources.projects.resources.locations.resources.tagTemplates.methods.setIamPolicy (Total Keys: 13) - resources.projects.resources.locations.resources.tagTemplates.methods.testIamPermissions (Total Keys: 13) - resources.projects.resources.locations.resources.tagTemplates.resources.fields.methods.create (Total Keys: 15) - resources.projects.resources.locations.resources.tagTemplates.resources.fields.methods.delete (Total Keys: 14) - resources.projects.resources.locations.resources.tagTemplates.resources.fields.methods.patch (Total Keys: 16) - resources.projects.resources.locations.resources.tagTemplates.resources.fields.methods.rename (Total Keys: 13) - schemas.GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec (Total Keys: 9) - schemas.GoogleCloudDatacatalogV1beta1BigQueryTableSpec (Total Keys: 6) - schemas.GoogleCloudDatacatalogV1beta1ColumnSchema (Total Keys: 7) - schemas.GoogleCloudDatacatalogV1beta1Entry (Total Keys: 25) - schemas.GoogleCloudDatacatalogV1beta1FieldType (Total Keys: 3) - schemas.GoogleCloudDatacatalogV1beta1GcsFileSpec (Total Keys: 8) - schemas.GoogleCloudDatacatalogV1beta1GcsFilesetSpec (Total Keys: 7) - schemas.GoogleCloudDatacatalogV1beta1ListEntriesResponse (Total Keys: 5) - schemas.GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse (Total Keys: 5) - schemas.GoogleCloudDatacatalogV1beta1ListTagsResponse (Total Keys: 5) - schemas.GoogleCloudDatacatalogV1beta1Schema (Total Keys: 4) - schemas.GoogleCloudDatacatalogV1beta1TableSpec (Total Keys: 4) - schemas.GoogleCloudDatacatalogV1beta1Tag (Total Keys: 39) - schemas.GoogleCloudDatacatalogV1beta1UsageSignal (Total Keys: 6) - schemas.GoogleCloudDatacatalogV1beta1UsageStats (Total Keys: 10) - schemas.GoogleCloudDatacatalogV1beta1ViewSpec (Total Keys: 4) --- docs/dyn/datacatalog_v1.html | 5 - .../datacatalog_v1.projects.locations.html | 10 - docs/dyn/datacatalog_v1beta1.html | 5 - ...atacatalog_v1beta1.projects.locations.html | 10 - .../documents/datacatalog.v1.json | 1791 +--------------- .../documents/datacatalog.v1beta1.json | 1830 +---------------- 6 files changed, 80 insertions(+), 3571 deletions(-) diff --git a/docs/dyn/datacatalog_v1.html b/docs/dyn/datacatalog_v1.html index 7aedcdc9b7..01e604edd0 100644 --- a/docs/dyn/datacatalog_v1.html +++ b/docs/dyn/datacatalog_v1.html @@ -79,11 +79,6 @@

Instance Methods

Returns the catalog Resource.

-

- entries() -

-

Returns the entries Resource.

-

organizations()

diff --git a/docs/dyn/datacatalog_v1.projects.locations.html b/docs/dyn/datacatalog_v1.projects.locations.html index cb8b0ec55f..6397bfb3e1 100644 --- a/docs/dyn/datacatalog_v1.projects.locations.html +++ b/docs/dyn/datacatalog_v1.projects.locations.html @@ -74,21 +74,11 @@

Google Cloud Data Catalog API . projects . locations

Instance Methods

-

- entryGroups() -

-

Returns the entryGroups Resource.

-

operations()

Returns the operations Resource.

-

- tagTemplates() -

-

Returns the tagTemplates Resource.

-

taxonomies()

diff --git a/docs/dyn/datacatalog_v1beta1.html b/docs/dyn/datacatalog_v1beta1.html index c59fc08334..830005ba41 100644 --- a/docs/dyn/datacatalog_v1beta1.html +++ b/docs/dyn/datacatalog_v1beta1.html @@ -79,11 +79,6 @@

Instance Methods

Returns the catalog Resource.

-

- entries() -

-

Returns the entries Resource.

-

projects()

diff --git a/docs/dyn/datacatalog_v1beta1.projects.locations.html b/docs/dyn/datacatalog_v1beta1.projects.locations.html index e80b56099e..0b26db0f60 100644 --- a/docs/dyn/datacatalog_v1beta1.projects.locations.html +++ b/docs/dyn/datacatalog_v1beta1.projects.locations.html @@ -74,16 +74,6 @@

Google Cloud Data Catalog API . projects . locations

Instance Methods

-

- entryGroups() -

-

Returns the entryGroups Resource.

- -

- tagTemplates() -

-

Returns the tagTemplates Resource.

-

taxonomies()

diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1.json index f2a91c4c08..3104bb8fee 100644 --- a/googleapiclient/discovery_cache/documents/datacatalog.v1.json +++ b/googleapiclient/discovery_cache/documents/datacatalog.v1.json @@ -129,53 +129,6 @@ } } }, -"entries": { -"deprecated": true, -"methods": { -"lookup": { -"deprecated": true, -"description": "Gets an entry by its target resource name. The resource name comes from the source Google Cloud Platform service.", -"flatPath": "v1/entries:lookup", -"httpMethod": "GET", -"id": "datacatalog.entries.lookup", -"parameterOrder": [], -"parameters": { -"fullyQualifiedName": { -"description": "[Fully Qualified Name (FQN)](https://cloud.google.com//data-catalog/docs/fully-qualified-names) of the resource. FQNs take two forms: * For non-regionalized resources: `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` * For regionalized resources: `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` Example for a DPMS table: `dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}`", -"location": "query", -"type": "string" -}, -"linkedResource": { -"description": "The full name of the Google Cloud Platform resource the Data Catalog entry represents. For more information, see [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). Full names are case-sensitive. For example: * `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` * `//pubsub.googleapis.com/projects/{PROJECT_ID}/topics/{TOPIC_ID}`", -"location": "query", -"type": "string" -}, -"location": { -"description": "Location where the lookup should be performed. Required to lookup entry that is not a part of `DPMS` or `DATAPLEX` `integrated_system` using its `fully_qualified_name`. Ignored in other cases.", -"location": "query", -"type": "string" -}, -"project": { -"description": "Project where the lookup should be performed. Required to lookup entry that is not a part of `DPMS` or `DATAPLEX` `integrated_system` using its `fully_qualified_name`. Ignored in other cases.", -"location": "query", -"type": "string" -}, -"sqlResource": { -"description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.topic.{PROJECT_ID}.{TOPIC_ID}` * `pubsub.topic.{PROJECT_ID}.`\\``{TOPIC.ID.SEPARATED.WITH.DOTS}`\\` * `bigquery.table.{PROJECT_ID}.{DATASET_ID}.{TABLE_ID}` * `bigquery.dataset.{PROJECT_ID}.{DATASET_ID}` * `datacatalog.entry.{PROJECT_ID}.{LOCATION_ID}.{ENTRY_GROUP_ID}.{ENTRY_ID}` Identifiers (`*_ID`) should comply with the [Lexical structure in GoogleSQL] (https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical).", -"location": "query", -"type": "string" -} -}, -"path": "v1/entries:lookup", -"response": { -"$ref": "GoogleCloudDatacatalogV1Entry" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -}, "organizations": { "resources": { "locations": { @@ -327,66 +280,26 @@ } }, "resources": { -"entryGroups": { +"operations": { "methods": { -"create": { -"deprecated": true, -"description": "Creates an entry group. An entry group contains logically related entries together with [Cloud Identity and Access Management](/data-catalog/docs/concepts/iam) policies. These policies specify users who can create, edit, and view entries within entry groups. Data Catalog automatically creates entry groups with names that start with the `@` symbol for the following resources: * BigQuery entries (`@bigquery`) * Pub/Sub topics (`@pubsub`) * Dataproc Metastore services (`@dataproc_metastore_{SERVICE_NAME_HASH}`) You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the `@` symbol, it is reserved for automatically created groups. Entry groups, like entries, can be searched. A maximum of 10,000 entry groups may be created per organization across all locations. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups", +"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": "datacatalog.projects.locations.entryGroups.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"entryGroupId": { -"description": "Required. The ID of the entry group to create. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The names of the project and location that the new entry group belongs to. Note: The entry group itself and its child resources might not be stored in the location specified in its name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/entryGroups", -"request": { -"$ref": "GoogleCloudDatacatalogV1EntryGroup" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1EntryGroup" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes an entry group. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.entryGroups.delete", +"id": "datacatalog.projects.locations.operations.cancel", "parameterOrder": [ "name" ], "parameters": { -"force": { -"description": "Optional. If true, deletes all entries in the entry group.", -"location": "query", -"type": "boolean" -}, "name": { -"description": "Required. The name of the entry group to delete.", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1/{+name}", +"path": "v1/{+name}:cancel", "response": { "$ref": "Empty" }, @@ -394,1379 +307,103 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"get": { -"deprecated": true, -"description": "Gets an entry group.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the entry group to get.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "The fields to return. If empty or omitted, all fields are returned.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "GoogleCloudDatacatalogV1EntryGroup" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"getIamPolicy": { -"deprecated": true, -"description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.getIamPolicy", -"parameterOrder": [ -"resource" -], -"parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+resource}:getIamPolicy", -"request": { -"$ref": "GetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"deprecated": true, -"description": "Lists entry groups.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "Optional. The maximum number of items to return. Default is 10. Maximum limit is 1000. Throws an invalid argument if `page_size` is greater than 1000.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. Pagination token that specifies the next page to return. If empty, returns the first page.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the location that contains the entry groups to list. Can be provided as a URL.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/entryGroups", -"response": { -"$ref": "GoogleCloudDatacatalogV1ListEntryGroupsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates an entry group. You must enable the Data Catalog API in the project identified by the `entry_group.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.entryGroups.patch", +"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": "datacatalog.projects.locations.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Identifier. The resource name of the entry group in URL format. Note: The entry group itself and its child resources might not be stored in the location specified in its name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Names of fields whose values to overwrite on an entry group. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1EntryGroup" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1EntryGroup" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"setIamPolicy": { -"deprecated": true, -"description": "Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates - Entry groups Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.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/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+resource}:setIamPolicy", -"request": { -"$ref": "SetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"testIamPermissions": { -"deprecated": true, -"description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.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/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+resource}:testIamPermissions", -"request": { -"$ref": "TestIamPermissionsRequest" -}, -"response": { -"$ref": "TestIamPermissionsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"entries": { -"methods": { -"create": { -"deprecated": true, -"description": "Creates an entry. You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). An entry group can have a maximum of 100,000 entries.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"entryId": { -"description": "Required. The ID of the entry to create. The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores (_). The maximum size is 64 bytes when encoded in UTF-8.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the entry group this entry belongs to. Note: The entry itself and its child resources might not be stored in the location specified in its name.", +"description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/entries", -"request": { -"$ref": "GoogleCloudDatacatalogV1Entry" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1Entry" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes an existing entry. You can delete only the entries created by the CreateEntry method. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.entryGroups.entries.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the entry to delete.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"deprecated": true, -"description": "Gets an entry.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.entries.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the entry to get.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "GoogleCloudDatacatalogV1Entry" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"getIamPolicy": { -"deprecated": true, -"description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy", -"parameterOrder": [ -"resource" -], -"parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+resource}:getIamPolicy", -"request": { -"$ref": "GetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"import": { -"deprecated": true, -"description": "Imports entries from a source, such as data previously dumped into a Cloud Storage bucket, into Data Catalog. Import of entries is a sync operation that reconciles the state of the third-party system with the Data Catalog. `ImportEntries` accepts source data snapshots of a third-party system. Snapshot should be delivered as a .wire or base65-encoded .txt file containing a sequence of Protocol Buffer messages of DumpItem type. `ImportEntries` returns a long-running operation resource that can be queried with Operations.GetOperation to return ImportEntriesMetadata and an ImportEntriesResponse message.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries:import", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.import", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. Target entry group for ingested entries.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/entries:import", -"request": { -"$ref": "GoogleCloudDatacatalogV1ImportEntriesRequest" -}, -"response": { -"$ref": "Operation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"deprecated": true, -"description": "Lists entries. Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.entries.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "The maximum number of items to return. Default is 10. Maximum limit is 1000. Throws an invalid argument if `page_size` is more than 1000.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Pagination token that specifies the next page to return. If empty, the first page is returned.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the entry group that contains the entries to list. Can be provided in URL format.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "The fields to return for each entry. If empty or omitted, all fields are returned. For example, to return a list of entries with only the `name` field, set `read_mask` to only one path with the `name` value.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+parent}/entries", -"response": { -"$ref": "GoogleCloudDatacatalogV1ListEntriesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"modifyEntryContacts": { -"deprecated": true, -"description": "Modifies contacts, part of the business context of an Entry. To call this method, you must have the `datacatalog.entries.updateContacts` IAM permission on the corresponding project.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:modifyEntryContacts", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.modifyEntryContacts", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The full resource name of the entry.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}:modifyEntryContacts", -"request": { -"$ref": "GoogleCloudDatacatalogV1ModifyEntryContactsRequest" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1Contacts" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"modifyEntryOverview": { -"deprecated": true, -"description": "Modifies entry overview, part of the business context of an Entry. To call this method, you must have the `datacatalog.entries.updateOverview` IAM permission on the corresponding project.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:modifyEntryOverview", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.modifyEntryOverview", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The full resource name of the entry.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}:modifyEntryOverview", -"request": { -"$ref": "GoogleCloudDatacatalogV1ModifyEntryOverviewRequest" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1EntryOverview" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates an existing entry. You must enable the Data Catalog API in the project identified by the `entry.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.entryGroups.entries.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Output only. Identifier. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Names of fields whose values to overwrite on an entry. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. You can modify only the fields listed below. For entries with type `DATA_STREAM`: * `schema` For entries with type `FILESET`: * `schema` * `display_name` * `description` * `gcs_fileset_spec` * `gcs_fileset_spec.file_patterns` For entries with `user_specified_type`: * `schema` * `display_name` * `description` * `user_specified_type` * `user_specified_system` * `linked_resource` * `source_system_timestamps`", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1Entry" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1Entry" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"star": { -"deprecated": true, -"description": "Marks an Entry as starred by the current user. Starring information is private to each user.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:star", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.star", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the entry to mark as starred.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}:star", -"request": { -"$ref": "GoogleCloudDatacatalogV1StarEntryRequest" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1StarEntryResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"testIamPermissions": { -"deprecated": true, -"description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.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/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+resource}:testIamPermissions", -"request": { -"$ref": "TestIamPermissionsRequest" -}, -"response": { -"$ref": "TestIamPermissionsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"unstar": { -"deprecated": true, -"description": "Marks an Entry as NOT starred by the current user. Starring information is private to each user.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:unstar", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.unstar", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the entry to mark as **not** starred.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}:unstar", -"request": { -"$ref": "GoogleCloudDatacatalogV1UnstarEntryRequest" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1UnstarEntryResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"tags": { -"deprecated": true, -"methods": { -"create": { -"deprecated": true, -"description": "Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the resource to attach this tag to. Tags can be attached to entries or entry groups. An entry can have up to 1000 attached tags. Note: The tag and its child resources might not be stored in the location specified in its name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/tags", -"request": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes a tag.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag to delete.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"deprecated": true, -"description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "The maximum number of tags to return. Default is 10. Maximum limit is 1000.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Pagination token that specifies the next page to return. If empty, the first page is returned.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the Data Catalog resource to list the tags of. The resource can be an Entry or an EntryGroup (without `/entries/{entries}` at the end).", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/tags", -"response": { -"$ref": "GoogleCloudDatacatalogV1ListTagsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates an existing tag.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the tag in URL format where tag ID is a system-generated identifier. Note: The tag itself might not be stored in the location specified in its name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"reconcile": { -"deprecated": true, -"description": "`ReconcileTags` creates or updates a list of tags on the entry. If the ReconcileTagsRequest.force_delete_missing parameter is set, the operation deletes tags not included in the input tag list. `ReconcileTags` returns a long-running operation resource that can be queried with Operations.GetOperation to return ReconcileTagsMetadata and a ReconcileTagsResponse message. Note: SearchCatalog might return stale search results for up to 24 hours after the `ReconcileTags` operation completes.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags:reconcile", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.reconcile", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. Name of Entry to be tagged.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/tags:reconcile", -"request": { -"$ref": "GoogleCloudDatacatalogV1ReconcileTagsRequest" -}, -"response": { -"$ref": "Operation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -}, -"tags": { -"deprecated": true, -"methods": { -"create": { -"deprecated": true, -"description": "Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.tags.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the resource to attach this tag to. Tags can be attached to entries or entry groups. An entry can have up to 1000 attached tags. Note: The tag and its child resources might not be stored in the location specified in its name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/tags", -"request": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes a tag.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.entryGroups.tags.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag to delete.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"deprecated": true, -"description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.tags.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "The maximum number of tags to return. Default is 10. Maximum limit is 1000.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Pagination token that specifies the next page to return. If empty, the first page is returned.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the Data Catalog resource to list the tags of. The resource can be an Entry or an EntryGroup (without `/entries/{entries}` at the end).", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/tags", -"response": { -"$ref": "GoogleCloudDatacatalogV1ListTagsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates an existing tag.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.entryGroups.tags.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the tag in URL format where tag ID is a system-generated identifier. Note: The tag itself might not be stored in the location specified in its name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -}, -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.operations.cancel", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}:cancel", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.operations.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "Operation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", -"httpMethod": "GET", -"id": "datacatalog.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/cloud-platform" -] -} -} -}, -"tagTemplates": { -"methods": { -"create": { -"deprecated": true, -"description": "Creates a tag template. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions).", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -}, -"tagTemplateId": { -"description": "Required. The ID of the tag template to create. The ID must contain only lowercase letters (a-z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8.", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+parent}/tagTemplates", -"request": { -"$ref": "GoogleCloudDatacatalogV1TagTemplate" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1TagTemplate" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes a tag template and all tags that use it. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.tagTemplates.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"force": { -"description": "Required. If true, deletes all tags that use this template. Currently, `true` is the only supported value.", -"location": "query", -"type": "boolean" -}, -"name": { -"description": "Required. The name of the tag template to delete.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"deprecated": true, -"description": "Gets a tag template.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.tagTemplates.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag template to get.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "GoogleCloudDatacatalogV1TagTemplate" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"getIamPolicy": { -"deprecated": true, -"description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.getIamPolicy", -"parameterOrder": [ -"resource" -], -"parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+resource}:getIamPolicy", -"request": { -"$ref": "GetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates a tag template. You can't update template fields with this method. These fields are separate resources with their own create, update, and delete methods. You must enable the Data Catalog API in the project identified by the `tag_template.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.tagTemplates.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the tag template in URL format. Note: The tag template itself and its child resources might not be stored in the location specified in its name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Names of fields whose values to overwrite on a tag template. Currently, only `display_name` and `is_publicly_readable` can be overwritten. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. Note: Updating the `is_publicly_readable` field may require up to 12 hours to take effect in search results.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1TagTemplate" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1TagTemplate" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"setIamPolicy": { -"deprecated": true, -"description": "Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates - Entry groups Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.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/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+resource}:setIamPolicy", -"request": { -"$ref": "SetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"testIamPermissions": { -"deprecated": true, -"description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.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/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+resource}:testIamPermissions", -"request": { -"$ref": "TestIamPermissionsRequest" -}, -"response": { -"$ref": "TestIamPermissionsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"fields": { -"methods": { -"create": { -"deprecated": true, -"description": "Creates a field in a tag template. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.fields.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions).", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -}, -"tagTemplateFieldId": { -"description": "Required. The ID of the tag template field to create. Note: Adding a required field to an existing template is *not* allowed. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.", -"location": "query", -"type": "string" -} -}, -"path": "v1/{+parent}/fields", -"request": { -"$ref": "GoogleCloudDatacatalogV1TagTemplateField" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1TagTemplateField" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes a field in a tag template and all uses of this field from the tags based on this template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.tagTemplates.fields.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"force": { -"description": "Required. If true, deletes this field from any tags that use it. Currently, `true` is the only supported value.", -"location": "query", -"type": "boolean" -}, -"name": { -"description": "Required. The name of the tag template field to delete.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates a field in a tag template. You can't update the field type with this method. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.tagTemplates.fields.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag template field.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" -}, -"updateMask": { -"description": "Optional. Names of fields whose values to overwrite on an individual field of a tag template. The following fields are modifiable: * `display_name` * `type.enum_type` * `is_required` If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied with one exception: when updating an enum type, the provided values are merged with the existing values. Therefore, enum values can only be added, existing enum values cannot be deleted or renamed. Additionally, updating a template field from optional to required is *not* allowed.", -"format": "google-fieldmask", -"location": "query", -"type": "string" } }, "path": "v1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1TagTemplateField" -}, "response": { -"$ref": "GoogleCloudDatacatalogV1TagTemplateField" +"$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, -"rename": { -"deprecated": true, -"description": "Renames a field in a tag template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project).", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.fields.rename", +"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": "datacatalog.projects.locations.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. The name of the tag template field.", +"description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, -"path": "v1/{+name}:rename", -"request": { -"$ref": "GoogleCloudDatacatalogV1RenameTagTemplateFieldRequest" -}, +"path": "v1/{+name}", "response": { -"$ref": "GoogleCloudDatacatalogV1TagTemplateField" +"$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} }, -"resources": { -"enumValues": { -"deprecated": true, -"methods": { -"rename": { -"deprecated": true, -"description": "Renames an enum value in a tag template. Within a single enum field, enum values must be unique.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename", +"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": "datacatalog.projects.locations.operations.list", "parameterOrder": [ "name" ], "parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, "name": { -"description": "Required. The name of the enum field value.", +"description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" -} }, -"path": "v1/{+name}:rename", -"request": { -"$ref": "GoogleCloudDatacatalogV1RenameTagTemplateFieldEnumValueRequest" +"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": "GoogleCloudDatacatalogV1TagTemplateField" +"$ref": "ListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } } -} -} -} -} }, "taxonomies": { "methods": { @@ -2344,7 +981,7 @@ } } }, -"revision": "20260706", +"revision": "20261106", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { @@ -3218,34 +1855,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1EntryGroup": { -"description": "Entry group metadata. An `EntryGroup` resource represents a logical grouping of zero or more Data Catalog Entry resources.", -"id": "GoogleCloudDatacatalogV1EntryGroup", -"properties": { -"dataCatalogTimestamps": { -"$ref": "GoogleCloudDatacatalogV1SystemTimestamps", -"description": "Output only. Timestamps of the entry group. Default value is empty.", -"readOnly": true -}, -"description": { -"description": "Entry group description. Can consist of several sentences or paragraphs that describe the entry group contents. Default value is an empty string.", -"type": "string" -}, -"displayName": { -"description": "A short name to identify the entry group, for example, \"analytics data - jan 2011\". Default value is an empty string.", -"type": "string" -}, -"name": { -"description": "Identifier. The resource name of the entry group in URL format. Note: The entry group itself and its child resources might not be stored in the location specified in its name.", -"type": "string" -}, -"transferredToDataplex": { -"description": "Optional. When set to [true], it means DataCatalog EntryGroup was transferred to Dataplex Universal Catalog. It makes EntryGroup and its Entries to be read-only in DataCatalog. However, new Tags on EntryGroup and its Entries can be created. After setting the flag to [true] it cannot be unset.", -"type": "boolean" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1EntryOverview": { "description": "Entry overview fields for rich text descriptions of entries.", "id": "GoogleCloudDatacatalogV1EntryOverview", @@ -3293,59 +1902,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1FieldType": { -"id": "GoogleCloudDatacatalogV1FieldType", -"properties": { -"enumType": { -"$ref": "GoogleCloudDatacatalogV1FieldTypeEnumType", -"description": "An enum type." -}, -"primitiveType": { -"description": "Primitive types, such as string, boolean, etc.", -"enum": [ -"PRIMITIVE_TYPE_UNSPECIFIED", -"DOUBLE", -"STRING", -"BOOL", -"TIMESTAMP", -"RICHTEXT" -], -"enumDescriptions": [ -"The default invalid value for a type.", -"A double precision number.", -"An UTF-8 string.", -"A boolean value.", -"A timestamp.", -"A Richtext description." -], -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1FieldTypeEnumType": { -"id": "GoogleCloudDatacatalogV1FieldTypeEnumType", -"properties": { -"allowedValues": { -"description": "The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method.", -"items": { -"$ref": "GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue" -}, -"type": "array" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue": { -"id": "GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue", -"properties": { -"displayName": { -"description": "Required. The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters.", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1FilesetSpec": { "description": "Specification that applies to a fileset. Valid only for entries with the 'FILESET' type.", "id": "GoogleCloudDatacatalogV1FilesetSpec", @@ -3590,21 +2146,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1ImportEntriesRequest": { -"description": "Request message for ImportEntries method.", -"id": "GoogleCloudDatacatalogV1ImportEntriesRequest", -"properties": { -"gcsBucketPath": { -"description": "Path to a Cloud Storage bucket that contains a dump ready for ingestion.", -"type": "string" -}, -"jobId": { -"description": "Optional. (Optional) Dataplex Universal Catalog task job id, if specified will be used as part of ImportEntries LRO ID", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1ImportEntriesResponse": { "description": "Response message for long-running operation returned by the ImportEntries.", "id": "GoogleCloudDatacatalogV1ImportEntriesResponse", @@ -3665,42 +2206,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1ListEntriesResponse": { -"description": "Response message for ListEntries.", -"id": "GoogleCloudDatacatalogV1ListEntriesResponse", -"properties": { -"entries": { -"description": "Entry details.", -"items": { -"$ref": "GoogleCloudDatacatalogV1Entry" -}, -"type": "array" -}, -"nextPageToken": { -"description": "Pagination token of the next results page. Empty if there are no more items in results.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1ListEntryGroupsResponse": { -"description": "Response message for ListEntryGroups.", -"id": "GoogleCloudDatacatalogV1ListEntryGroupsResponse", -"properties": { -"entryGroups": { -"description": "Entry group details.", -"items": { -"$ref": "GoogleCloudDatacatalogV1EntryGroup" -}, -"type": "array" -}, -"nextPageToken": { -"description": "Pagination token to specify in the next call to retrieve the next page of results. Empty if there are no more items.", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1ListPolicyTagsResponse": { "description": "Response message for ListPolicyTags.", "id": "GoogleCloudDatacatalogV1ListPolicyTagsResponse", @@ -3719,24 +2224,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1ListTagsResponse": { -"description": "Response message for ListTags.", -"id": "GoogleCloudDatacatalogV1ListTagsResponse", -"properties": { -"nextPageToken": { -"description": "Pagination token of the next results page. Empty if there are no more items in results.", -"type": "string" -}, -"tags": { -"description": "Tag details.", -"items": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"type": "array" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1ListTaxonomiesResponse": { "description": "Response message for ListTaxonomies.", "id": "GoogleCloudDatacatalogV1ListTaxonomiesResponse", @@ -3837,28 +2324,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1ModifyEntryContactsRequest": { -"description": "Request message for ModifyEntryContacts.", -"id": "GoogleCloudDatacatalogV1ModifyEntryContactsRequest", -"properties": { -"contacts": { -"$ref": "GoogleCloudDatacatalogV1Contacts", -"description": "Required. The new value for the Contacts." -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1ModifyEntryOverviewRequest": { -"description": "Request message for ModifyEntryOverview.", -"id": "GoogleCloudDatacatalogV1ModifyEntryOverviewRequest", -"properties": { -"entryOverview": { -"$ref": "GoogleCloudDatacatalogV1EntryOverview", -"description": "Required. The new value for the Entry Overview." -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1OrganizationConfig": { "description": "The configuration related to the migration from Data Catalog to Dataplex Universal Catalog that has been applied to an organization and any projects under it. It is the response message for RetrieveConfig.", "id": "GoogleCloudDatacatalogV1OrganizationConfig", @@ -4032,27 +2497,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1ReconcileTagsRequest": { -"description": "Request message for ReconcileTags.", -"id": "GoogleCloudDatacatalogV1ReconcileTagsRequest", -"properties": { -"forceDeleteMissing": { -"type": "boolean" -}, -"tagTemplate": { -"description": "Required. The name of the tag template, which is used for reconciliation.", -"type": "string" -}, -"tags": { -"description": "A list of tags to apply to an entry. A tag can specify a tag template, which must be the template specified in the `ReconcileTagsRequest`. The sole entry and each of its columns must be mentioned at most once.", -"items": { -"$ref": "GoogleCloudDatacatalogV1Tag" -}, -"type": "array" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1ReconcileTagsResponse": { "description": "Long-running operation response message returned by ReconcileTags.", "id": "GoogleCloudDatacatalogV1ReconcileTagsResponse", @@ -4075,28 +2519,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1RenameTagTemplateFieldEnumValueRequest": { -"description": "Request message for RenameTagTemplateFieldEnumValue.", -"id": "GoogleCloudDatacatalogV1RenameTagTemplateFieldEnumValueRequest", -"properties": { -"newEnumValueDisplayName": { -"description": "Required. The new display name of the enum value. For example, `my_new_enum_value`.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1RenameTagTemplateFieldRequest": { -"description": "Request message for RenameTagTemplateField.", -"id": "GoogleCloudDatacatalogV1RenameTagTemplateFieldRequest", -"properties": { -"newTagTemplateFieldId": { -"description": "Required. The new ID of this tag template field. For example, `my_new_field`.", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1ReplaceTaxonomyRequest": { "description": "Request message for ReplaceTaxonomy.", "id": "GoogleCloudDatacatalogV1ReplaceTaxonomyRequest", @@ -4590,18 +3012,6 @@ }, "type": "object" }, -"GoogleCloudDatacatalogV1StarEntryRequest": { -"description": "Request message for StarEntry.", -"id": "GoogleCloudDatacatalogV1StarEntryRequest", -"properties": {}, -"type": "object" -}, -"GoogleCloudDatacatalogV1StarEntryResponse": { -"description": "Response message for StarEntry. Empty for now", -"id": "GoogleCloudDatacatalogV1StarEntryResponse", -"properties": {}, -"type": "object" -}, "GoogleCloudDatacatalogV1StorageProperties": { "description": "Details the properties of the underlying storage.", "id": "GoogleCloudDatacatalogV1StorageProperties", @@ -4761,83 +3171,6 @@ false }, "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/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": { -"description": "Optional. Transfer status of the TagTemplate", -"enum": [ -"DATAPLEX_TRANSFER_STATUS_UNSPECIFIED", -"MIGRATED", -"TRANSFERRED" -], -"enumDeprecated": [ -false, -true, -false -], -"enumDescriptions": [ -"Default value. TagTemplate and its tags are only visible and editable in Data Catalog.", -"TagTemplate and its tags are auto-copied to Dataplex Universal Catalog service. Visible in both services. Editable in Data Catalog, read-only in Dataplex Universal Catalog. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in.", -"TagTemplate and its tags are auto-copied to Dataplex Universal Catalog service. Visible in both services. Editable in Dataplex Universal Catalog, read-only in Data Catalog." -], -"type": "string" -}, -"displayName": { -"description": "Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters.", -"type": "string" -}, -"fields": { -"additionalProperties": { -"$ref": "GoogleCloudDatacatalogV1TagTemplateField" -}, -"description": "Required. Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore.", -"type": "object" -}, -"isPubliclyReadable": { -"description": "Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate.", -"type": "boolean" -}, -"name": { -"description": "Identifier. The resource name of the tag template in URL format. Note: The tag template itself and its child resources might not be stored in the location specified in its name.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1TagTemplateField": { -"description": "The template for an individual field within a tag template.", -"id": "GoogleCloudDatacatalogV1TagTemplateField", -"properties": { -"description": { -"description": "The description for this field. Defaults to an empty string.", -"type": "string" -}, -"displayName": { -"description": "The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters.", -"type": "string" -}, -"isRequired": { -"description": "If true, this field is required. Defaults to false.", -"type": "boolean" -}, -"name": { -"description": "Identifier. The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters.", -"type": "string" -}, -"order": { -"description": "The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential.", -"format": "int32", -"type": "integer" -}, -"type": { -"$ref": "GoogleCloudDatacatalogV1FieldType", -"description": "Required. The type of value this tag field can contain." -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1TaggedEntry": { "description": "Wrapper containing Entry and information about Tags that should and should not be attached to it.", "id": "GoogleCloudDatacatalogV1TaggedEntry", @@ -4938,18 +3271,6 @@ false }, "type": "object" }, -"GoogleCloudDatacatalogV1UnstarEntryRequest": { -"description": "Request message for UnstarEntry.", -"id": "GoogleCloudDatacatalogV1UnstarEntryRequest", -"properties": {}, -"type": "object" -}, -"GoogleCloudDatacatalogV1UnstarEntryResponse": { -"description": "Response message for UnstarEntry. Empty for now", -"id": "GoogleCloudDatacatalogV1UnstarEntryResponse", -"properties": {}, -"type": "object" -}, "GoogleCloudDatacatalogV1UsageSignal": { "description": "The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day.", "id": "GoogleCloudDatacatalogV1UsageSignal", diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json index c54d457ca1..b39d456f77 100644 --- a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json @@ -129,1184 +129,10 @@ } } }, -"entries": { -"deprecated": true, -"methods": { -"lookup": { -"deprecated": true, -"description": "Get an entry by target resource name. This method allows clients to use the resource name from the source Google Cloud Platform service to get the Data Catalog Entry.", -"flatPath": "v1beta1/entries:lookup", -"httpMethod": "GET", -"id": "datacatalog.entries.lookup", -"parameterOrder": [], -"parameters": { -"linkedResource": { -"description": "The full name of the Google Cloud Platform resource the Data Catalog entry represents. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Full names are case-sensitive. Examples: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId", -"location": "query", -"type": "string" -}, -"sqlResource": { -"description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s should satisfy the GoogleSQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/entries:lookup", -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1Entry" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -}, -"projects": { -"resources": { -"locations": { -"resources": { -"entryGroups": { -"methods": { -"create": { -"deprecated": true, -"description": "A maximum of 10,000 entry groups may be created per organization across all locations. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"entryGroupId": { -"description": "Required. The id of the entry group to create. The id must begin with a letter or underscore, contain only English letters, numbers and underscores, and be at most 64 characters.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the project this entry group is in. Example: * projects/{project_id}/locations/{location} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/entryGroups", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.entryGroups.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"force": { -"description": "Optional. If true, deletes all entries in the entry group.", -"location": "query", -"type": "boolean" -}, -"name": { -"description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"deprecated": true, -"description": "Gets an EntryGroup.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "The fields to return. If not set or empty, all fields are returned.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"getIamPolicy": { -"deprecated": true, -"description": "Gets the access control policy for a 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. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.getIamPolicy", -"parameterOrder": [ -"resource" -], -"parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:getIamPolicy", -"request": { -"$ref": "GetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"deprecated": true, -"description": "Lists entry groups.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size > 1000`.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. Token that specifies which page is requested. If empty, the first page is returned.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the location that contains the entry groups, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/entryGroups", -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates an EntryGroup. The user should enable the Data Catalog API in the project identified by the `entry_group.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.entryGroups.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the entry group in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Names of fields whose values to overwrite on an entry group. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"setIamPolicy": { -"deprecated": true, -"description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.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/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:setIamPolicy", -"request": { -"$ref": "SetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"testIamPermissions": { -"deprecated": true, -"description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.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/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:testIamPermissions", -"request": { -"$ref": "TestIamPermissionsRequest" -}, -"response": { -"$ref": "TestIamPermissionsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"entries": { -"methods": { -"create": { -"deprecated": true, -"description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can be created. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information). A maximum of 100,000 entries may be created per entry group.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"entryId": { -"description": "Required. The id of the entry to create.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the entry group this entry is in. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this Entry and its child resources may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/entries", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1Entry" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1Entry" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes an existing entry. Only entries created through CreateEntry method can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.entryGroups.entries.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"deprecated": true, -"description": "Gets an entry.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.entries.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1Entry" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"getIamPolicy": { -"deprecated": true, -"description": "Gets the access control policy for a 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. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy", -"parameterOrder": [ -"resource" -], -"parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:getIamPolicy", -"request": { -"$ref": "GetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"deprecated": true, -"description": "Lists entries.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.entries.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size > 1000`.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Token that specifies which page is requested. If empty, the first page is returned.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the entry group that contains the entries, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -}, -"readMask": { -"description": "The fields to return for each Entry. If not set or empty, all fields are returned. For example, setting read_mask to contain only one path \"name\" will cause ListEntries to return a list of Entries with only \"name\" field.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+parent}/entries", -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1ListEntriesResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates an existing entry. Users should enable the Data Catalog API in the project identified by the `entry.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.entryGroups.entries.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Output only. Identifier. The Data Catalog resource name of the entry in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Entry and its child resources may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Names of fields whose values to overwrite on an entry. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. The following fields are modifiable: * For entries with type `DATA_STREAM`: * `schema` * For entries with type `FILESET`: * `schema` * `display_name` * `description` * `gcs_fileset_spec` * `gcs_fileset_spec.file_patterns` * For entries with `user_specified_type`: * `schema` * `display_name` * `description` * `user_specified_type` * `user_specified_system` * `linked_resource` * `source_system_timestamps`", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1Entry" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1Entry" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"testIamPermissions": { -"deprecated": true, -"description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.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/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:testIamPermissions", -"request": { -"$ref": "TestIamPermissionsRequest" -}, -"response": { -"$ref": "TestIamPermissionsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"tags": { -"deprecated": true, -"methods": { -"create": { -"deprecated": true, -"description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/tags", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes a tag.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"deprecated": true, -"description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "The maximum number of tags to return. Default is 10. Max limit is 1000.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Token that specifies which page is requested. If empty, the first page is returned.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/tags", -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates an existing tag.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.entryGroups.entries.tags.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Note: Currently, this parameter can only take `\"fields\"` as value. Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -}, -"tags": { -"deprecated": true, -"methods": { -"create": { -"deprecated": true, -"description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.entryGroups.tags.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/tags", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes a tag.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.entryGroups.tags.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"deprecated": true, -"description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.entryGroups.tags.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "The maximum number of tags to return. Default is 10. Max limit is 1000.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Token that specifies which page is requested. If empty, the first page is returned.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+parent}/tags", -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates an existing tag.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.entryGroups.tags.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Note: Currently, this parameter can only take `\"fields\"` as value. Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -}, -"tagTemplates": { -"methods": { -"create": { -"deprecated": true, -"description": "Creates a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions. Example: * projects/{project_id}/locations/us-central1", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -}, -"tagTemplateId": { -"description": "Required. The id of the tag template to create.", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+parent}/tagTemplates", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes a tag template and all tags using the template. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.tagTemplates.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"force": { -"description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of any possible tags using this template. `force = false` will be supported in the future.", -"location": "query", -"type": "boolean" -}, -"name": { -"description": "Required. The name of the tag template to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"deprecated": true, -"description": "Gets a tag template.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", -"httpMethod": "GET", -"id": "datacatalog.projects.locations.tagTemplates.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"getIamPolicy": { -"deprecated": true, -"description": "Gets the access control policy for a 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. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.getIamPolicy", -"parameterOrder": [ -"resource" -], -"parameters": { -"resource": { -"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:getIamPolicy", -"request": { -"$ref": "GetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates a tag template. This method cannot be used to update the fields of a template. The tag template fields are represented as separate resources and should be updated using their own create/update/delete methods. Users should enable the Data Catalog API in the project identified by the `tag_template.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.tagTemplates.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Identifier. The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Names of fields whose values to overwrite on a tag template. Currently, only `display_name` can be overwritten. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplate" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"setIamPolicy": { -"deprecated": true, -"description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.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/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:setIamPolicy", -"request": { -"$ref": "SetIamPolicyRequest" -}, -"response": { -"$ref": "Policy" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"testIamPermissions": { -"deprecated": true, -"description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.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/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+resource}:testIamPermissions", -"request": { -"$ref": "TestIamPermissionsRequest" -}, -"response": { -"$ref": "TestIamPermissionsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, -"resources": { -"fields": { -"methods": { -"create": { -"deprecated": true, -"description": "Creates a field in a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.fields.create", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions). Example: * projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", -"required": true, -"type": "string" -}, -"tagTemplateFieldId": { -"description": "Required. The ID of the tag template field to create. Field ids can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+parent}/fields", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"deprecated": true, -"description": "Deletes a field in a tag template and all uses of that field. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", -"httpMethod": "DELETE", -"id": "datacatalog.projects.locations.tagTemplates.fields.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"force": { -"description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of this field from any tags using this field. `force = false` will be supported in the future.", -"location": "query", -"type": "boolean" -}, -"name": { -"description": "Required. The name of the tag template field to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"patch": { -"deprecated": true, -"description": "Updates a field in a tag template. This method cannot be used to update the field type. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", -"httpMethod": "PATCH", -"id": "datacatalog.projects.locations.tagTemplates.fields.patch", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag template field. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", -"required": true, -"type": "string" -}, -"updateMask": { -"description": "Optional. Names of fields whose values to overwrite on an individual field of a tag template. The following fields are modifiable: * `display_name` * `type.enum_type` * `is_required` If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied with one exception: when updating an enum type, the provided values are merged with the existing values. Therefore, enum values can only be added, existing enum values cannot be deleted or renamed. Additionally, updating a template field from optional to required is *not* allowed.", -"format": "google-fieldmask", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"rename": { -"deprecated": true, -"description": "Renames a field in a tag template. The user should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.fields.rename", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:rename", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -}, +"projects": { +"resources": { +"locations": { "resources": { -"enumValues": { -"deprecated": true, -"methods": { -"rename": { -"deprecated": true, -"description": "Renames an enum value in a tag template. The enum values have to be unique within one enum field. Thus, an enum value cannot be renamed with a name used in any other enum value within the same enum field.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename", -"httpMethod": "POST", -"id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the enum field value. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:rename", -"request": { -"$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest" -}, -"response": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -} -} -}, "taxonomies": { "methods": { "create": { @@ -1855,7 +681,7 @@ } } }, -"revision": "20260706", +"revision": "20261106", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { @@ -3739,336 +2565,42 @@ false }, "type": "array" }, -"versionDescription": { -"description": "The description of this version.", -"type": "string" -}, -"versionId": { -"description": "The version ID of the model.", -"type": "string" -}, -"vertexModelSourceInfo": { -"$ref": "GoogleCloudDatacatalogV1VertexModelSourceInfo", -"description": "Source of a Vertex model." -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1ViewSpec": { -"description": "Table view specification.", -"id": "GoogleCloudDatacatalogV1ViewSpec", -"properties": { -"viewQuery": { -"description": "Output only. The query that defines the table view.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec": { -"description": "Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding", -"id": "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec", -"properties": { -"dataset": { -"description": "Output only. The Data Catalog resource name of the dataset entry the current table belongs to, for example, `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.", -"readOnly": true, -"type": "string" -}, -"shardCount": { -"description": "Output only. Total number of shards.", -"format": "int64", -"readOnly": true, -"type": "string" -}, -"tablePrefix": { -"description": "Output only. The table name prefix of the shards. The name of any given shard is `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the `table_prefix` is `MyTable`.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1BigQueryTableSpec": { -"description": "Describes a BigQuery table.", -"id": "GoogleCloudDatacatalogV1beta1BigQueryTableSpec", -"properties": { -"tableSourceType": { -"description": "Output only. The table source type.", -"enum": [ -"TABLE_SOURCE_TYPE_UNSPECIFIED", -"BIGQUERY_VIEW", -"BIGQUERY_TABLE", -"BIGQUERY_MATERIALIZED_VIEW" -], -"enumDescriptions": [ -"Default unknown type.", -"Table view.", -"BigQuery native table.", -"BigQuery materialized view." -], -"readOnly": true, -"type": "string" -}, -"tableSpec": { -"$ref": "GoogleCloudDatacatalogV1beta1TableSpec", -"description": "Spec of a BigQuery table. This field should only be populated if `table_source_type` is `BIGQUERY_TABLE`." -}, -"viewSpec": { -"$ref": "GoogleCloudDatacatalogV1beta1ViewSpec", -"description": "Table view specification. This field should only be populated if `table_source_type` is `BIGQUERY_VIEW`." -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1ColumnSchema": { -"description": "Representation of a column within a schema. Columns could be nested inside other columns.", -"id": "GoogleCloudDatacatalogV1beta1ColumnSchema", -"properties": { -"column": { -"description": "Required. Name of the column.", -"type": "string" -}, -"description": { -"description": "Optional. Description of the column. Default value is an empty string.", -"type": "string" -}, -"mode": { -"description": "Optional. A column's mode indicates whether the values in this column are required, nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported. Default mode is `NULLABLE`.", -"type": "string" -}, -"subcolumns": { -"description": "Optional. Schema of sub-columns. A column can have zero or more sub-columns.", -"items": { -"$ref": "GoogleCloudDatacatalogV1beta1ColumnSchema" -}, -"type": "array" -}, -"type": { -"description": "Required. Type of the column.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1Entry": { -"description": "Entry Metadata. A Data Catalog Entry resource represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or outside of Google Cloud Platform. Clients can use the `linked_resource` field in the Entry resource to refer to the original resource ID of the source system. An Entry resource contains resource details, such as its schema. An Entry can also be used to attach flexible metadata, such as a Tag.", -"id": "GoogleCloudDatacatalogV1beta1Entry", -"properties": { -"bigqueryDateShardedSpec": { -"$ref": "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec", -"description": "Specification for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding." -}, -"bigqueryTableSpec": { -"$ref": "GoogleCloudDatacatalogV1beta1BigQueryTableSpec", -"description": "Specification that applies to a BigQuery table. This is only valid on entries of type `TABLE`." -}, -"description": { -"description": "Entry description, which can consist of several sentences or paragraphs that describe entry contents. Default value is an empty string.", -"type": "string" -}, -"displayName": { -"description": "Display information such as title and description. A short name to identify the entry, for example, \"Analytics Data - Jan 2011\". Default value is an empty string.", -"type": "string" -}, -"gcsFilesetSpec": { -"$ref": "GoogleCloudDatacatalogV1beta1GcsFilesetSpec", -"description": "Specification that applies to a Cloud Storage fileset. This is only valid on entries of type FILESET." -}, -"integratedSystem": { -"description": "Output only. This field indicates the entry's source system that Data Catalog integrates with, such as BigQuery or Pub/Sub.", -"enum": [ -"INTEGRATED_SYSTEM_UNSPECIFIED", -"BIGQUERY", -"CLOUD_PUBSUB" -], -"enumDescriptions": [ -"Default unknown system.", -"BigQuery.", -"Cloud Pub/Sub." -], -"readOnly": true, -"type": "string" -}, -"linkedResource": { -"description": "The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [full name of the resource](https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId Output only when Entry is of type in the EntryType enum. For entries with user_specified_type, this field is optional and defaults to an empty string.", -"type": "string" -}, -"name": { -"description": "Output only. Identifier. The Data Catalog resource name of the entry in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Entry and its child resources may not actually be stored in the location in this name.", -"readOnly": true, -"type": "string" -}, -"schema": { -"$ref": "GoogleCloudDatacatalogV1beta1Schema", -"description": "Schema of the entry. An entry might not have any schema attached to it." -}, -"sourceSystemTimestamps": { -"$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps", -"description": "Output only. Timestamps about the underlying resource, not about this Data Catalog entry. Output only when Entry is of type in the EntryType enum. For entries with user_specified_type, this field is optional and defaults to an empty timestamp.", -"readOnly": true -}, -"type": { -"description": "The type of the entry. Only used for Entries with types in the EntryType enum.", -"enum": [ -"ENTRY_TYPE_UNSPECIFIED", -"TABLE", -"MODEL", -"DATA_STREAM", -"FILESET" -], -"enumDescriptions": [ -"Default unknown type.", -"Output only. The type of entry that has a GoogleSQL schema, including logical views.", -"Output only. The type of models. https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro", -"Output only. An entry type which is used for streaming entries. Example: Pub/Sub topic.", -"An entry type which is a set of files or objects. Example: Cloud Storage fileset." -], -"type": "string" -}, -"usageSignal": { -"$ref": "GoogleCloudDatacatalogV1beta1UsageSignal", -"description": "Output only. Statistics on the usage level of the resource.", -"readOnly": true -}, -"userSpecifiedSystem": { -"description": "This field indicates the entry's source system that Data Catalog does not integrate with. `user_specified_system` strings must begin with a letter or underscore and can only contain letters, numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long.", -"type": "string" -}, -"userSpecifiedType": { -"description": "Entry type if it does not fit any of the input-allowed values listed in `EntryType` enum above. When creating an entry, users should check the enum values first, if nothing matches the entry to be created, then provide a custom value, for example \"my_special_type\". `user_specified_type` strings must begin with a letter or underscore and can only contain letters, numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long. Currently, only FILESET enum value is allowed. All other entries created through Data Catalog must use `user_specified_type`.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1EntryGroup": { -"description": "EntryGroup Metadata. An EntryGroup resource represents a logical grouping of zero or more Data Catalog Entry resources.", -"id": "GoogleCloudDatacatalogV1beta1EntryGroup", -"properties": { -"dataCatalogTimestamps": { -"$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps", -"description": "Output only. Timestamps about this EntryGroup. Default value is empty timestamps.", -"readOnly": true -}, -"description": { -"description": "Entry group description, which can consist of several sentences or paragraphs that describe entry group contents. Default value is an empty string.", -"type": "string" -}, -"displayName": { -"description": "A short name to identify the entry group, for example, \"analytics data - jan 2011\". Default value is an empty string.", -"type": "string" -}, -"name": { -"description": "Identifier. The resource name of the entry group in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse": { -"description": "Response message for ExportTaxonomies.", -"id": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse", -"properties": { -"taxonomies": { -"description": "List of taxonomies and policy tags in a tree structure.", -"items": { -"$ref": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy" -}, -"type": "array" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1FieldType": { -"id": "GoogleCloudDatacatalogV1beta1FieldType", -"properties": { -"enumType": { -"$ref": "GoogleCloudDatacatalogV1beta1FieldTypeEnumType", -"description": "Represents an enum type." -}, -"primitiveType": { -"description": "Represents primitive types - string, bool etc.", -"enum": [ -"PRIMITIVE_TYPE_UNSPECIFIED", -"DOUBLE", -"STRING", -"BOOL", -"TIMESTAMP" -], -"enumDescriptions": [ -"This is the default invalid value for a type.", -"A double precision number.", -"An UTF-8 string.", -"A boolean value.", -"A timestamp." -], -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1FieldTypeEnumType": { -"id": "GoogleCloudDatacatalogV1beta1FieldTypeEnumType", -"properties": { -"allowedValues": { -"items": { -"$ref": "GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue" -}, -"type": "array" -} -}, -"type": "object" +"versionDescription": { +"description": "The description of this version.", +"type": "string" }, -"GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue": { -"id": "GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue", -"properties": { -"displayName": { -"description": "Required. The display name of the enum value. Must not be an empty string.", +"versionId": { +"description": "The version ID of the model.", "type": "string" +}, +"vertexModelSourceInfo": { +"$ref": "GoogleCloudDatacatalogV1VertexModelSourceInfo", +"description": "Source of a Vertex model." } }, "type": "object" }, -"GoogleCloudDatacatalogV1beta1GcsFileSpec": { -"description": "Specifications of a single file in Cloud Storage.", -"id": "GoogleCloudDatacatalogV1beta1GcsFileSpec", +"GoogleCloudDatacatalogV1ViewSpec": { +"description": "Table view specification.", +"id": "GoogleCloudDatacatalogV1ViewSpec", "properties": { -"filePath": { -"description": "Required. The full file path. Example: `gs://bucket_name/a/b.txt`.", -"type": "string" -}, -"gcsTimestamps": { -"$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps", -"description": "Output only. Timestamps about the Cloud Storage file.", -"readOnly": true -}, -"sizeBytes": { -"description": "Output only. The size of the file, in bytes.", -"format": "int64", +"viewQuery": { +"description": "Output only. The query that defines the table view.", "readOnly": true, "type": "string" } }, "type": "object" }, -"GoogleCloudDatacatalogV1beta1GcsFilesetSpec": { -"description": "Describes a Cloud Storage fileset entry.", -"id": "GoogleCloudDatacatalogV1beta1GcsFilesetSpec", +"GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse": { +"description": "Response message for ExportTaxonomies.", +"id": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse", "properties": { -"filePatterns": { -"description": "Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud Storage documentation](https://cloud.google.com/storage/docs/wildcards) for more information. Note that bucket wildcards are currently not supported. Examples of valid file_patterns: * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir` directory. * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` spanning all subdirectories. * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You can combine wildcards to provide more powerful matches, for example: * `gs://bucket_name/[a-m]??.j*g`", -"items": { -"type": "string" -}, -"type": "array" -}, -"sampleGcsFileSpecs": { -"description": "Output only. Sample files contained in this fileset, not all files contained in this fileset are represented here.", +"taxonomies": { +"description": "List of taxonomies and policy tags in a tree structure.", "items": { -"$ref": "GoogleCloudDatacatalogV1beta1GcsFileSpec" +"$ref": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy" }, -"readOnly": true, "type": "array" } }, @@ -4113,42 +2645,6 @@ false }, "type": "object" }, -"GoogleCloudDatacatalogV1beta1ListEntriesResponse": { -"description": "Response message for ListEntries.", -"id": "GoogleCloudDatacatalogV1beta1ListEntriesResponse", -"properties": { -"entries": { -"description": "Entry details.", -"items": { -"$ref": "GoogleCloudDatacatalogV1beta1Entry" -}, -"type": "array" -}, -"nextPageToken": { -"description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse": { -"description": "Response message for ListEntryGroups.", -"id": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse", -"properties": { -"entryGroups": { -"description": "EntryGroup details.", -"items": { -"$ref": "GoogleCloudDatacatalogV1beta1EntryGroup" -}, -"type": "array" -}, -"nextPageToken": { -"description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse": { "description": "Response message for ListPolicyTags.", "id": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse", @@ -4167,24 +2663,6 @@ false }, "type": "object" }, -"GoogleCloudDatacatalogV1beta1ListTagsResponse": { -"description": "Response message for ListTags.", -"id": "GoogleCloudDatacatalogV1beta1ListTagsResponse", -"properties": { -"nextPageToken": { -"description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.", -"type": "string" -}, -"tags": { -"description": "Tag details.", -"items": { -"$ref": "GoogleCloudDatacatalogV1beta1Tag" -}, -"type": "array" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse": { "description": "Response message for ListTaxonomies.", "id": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse", @@ -4234,42 +2712,6 @@ false }, "type": "object" }, -"GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest": { -"description": "Request message for RenameTagTemplateFieldEnumValue.", -"id": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest", -"properties": { -"newEnumValueDisplayName": { -"description": "Required. The new display name of the enum value. For example, `my_new_enum_value`.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest": { -"description": "Request message for RenameTagTemplateField.", -"id": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest", -"properties": { -"newTagTemplateFieldId": { -"description": "Required. The new ID of this tag template field. For example, `my_new_field`.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1Schema": { -"description": "Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema).", -"id": "GoogleCloudDatacatalogV1beta1Schema", -"properties": { -"columns": { -"description": "Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be specified.", -"items": { -"$ref": "GoogleCloudDatacatalogV1beta1ColumnSchema" -}, -"type": "array" -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1beta1SearchCatalogRequest": { "description": "Request message for SearchCatalog.", "id": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest", @@ -4486,172 +2928,6 @@ false }, "type": "object" }, -"GoogleCloudDatacatalogV1beta1TableSpec": { -"description": "Normal BigQuery table spec.", -"id": "GoogleCloudDatacatalogV1beta1TableSpec", -"properties": { -"groupedEntry": { -"description": "Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`, `grouped_entry` is the Data Catalog resource name of the date sharded grouped entry, for example, `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`. Otherwise, `grouped_entry` is empty.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1Tag": { -"description": "Tags are used to attach custom metadata to Data Catalog resources. Tags conform to the specifications within their tag template. See [Data Catalog IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information on the permissions needed to create or view tags.", -"id": "GoogleCloudDatacatalogV1beta1Tag", -"properties": { -"column": { -"description": "Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use `.` to separate the column names. Example: * `outer_column.inner_column`", -"type": "string" -}, -"fields": { -"additionalProperties": { -"$ref": "GoogleCloudDatacatalogV1beta1TagField" -}, -"description": "Required. This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields.", -"type": "object" -}, -"name": { -"description": "Identifier. The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.", -"type": "string" -}, -"template": { -"description": "Required. The resource name of the tag template that this tag uses. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} This field cannot be modified after creation.", -"type": "string" -}, -"templateDisplayName": { -"description": "Output only. The display name of the tag template.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1TagField": { -"description": "Contains the value and supporting information for a field within a Tag.", -"id": "GoogleCloudDatacatalogV1beta1TagField", -"properties": { -"boolValue": { -"description": "Holds the value for a tag field with boolean type.", -"type": "boolean" -}, -"displayName": { -"description": "Output only. The display name of this field.", -"readOnly": true, -"type": "string" -}, -"doubleValue": { -"description": "Holds the value for a tag field with double type.", -"format": "double", -"type": "number" -}, -"enumValue": { -"$ref": "GoogleCloudDatacatalogV1beta1TagFieldEnumValue", -"description": "Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum." -}, -"order": { -"description": "Output only. The order of this field with respect to other fields in this tag. It can be set in Tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"stringValue": { -"description": "Holds the value for a tag field with string type.", -"type": "string" -}, -"timestampValue": { -"description": "Holds the value for a tag field with timestamp type.", -"format": "google-datetime", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1TagFieldEnumValue": { -"description": "Holds an enum value.", -"id": "GoogleCloudDatacatalogV1beta1TagFieldEnumValue", -"properties": { -"displayName": { -"description": "The display name of the enum value.", -"type": "string" -} -}, -"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/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": { -"description": "Output only. Transfer status of the TagTemplate", -"enum": [ -"DATAPLEX_TRANSFER_STATUS_UNSPECIFIED", -"MIGRATED" -], -"enumDeprecated": [ -false, -true -], -"enumDescriptions": [ -"Default value. TagTemplate and its tags are only visible and editable in DataCatalog.", -"TagTemplate and its tags are auto-copied to Dataplex Universal Catalog service. Visible in both services. Editable in Data Catalog, read-only in Dataplex Universal Catalog. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in." -], -"readOnly": true, -"type": "string" -}, -"displayName": { -"description": "The display name for this template. Defaults to an empty string.", -"type": "string" -}, -"fields": { -"additionalProperties": { -"$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField" -}, -"description": "Required. Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore.", -"type": "object" -}, -"name": { -"description": "Identifier. The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1TagTemplateField": { -"description": "The template for an individual field within a tag template.", -"id": "GoogleCloudDatacatalogV1beta1TagTemplateField", -"properties": { -"description": { -"description": "The description for this field. Defaults to an empty string.", -"type": "string" -}, -"displayName": { -"description": "The display name for this field. Defaults to an empty string.", -"type": "string" -}, -"isRequired": { -"description": "Whether this is a required field. Defaults to false.", -"type": "boolean" -}, -"name": { -"description": "Output only. Identifier. The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name.", -"readOnly": true, -"type": "string" -}, -"order": { -"description": "The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.", -"format": "int32", -"type": "integer" -}, -"type": { -"$ref": "GoogleCloudDatacatalogV1beta1FieldType", -"description": "Required. The type of value this tag field can contain." -} -}, -"type": "object" -}, "GoogleCloudDatacatalogV1beta1Taxonomy": { "description": "A taxonomy is a collection of policy tags that classify data along a common axis. For instance a data *sensitivity* taxonomy could contain policy tags denoting PII such as age, zipcode, and SSN. A data *origin* taxonomy could contain policy tags to distinguish user data, employee data, partner data, public data.", "id": "GoogleCloudDatacatalogV1beta1Taxonomy", @@ -4727,64 +3003,6 @@ true }, "type": "object" }, -"GoogleCloudDatacatalogV1beta1UsageSignal": { -"description": "The set of all usage signals that we store in Data Catalog.", -"id": "GoogleCloudDatacatalogV1beta1UsageSignal", -"properties": { -"updateTime": { -"description": "The timestamp of the end of the usage statistics duration.", -"format": "google-datetime", -"type": "string" -}, -"usageWithinTimeRange": { -"additionalProperties": { -"$ref": "GoogleCloudDatacatalogV1beta1UsageStats" -}, -"description": "Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {\"24H\", \"7D\", \"30D\"}.", -"type": "object" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1UsageStats": { -"description": "Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables", -"id": "GoogleCloudDatacatalogV1beta1UsageStats", -"properties": { -"totalCancellations": { -"description": "The number of times that the underlying entry was attempted to be used but was cancelled by the user.", -"format": "float", -"type": "number" -}, -"totalCompletions": { -"description": "The number of times that the underlying entry was successfully used.", -"format": "float", -"type": "number" -}, -"totalExecutionTimeForCompletionsMillis": { -"description": "Total time spent (in milliseconds) during uses the resulted in completions.", -"format": "float", -"type": "number" -}, -"totalFailures": { -"description": "The number of times that the underlying entry was attempted to be used but failed.", -"format": "float", -"type": "number" -} -}, -"type": "object" -}, -"GoogleCloudDatacatalogV1beta1ViewSpec": { -"description": "Table view specification.", -"id": "GoogleCloudDatacatalogV1beta1ViewSpec", -"properties": { -"viewQuery": { -"description": "Output only. The query that defines the table view.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", From 0e5271776e652ba04fb30bb01ce2af7419db0042 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:26 +0000 Subject: [PATCH 24/57] feat(dataform): update the api #### dataform:v1 The following keys were added: - schemas.InvocationConfig.properties.concurrentActionsLimit (Total Keys: 2) #### dataform:v1beta1 The following keys were added: - resources.projects.resources.locations.resources.repositories.resources.workspaces.methods.createLongRunning (Total Keys: 14) - schemas.InvocationConfig.properties.concurrentActionsLimit (Total Keys: 2) --- ...ocations.repositories.workflowConfigs.html | 6 ++ ...ions.repositories.workflowInvocations.html | 4 ++ ...ocations.repositories.workflowConfigs.html | 6 ++ ...ions.repositories.workflowInvocations.html | 4 ++ ...cts.locations.repositories.workspaces.html | 59 +++++++++++++++++++ .../documents/dataform.v1.json | 13 +++- .../documents/dataform.v1beta1.json | 47 ++++++++++++++- 7 files changed, 133 insertions(+), 6 deletions(-) diff --git a/docs/dyn/dataform_v1.projects.locations.repositories.workflowConfigs.html b/docs/dyn/dataform_v1.projects.locations.repositories.workflowConfigs.html index 5593de2da8..7260466ec4 100644 --- a/docs/dyn/dataform_v1.projects.locations.repositories.workflowConfigs.html +++ b/docs/dyn/dataform_v1.projects.locations.repositories.workflowConfigs.html @@ -116,6 +116,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -177,6 +178,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -262,6 +264,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -337,6 +340,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -415,6 +419,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -476,6 +481,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` diff --git a/docs/dyn/dataform_v1.projects.locations.repositories.workflowInvocations.html b/docs/dyn/dataform_v1.projects.locations.repositories.workflowInvocations.html index 8b2c950c81..bacb1f8dfe 100644 --- a/docs/dyn/dataform_v1.projects.locations.repositories.workflowInvocations.html +++ b/docs/dyn/dataform_v1.projects.locations.repositories.workflowInvocations.html @@ -147,6 +147,7 @@

Method Details

}, "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Immutable. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -204,6 +205,7 @@

Method Details

}, "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Immutable. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -286,6 +288,7 @@

Method Details

}, "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Immutable. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -360,6 +363,7 @@

Method Details

}, "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Immutable. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` diff --git a/docs/dyn/dataform_v1beta1.projects.locations.repositories.workflowConfigs.html b/docs/dyn/dataform_v1beta1.projects.locations.repositories.workflowConfigs.html index 0f8c878d31..7a69519214 100644 --- a/docs/dyn/dataform_v1beta1.projects.locations.repositories.workflowConfigs.html +++ b/docs/dyn/dataform_v1beta1.projects.locations.repositories.workflowConfigs.html @@ -116,6 +116,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -209,6 +210,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -326,6 +328,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -433,6 +436,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -543,6 +547,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -636,6 +641,7 @@

Method Details

"disabled": True or False, # Optional. Disables automatic creation of workflow invocations. "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Optional. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` diff --git a/docs/dyn/dataform_v1beta1.projects.locations.repositories.workflowInvocations.html b/docs/dyn/dataform_v1beta1.projects.locations.repositories.workflowInvocations.html index dc24b307a7..6ece2980d2 100644 --- a/docs/dyn/dataform_v1beta1.projects.locations.repositories.workflowInvocations.html +++ b/docs/dyn/dataform_v1beta1.projects.locations.repositories.workflowInvocations.html @@ -147,6 +147,7 @@

Method Details

}, "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Immutable. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -204,6 +205,7 @@

Method Details

}, "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Immutable. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -286,6 +288,7 @@

Method Details

}, "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Immutable. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` @@ -360,6 +363,7 @@

Method Details

}, "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. "invocationConfig": { # Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. # Immutable. If left unset, a default InvocationConfig will be used. + "concurrentActionsLimit": 42, # Optional. Maximum number of actions that can be executed concurrently. "endUserAuthConfig": { # Includes configuration options for end user authentication. # Optional. Configuration for end user authentication. Do not set if `service_account` is used. "oauthConfig": { # OAuth configuration for end user authentication. # Optional. OAuth configuration for end user authentication. "additionalOauthScopes": [ # Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery` diff --git a/docs/dyn/dataform_v1beta1.projects.locations.repositories.workspaces.html b/docs/dyn/dataform_v1beta1.projects.locations.repositories.workspaces.html index eb7ba2663c..6e0da4aac0 100644 --- a/docs/dyn/dataform_v1beta1.projects.locations.repositories.workspaces.html +++ b/docs/dyn/dataform_v1beta1.projects.locations.repositories.workspaces.html @@ -86,6 +86,9 @@

Instance Methods

create(parent, body=None, workspaceId=None, x__xgafv=None)

Creates a new Workspace in a given Repository.

+

+ createLongRunning(parent, body=None, workspaceId=None, x__xgafv=None)

+

Creates a new Workspace in a given Repository asynchronously.

delete(name, x__xgafv=None)

Deletes a single Workspace.

@@ -300,6 +303,62 @@

Method Details

}
+
+ createLongRunning(parent, body=None, workspaceId=None, x__xgafv=None) +
Creates a new Workspace in a given Repository asynchronously.
+
+Args:
+  parent: string, Required. The repository in which to create the workspace. Must be in the format `projects/*/locations/*/repositories/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a Dataform Git workspace.
+  "createTime": "A String", # Output only. The timestamp of when the workspace was created.
+  "dataEncryptionState": { # Describes encryption state of a resource. # Output only. A data encryption state of a Git repository if this Workspace is protected by a KMS key.
+    "kmsKeyVersionName": "A String", # Required. The KMS key version name with which data of a resource is encrypted.
+  },
+  "depth": 42, # Optional. Input only. Immutable. The maximum depth of the Git repository to checkout for this workspace. If defined and greater than 0, the Git repository will be created as a shallow clone with the given depth, otherwise a full clone will be performed. This field is available only for GitHub, GitLab and 1p repositories with enabled branch management.
+  "disableMoves": True or False, # Optional. If set to true, workspaces will not be moved if its linked Repository is moved. Instead, it will be deleted.
+  "enableBranchManagement": True or False, # Immutable. Controls the enablement of branch checkout for the workspace. When set to True, the workspace will be allowed to checkout branches.
+  "internalMetadata": "A String", # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
+  "name": "A String", # Identifier. The workspace's name.
+  "originalBranch": "A String", # Optional. Input only. Immutable. The name of the default upstream branch for all pull/push operations in the remote repository for this workspace. If empty, the HEAD branch from repository will be used.
+  "privateResourceMetadata": { # Metadata used to identify if a resource is user scoped. # Output only. Metadata indicating whether this resource is user-scoped. For `Workspace` resources, the `user_scoped` field is always `true`.
+    "userScoped": True or False, # Output only. If true, this resource is user-scoped, meaning it is either a workspace or sourced from a workspace.
+  },
+  "shallow": True or False, # Output only. If set to true, the workspace was created as a shallow clone. Will be set to true if the depth field is set to a value greater than 0, otherwise it will be set to false.
+}
+
+  workspaceId: string, Required. The ID to use for the workspace, which will become the final component of the workspace's resource name.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+
delete(name, x__xgafv=None)
Deletes a single Workspace.
diff --git a/googleapiclient/discovery_cache/documents/dataform.v1.json b/googleapiclient/discovery_cache/documents/dataform.v1.json
index 7cc1b87ee0..3bcdfb54eb 100644
--- a/googleapiclient/discovery_cache/documents/dataform.v1.json
+++ b/googleapiclient/discovery_cache/documents/dataform.v1.json
@@ -3249,7 +3249,7 @@
 }
 }
 },
-"revision": "20261021",
+"revision": "20261030",
 "rootUrl": "https://dataform.googleapis.com/",
 "schemas": {
 "ActionErrorTable": {
@@ -4466,6 +4466,11 @@
 "description": "Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included.",
 "id": "InvocationConfig",
 "properties": {
+"concurrentActionsLimit": {
+"description": "Optional. Maximum number of actions that can be executed concurrently.",
+"format": "int32",
+"type": "integer"
+},
 "endUserAuthConfig": {
 "$ref": "EndUserAuthenticationConfig",
 "description": "Optional. Configuration for end user authentication. Do not set if `service_account` is used."
@@ -6181,7 +6186,8 @@
 "DISABLED",
 "SUCCEEDED",
 "CANCELLED",
-"FAILED"
+"FAILED",
+"QUEUED"
 ],
 "enumDescriptions": [
 "The action has not yet been considered for invocation.",
@@ -6190,7 +6196,8 @@
 "Execution of the action was disabled as per the configuration of the corresponding compilation result action. A terminal state.",
 "The action succeeded. A terminal state.",
 "The action was cancelled. A terminal state.",
-"The action failed. A terminal state."
+"The action failed. A terminal state.",
+"Execution of the action was queued waiting for an available concurrency slot."
 ],
 "readOnly": true,
 "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/dataform.v1beta1.json b/googleapiclient/discovery_cache/documents/dataform.v1beta1.json
index 262ff5345c..195ae63b8d 100644
--- a/googleapiclient/discovery_cache/documents/dataform.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/dataform.v1beta1.json
@@ -2269,6 +2269,40 @@
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
+"createLongRunning": {
+"description": "Creates a new Workspace in a given Repository asynchronously.",
+"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces:createLongRunning",
+"httpMethod": "POST",
+"id": "dataform.projects.locations.repositories.workspaces.createLongRunning",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The repository in which to create the workspace. Must be in the format `projects/*/locations/*/repositories/*`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
+"required": true,
+"type": "string"
+},
+"workspaceId": {
+"description": "Required. The ID to use for the workspace, which will become the final component of the workspace's resource name.",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1beta1/{+parent}/workspaces:createLongRunning",
+"request": {
+"$ref": "Workspace"
+},
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/bigquery",
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
 "delete": {
 "description": "Deletes a single Workspace.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}",
@@ -3494,7 +3528,7 @@
 }
 }
 },
-"revision": "20261021",
+"revision": "20261030",
 "rootUrl": "https://dataform.googleapis.com/",
 "schemas": {
 "ActionErrorTable": {
@@ -4832,6 +4866,11 @@
 "description": "Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included.",
 "id": "InvocationConfig",
 "properties": {
+"concurrentActionsLimit": {
+"description": "Optional. Maximum number of actions that can be executed concurrently.",
+"format": "int32",
+"type": "integer"
+},
 "endUserAuthConfig": {
 "$ref": "EndUserAuthenticationConfig",
 "description": "Optional. Configuration for end user authentication. Do not set if `service_account` is used."
@@ -6608,7 +6647,8 @@
 "DISABLED",
 "SUCCEEDED",
 "CANCELLED",
-"FAILED"
+"FAILED",
+"QUEUED"
 ],
 "enumDescriptions": [
 "The action has not yet been considered for invocation.",
@@ -6617,7 +6657,8 @@
 "Execution of the action was disabled as per the configuration of the corresponding compilation result action. A terminal state.",
 "The action succeeded. A terminal state.",
 "The action was cancelled. A terminal state.",
-"The action failed. A terminal state."
+"The action failed. A terminal state.",
+"Execution of the action was queued waiting for an available concurrency slot."
 ],
 "readOnly": true,
 "type": "string"

From b3871b22bb13fa7ed00b4dac8596e9134a23b47f Mon Sep 17 00:00:00 2001
From: Yoshi Automation 
Date: Tue, 10 Nov 2026 07:13:26 +0000
Subject: [PATCH 25/57] fix(datalineage): update the api

#### datalineage:v1

The following keys were changed:
- endpoints (Total Keys: 1)
---
 .../discovery_cache/documents/datalineage.v1.json          | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/googleapiclient/discovery_cache/documents/datalineage.v1.json b/googleapiclient/discovery_cache/documents/datalineage.v1.json
index 61334e9e88..1e5d628710 100644
--- a/googleapiclient/discovery_cache/documents/datalineage.v1.json
+++ b/googleapiclient/discovery_cache/documents/datalineage.v1.json
@@ -79,6 +79,11 @@
 },
 {
 "description": "Regional Endpoint",
+"endpointUrl": "https://datalineage.asia-southeast4.rep.googleapis.com/",
+"location": "asia-southeast4"
+},
+{
+"description": "Regional Endpoint",
 "endpointUrl": "https://datalineage.australia-southeast1.rep.googleapis.com/",
 "location": "australia-southeast1"
 },
@@ -1275,7 +1280,7 @@
 }
 }
 },
-"revision": "20261017",
+"revision": "20261030",
 "rootUrl": "https://datalineage.googleapis.com/",
 "schemas": {
 "GoogleCloudDatacatalogLineageConfigmanagementV1Config": {

From 9fc1e07dd180f3d6404427f6e3544c06b1de8a81 Mon Sep 17 00:00:00 2001
From: Yoshi Automation 
Date: Tue, 10 Nov 2026 07:13:26 +0000
Subject: [PATCH 26/57] feat(datamanager): update the api

#### datamanager:v1

The following keys were added:
- resources.accountTypes.resources.accounts.resources.reports.methods.retrievePartnerMatchReport (Total Keys: 26)
- schemas.AdIdentifiers.properties.leadId.type (Total Keys: 1)
- schemas.CallInfo (Total Keys: 4)
- schemas.ErrorCount.properties.recordIndices (Total Keys: 3)
- schemas.Event.properties.callInfo.$ref (Total Keys: 1)
- schemas.Money (Total Keys: 7)
- schemas.PartnerMatchAdGroup (Total Keys: 5)
- schemas.PartnerMatchAdvertiserAccount (Total Keys: 5)
- schemas.PartnerMatchCampaign (Total Keys: 5)
- schemas.PartnerMatchLineItem (Total Keys: 5)
- schemas.PartnerMatchReportEntry (Total Keys: 11)
- schemas.PartnerMatchUserList (Total Keys: 5)
- schemas.RetrievePartnerMatchReportResponse (Total Keys: 5)
- schemas.WarningCount.properties.recordIndices (Total Keys: 3)
---
 .../datamanager_v1.accountTypes.accounts.html |   5 +
 ...ager_v1.accountTypes.accounts.reports.html | 167 ++++++++++++
 docs/dyn/datamanager_v1.events.html           |   4 +
 docs/dyn/datamanager_v1.requestStatus.html    |   6 +
 .../documents/datamanager.v1.json             | 255 +++++++++++++++++-
 5 files changed, 433 insertions(+), 4 deletions(-)
 create mode 100644 docs/dyn/datamanager_v1.accountTypes.accounts.reports.html

diff --git a/docs/dyn/datamanager_v1.accountTypes.accounts.html b/docs/dyn/datamanager_v1.accountTypes.accounts.html
index 7064b848b9..a52ae4d1cd 100644
--- a/docs/dyn/datamanager_v1.accountTypes.accounts.html
+++ b/docs/dyn/datamanager_v1.accountTypes.accounts.html
@@ -84,6 +84,11 @@ 

Instance Methods

Returns the partnerLinks Resource.

+

+ reports() +

+

Returns the reports Resource.

+

userListDirectLicenses()

diff --git a/docs/dyn/datamanager_v1.accountTypes.accounts.reports.html b/docs/dyn/datamanager_v1.accountTypes.accounts.reports.html new file mode 100644 index 0000000000..4c8df5d558 --- /dev/null +++ b/docs/dyn/datamanager_v1.accountTypes.accounts.reports.html @@ -0,0 +1,167 @@ + + + +

Data Manager API . accountTypes . accounts . reports

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ retrievePartnerMatchReport(parent, currencyCode=None, endDate=None, filter=None, pageSize=None, pageToken=None, startDate=None, x__xgafv=None)

+

+

+ retrievePartnerMatchReport_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ retrievePartnerMatchReport(parent, currencyCode=None, endDate=None, filter=None, pageSize=None, pageToken=None, startDate=None, x__xgafv=None) +
+
+Args:
+  parent: string, A parameter (required)
+  currencyCode: string, A parameter
+  endDate: string, A parameter
+  filter: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  startDate: string, A parameter
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+  "nextPageToken": "A String",
+  "partnerMatchReportEntries": [
+    {
+      "adGroup": {
+        "adGroupId": "A String",
+        "displayName": "A String",
+      },
+      "advertiserAccount": {
+        "accountId": "A String",
+        "accountType": "A String",
+        "displayName": "A String",
+      },
+      "campaign": {
+        "campaignId": "A String",
+        "displayName": "A String",
+      },
+      "dataFees": {
+        "currencyCode": "A String",
+        "nanos": 42,
+        "units": "A String",
+      },
+      "impressionCount": "A String",
+      "lineItem": {
+        "displayName": "A String",
+        "lineItemId": "A String",
+      },
+      "mediaCost": {
+        "currencyCode": "A String",
+        "nanos": 42,
+        "units": "A String",
+      },
+      "userList": {
+        "displayName": "A String",
+        "userListId": "A String",
+      },
+    },
+  ],
+}
+
+ +
+ retrievePartnerMatchReport_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/datamanager_v1.events.html b/docs/dyn/datamanager_v1.events.html index f10c381453..586f4fccd4 100644 --- a/docs/dyn/datamanager_v1.events.html +++ b/docs/dyn/datamanager_v1.events.html @@ -167,6 +167,7 @@

Method Details

"screenWidth": 42, "userAgent": "A String", }, + "leadId": "A String", "matchId": "A String", "mobileDeviceId": "A String", "ppid": "A String", @@ -181,6 +182,9 @@

Method Details

}, ], "appInstanceId": "A String", + "callInfo": { + "startTimestamp": "A String", + }, "cartData": { "couponCodes": [ "A String", diff --git a/docs/dyn/datamanager_v1.requestStatus.html b/docs/dyn/datamanager_v1.requestStatus.html index 2e45772c0a..1b0e3d2dee 100644 --- a/docs/dyn/datamanager_v1.requestStatus.html +++ b/docs/dyn/datamanager_v1.requestStatus.html @@ -207,6 +207,9 @@

Method Details

{ "reason": "A String", "recordCount": "A String", + "recordIndices": [ + 42, + ], }, ], }, @@ -221,6 +224,9 @@

Method Details

{ "reason": "A String", "recordCount": "A String", + "recordIndices": [ + 42, + ], }, ], }, diff --git a/googleapiclient/discovery_cache/documents/datamanager.v1.json b/googleapiclient/discovery_cache/documents/datamanager.v1.json index cba11faff9..5e847598ef 100644 --- a/googleapiclient/discovery_cache/documents/datamanager.v1.json +++ b/googleapiclient/discovery_cache/documents/datamanager.v1.json @@ -238,6 +238,61 @@ } } }, +"reports": { +"methods": { +"retrievePartnerMatchReport": { +"description": "", +"flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/reports:retrievePartnerMatchReport", +"httpMethod": "GET", +"id": "datamanager.accountTypes.accounts.reports.retrievePartnerMatchReport", +"parameterOrder": [ +"parent" +], +"parameters": { +"currencyCode": { +"location": "query", +"type": "string" +}, +"endDate": { +"format": "int64", +"location": "query", +"type": "string" +}, +"filter": { +"location": "query", +"type": "string" +}, +"pageSize": { +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"location": "query", +"type": "string" +}, +"parent": { +"location": "path", +"pattern": "^accountTypes/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +}, +"startDate": { +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/reports:retrievePartnerMatchReport", +"response": { +"$ref": "RetrievePartnerMatchReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/datamanager" +] +} +} +}, "userListDirectLicenses": { "methods": { "create": { @@ -860,7 +915,7 @@ } } }, -"revision": "20261007", +"revision": "20261106", "rootUrl": "https://datamanager.googleapis.com/", "schemas": { "AdEvent": { @@ -1168,6 +1223,9 @@ "landingPageDeviceInfo": { "$ref": "DeviceInfo" }, +"leadId": { +"type": "string" +}, "matchId": { "type": "string" }, @@ -1293,6 +1351,16 @@ }, "type": "object" }, +"CallInfo": { +"id": "CallInfo", +"properties": { +"startTimestamp": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, "CartData": { "id": "CartData", "properties": { @@ -1636,7 +1704,10 @@ "PROCESSING_ERROR_REASON_CLICK_NOT_FOUND", "PROCESSING_ERROR_REASON_EXTERNAL_ATTRIBUTION_DATA_MISSING", "PROCESSING_ERROR_REASON_DESTINATION_TOO_RECENTLY_CREATED", -"PROCESSING_ERROR_REASON_EXPIRED_CLICK" +"PROCESSING_ERROR_REASON_EXPIRED_CLICK", +"PROCESSING_ERROR_REASON_TOO_RECENT_CALL", +"PROCESSING_ERROR_REASON_EXPIRED_CALL", +"PROCESSING_ERROR_REASON_INVALID_CALL" ], "enumDescriptions": [ "", @@ -1685,6 +1756,9 @@ "", "", "", +"", +"", +"", "" ], "type": "string" @@ -1692,6 +1766,13 @@ "recordCount": { "format": "int64", "type": "string" +}, +"recordIndices": { +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" } }, "type": "object" @@ -1723,6 +1804,9 @@ "appInstanceId": { "type": "string" }, +"callInfo": { +"$ref": "CallInfo" +}, "cartData": { "$ref": "CartData" }, @@ -1890,7 +1974,18 @@ "WARNING_REASON_INVALID_CONTINENT_CODE", "WARNING_REASON_INVALID_DEVICE_CATEGORY", "WARNING_REASON_INVALID_DEVICE_SCREEN_RESOLUTION", -"WARNING_REASON_INVALID_MERCHANT_ID" +"WARNING_REASON_INVALID_MERCHANT_ID", +"WARNING_REASON_INVALID_NUMBER_FORMAT", +"WARNING_REASON_INVALID_SHA256_FORMAT", +"WARNING_REASON_INVALID_MERCHANT_FEED_LANGUAGE_CODE", +"WARNING_REASON_FIELD_VALUE_TOO_LONG", +"WARNING_REASON_FIELD_VALUE_TOO_SHORT", +"WARNING_REASON_VALUE_TOO_HIGH", +"WARNING_REASON_VALUE_TOO_LOW", +"WARNING_REASON_TOO_MANY_ELEMENTS", +"WARNING_REASON_DUPLICATE_ELEMENTS", +"WARNING_REASON_CUSTOM_VARIABLES_NOT_SUPPORTED_WITH_GBRAID_OR_WBRAID", +"WARNING_REASON_ADIDENTIFIER_NOT_USED" ], "enumDescriptions": [ "", @@ -1907,6 +2002,17 @@ "", "", "", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", "" ], "type": "string" @@ -2691,6 +2797,23 @@ }, "type": "object" }, +"Money": { +"id": "Money", +"properties": { +"currencyCode": { +"type": "string" +}, +"nanos": { +"format": "int32", +"type": "integer" +}, +"units": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, "PairData": { "id": "PairData", "properties": { @@ -2816,6 +2939,104 @@ }, "type": "object" }, +"PartnerMatchAdGroup": { +"id": "PartnerMatchAdGroup", +"properties": { +"adGroupId": { +"format": "int64", +"type": "string" +}, +"displayName": { +"type": "string" +} +}, +"type": "object" +}, +"PartnerMatchAdvertiserAccount": { +"id": "PartnerMatchAdvertiserAccount", +"properties": { +"accountId": { +"type": "string" +}, +"accountType": { +"type": "string" +}, +"displayName": { +"type": "string" +} +}, +"type": "object" +}, +"PartnerMatchCampaign": { +"id": "PartnerMatchCampaign", +"properties": { +"campaignId": { +"format": "int64", +"type": "string" +}, +"displayName": { +"type": "string" +} +}, +"type": "object" +}, +"PartnerMatchLineItem": { +"id": "PartnerMatchLineItem", +"properties": { +"displayName": { +"type": "string" +}, +"lineItemId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PartnerMatchReportEntry": { +"id": "PartnerMatchReportEntry", +"properties": { +"adGroup": { +"$ref": "PartnerMatchAdGroup" +}, +"advertiserAccount": { +"$ref": "PartnerMatchAdvertiserAccount" +}, +"campaign": { +"$ref": "PartnerMatchCampaign" +}, +"dataFees": { +"$ref": "Money" +}, +"impressionCount": { +"format": "int64", +"type": "string" +}, +"lineItem": { +"$ref": "PartnerMatchLineItem" +}, +"mediaCost": { +"$ref": "Money" +}, +"userList": { +"$ref": "PartnerMatchUserList" +} +}, +"type": "object" +}, +"PartnerMatchUserList": { +"id": "PartnerMatchUserList", +"properties": { +"displayName": { +"type": "string" +}, +"userListId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, "PartnerProvidedIdData": { "id": "PartnerProvidedIdData", "properties": { @@ -3255,6 +3476,21 @@ }, "type": "object" }, +"RetrievePartnerMatchReportResponse": { +"id": "RetrievePartnerMatchReportResponse", +"properties": { +"nextPageToken": { +"type": "string" +}, +"partnerMatchReportEntries": { +"items": { +"$ref": "PartnerMatchReportEntry" +}, +"type": "array" +} +}, +"type": "object" +}, "RetrieveRequestStatusResponse": { "id": "RetrieveRequestStatusResponse", "properties": { @@ -3977,7 +4213,9 @@ "PROCESSING_WARNING_REASON_INVALID_KEK", "PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR", "PROCESSING_WARNING_REASON_INTERNAL_ERROR", -"PROCESSING_WARNING_REASON_AWS_AUTH_FAILED" +"PROCESSING_WARNING_REASON_AWS_AUTH_FAILED", +"PROCESSING_WARNING_REASON_CUSTOM_VARIABLE_NOT_ENABLED", +"PROCESSING_WARNING_REASON_CUSTOM_VARIABLE_NOT_PREDEFINED" ], "enumDescriptions": [ "", @@ -3989,6 +4227,8 @@ "", "", "", +"", +"", "" ], "type": "string" @@ -3996,6 +4236,13 @@ "recordCount": { "format": "int64", "type": "string" +}, +"recordIndices": { +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" } }, "type": "object" From 45c5c5cca8be045122fe8eae2c1fd57c6f3128f5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:26 +0000 Subject: [PATCH 27/57] feat(datamigration): update the api #### datamigration:v1 The following keys were added: - schemas.GcsSource (Total Keys: 4) - schemas.SeedConversionWorkspaceRequest.properties.gcsSource.$ref (Total Keys: 1) - schemas.SourceObjectsConfig.properties.excludedObjectConfigs (Total Keys: 2) --- ...ojects.locations.conversionWorkspaces.html | 4 + ...n_v1.projects.locations.migrationJobs.html | 84 +++++++++++++++++-- .../documents/datamigration.v1.json | 30 ++++++- 3 files changed, 109 insertions(+), 9 deletions(-) diff --git a/docs/dyn/datamigration_v1.projects.locations.conversionWorkspaces.html b/docs/dyn/datamigration_v1.projects.locations.conversionWorkspaces.html index ca319ab341..ba20c7aaa3 100644 --- a/docs/dyn/datamigration_v1.projects.locations.conversionWorkspaces.html +++ b/docs/dyn/datamigration_v1.projects.locations.conversionWorkspaces.html @@ -1183,6 +1183,10 @@

Method Details

{ # Request message for 'SeedConversionWorkspace' request. "autoCommit": True or False, # Should the conversion workspace be committed automatically after the seed operation. "destinationConnectionProfile": "A String", # Optional. Fully qualified (Uri) name of the destination connection profile. + "gcsSource": { # Cloud Storage source details for seeding. # Optional. Cloud Storage source details for seeding. + "bucket": "A String", # Required. The Cloud Storage bucket containing the schema report files. + "prefix": "A String", # Required. The prefix for the report paths in the bucket. Different seed versions (report versions) might reside in the same bucket, the prefix allows to identify the correct seed version. + }, "sourceConnectionProfile": "A String", # Optional. Fully qualified (Uri) name of the source connection profile. } diff --git a/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html b/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html index 40a76c26cb..86717ed4ae 100644 --- a/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html +++ b/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html @@ -198,7 +198,17 @@

Method Details

"name": "A String", # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. "objectsConfig": { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated. "sourceObjectsConfig": { # List of configurations for the source objects to be migrated. # The list of the migration job objects. - "objectConfigs": [ # Optional. The list of the objects to be migrated. + "excludedObjectConfigs": [ # Optional. The list of the objects to be excluded from the migration. Exclusion takes precedence over inclusion in `object_configs`. + { # Config for a single migration job object. + "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. + "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. + "schema": "A String", # Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier. + "table": "A String", # Optional. The table name. This will be required only if the object is a level below database or schema. + "type": "A String", # Required. The type of the migration job object. + }, + }, + ], + "objectConfigs": [ # Optional. The list of the objects to be included in the migration. { # Config for a single migration job object. "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. @@ -573,7 +583,17 @@

Method Details

"name": "A String", # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. "objectsConfig": { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated. "sourceObjectsConfig": { # List of configurations for the source objects to be migrated. # The list of the migration job objects. - "objectConfigs": [ # Optional. The list of the objects to be migrated. + "excludedObjectConfigs": [ # Optional. The list of the objects to be excluded from the migration. Exclusion takes precedence over inclusion in `object_configs`. + { # Config for a single migration job object. + "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. + "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. + "schema": "A String", # Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier. + "table": "A String", # Optional. The table name. This will be required only if the object is a level below database or schema. + "type": "A String", # Required. The type of the migration job object. + }, + }, + ], + "objectConfigs": [ # Optional. The list of the objects to be included in the migration. { # Config for a single migration job object. "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. @@ -795,7 +815,17 @@

Method Details

"name": "A String", # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. "objectsConfig": { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated. "sourceObjectsConfig": { # List of configurations for the source objects to be migrated. # The list of the migration job objects. - "objectConfigs": [ # Optional. The list of the objects to be migrated. + "excludedObjectConfigs": [ # Optional. The list of the objects to be excluded from the migration. Exclusion takes precedence over inclusion in `object_configs`. + { # Config for a single migration job object. + "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. + "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. + "schema": "A String", # Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier. + "table": "A String", # Optional. The table name. This will be required only if the object is a level below database or schema. + "type": "A String", # Required. The type of the migration job object. + }, + }, + ], + "objectConfigs": [ # Optional. The list of the objects to be included in the migration. { # Config for a single migration job object. "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. @@ -978,7 +1008,17 @@

Method Details

"name": "A String", # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. "objectsConfig": { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated. "sourceObjectsConfig": { # List of configurations for the source objects to be migrated. # The list of the migration job objects. - "objectConfigs": [ # Optional. The list of the objects to be migrated. + "excludedObjectConfigs": [ # Optional. The list of the objects to be excluded from the migration. Exclusion takes precedence over inclusion in `object_configs`. + { # Config for a single migration job object. + "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. + "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. + "schema": "A String", # Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier. + "table": "A String", # Optional. The table name. This will be required only if the object is a level below database or schema. + "type": "A String", # Required. The type of the migration job object. + }, + }, + ], + "objectConfigs": [ # Optional. The list of the objects to be included in the migration. { # Config for a single migration job object. "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. @@ -1131,7 +1171,17 @@

Method Details

"failback": True or False, # Optional. If true, the promote operation will perform a failback promote from destination back to source (only supported when the migration job is in FAILBACK phase). "objectsFilter": { # Configuration for the objects to be migrated. # Optional. The object filter to apply to the migration job. "sourceObjectsConfig": { # List of configurations for the source objects to be migrated. # The list of the migration job objects. - "objectConfigs": [ # Optional. The list of the objects to be migrated. + "excludedObjectConfigs": [ # Optional. The list of the objects to be excluded from the migration. Exclusion takes precedence over inclusion in `object_configs`. + { # Config for a single migration job object. + "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. + "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. + "schema": "A String", # Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier. + "table": "A String", # Optional. The table name. This will be required only if the object is a level below database or schema. + "type": "A String", # Required. The type of the migration job object. + }, + }, + ], + "objectConfigs": [ # Optional. The list of the objects to be included in the migration. { # Config for a single migration job object. "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. @@ -1187,7 +1237,17 @@

Method Details

{ # Request message for 'RestartMigrationJob' request. "objectsFilter": { # Configuration for the objects to be migrated. # Optional. The object filter to apply to the migration job. "sourceObjectsConfig": { # List of configurations for the source objects to be migrated. # The list of the migration job objects. - "objectConfigs": [ # Optional. The list of the objects to be migrated. + "excludedObjectConfigs": [ # Optional. The list of the objects to be excluded from the migration. Exclusion takes precedence over inclusion in `object_configs`. + { # Config for a single migration job object. + "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. + "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. + "schema": "A String", # Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier. + "table": "A String", # Optional. The table name. This will be required only if the object is a level below database or schema. + "type": "A String", # Required. The type of the migration job object. + }, + }, + ], + "objectConfigs": [ # Optional. The list of the objects to be included in the migration. { # Config for a single migration job object. "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. @@ -1527,7 +1587,17 @@

Method Details

"name": "A String", # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. "objectsConfig": { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated. "sourceObjectsConfig": { # List of configurations for the source objects to be migrated. # The list of the migration job objects. - "objectConfigs": [ # Optional. The list of the objects to be migrated. + "excludedObjectConfigs": [ # Optional. The list of the objects to be excluded from the migration. Exclusion takes precedence over inclusion in `object_configs`. + { # Config for a single migration job object. + "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. + "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. + "schema": "A String", # Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier. + "table": "A String", # Optional. The table name. This will be required only if the object is a level below database or schema. + "type": "A String", # Required. The type of the migration job object. + }, + }, + ], + "objectConfigs": [ # Optional. The list of the objects to be included in the migration. { # Config for a single migration job object. "objectIdentifier": { # An identifier for the Migration Job Object. # Optional. The object identifier. "database": "A String", # Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. diff --git a/googleapiclient/discovery_cache/documents/datamigration.v1.json b/googleapiclient/discovery_cache/documents/datamigration.v1.json index 6f870e0fd6..d0feee11c8 100644 --- a/googleapiclient/discovery_cache/documents/datamigration.v1.json +++ b/googleapiclient/discovery_cache/documents/datamigration.v1.json @@ -2754,7 +2754,7 @@ } } }, -"revision": "20261015", +"revision": "20261103", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AlloyDbConnectionProfile": { @@ -4889,6 +4889,21 @@ }, "type": "object" }, +"GcsSource": { +"description": "Cloud Storage source details for seeding.", +"id": "GcsSource", +"properties": { +"bucket": { +"description": "Required. The Cloud Storage bucket containing the schema report files.", +"type": "string" +}, +"prefix": { +"description": "Required. The prefix for the report paths in the bucket. Different seed versions (report versions) might reside in the same bucket, the prefix allows to identify the correct seed version.", +"type": "string" +} +}, +"type": "object" +}, "GenerateSshScriptRequest": { "description": "Request message for 'GenerateSshScript' request.", "id": "GenerateSshScriptRequest", @@ -7530,6 +7545,10 @@ "description": "Optional. Fully qualified (Uri) name of the destination connection profile.", "type": "string" }, +"gcsSource": { +"$ref": "GcsSource", +"description": "Optional. Cloud Storage source details for seeding." +}, "sourceConnectionProfile": { "description": "Optional. Fully qualified (Uri) name of the source connection profile.", "type": "string" @@ -7927,8 +7946,15 @@ "description": "List of configurations for the source objects to be migrated.", "id": "SourceObjectsConfig", "properties": { +"excludedObjectConfigs": { +"description": "Optional. The list of the objects to be excluded from the migration. Exclusion takes precedence over inclusion in `object_configs`.", +"items": { +"$ref": "SourceObjectConfig" +}, +"type": "array" +}, "objectConfigs": { -"description": "Optional. The list of the objects to be migrated.", +"description": "Optional. The list of the objects to be included in the migration.", "items": { "$ref": "SourceObjectConfig" }, From b5fa6e1740da59ee67d12d420253a4b8e3797f30 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:26 +0000 Subject: [PATCH 28/57] feat(dataplex): update the api #### dataplex:v1 The following keys were added: - schemas.GoogleCloudDataplexV1BatchOperationMetadata (Total Keys: 21) The following keys were changed: - resources.projects.resources.locations.resources.entryGroups.resources.entryLinks.methods.get.scopes (Total Keys: 1) --- .../documents/dataplex.v1.json | 58 ++++++++++++++++++- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/googleapiclient/discovery_cache/documents/dataplex.v1.json b/googleapiclient/discovery_cache/documents/dataplex.v1.json index 55c6a2cfda..6736065714 100644 --- a/googleapiclient/discovery_cache/documents/dataplex.v1.json +++ b/googleapiclient/discovery_cache/documents/dataplex.v1.json @@ -4133,7 +4133,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", -"https://www.googleapis.com/auth/dataplex.read-write" +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/dataplex.read-write", +"https://www.googleapis.com/auth/dataplex.readonly" ] }, "patch": { @@ -7641,7 +7643,7 @@ } } }, -"revision": "20261027", +"revision": "20261106", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -8617,6 +8619,58 @@ }, "type": "object" }, +"GoogleCloudDataplexV1BatchOperationMetadata": { +"description": "Represents the metadata of a long-running operation.", +"id": "GoogleCloudDataplexV1BatchOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"failedRequests": { +"additionalProperties": { +"$ref": "GoogleRpcStatus" +}, +"description": "Output only. A map of failed requests, where the key is the index of the request in a batch and the value is the error status.", +"readOnly": true, +"type": "object" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation. This corresponds to the type of operation being performed. For example: 'batchCreate' or 'batchChangeMetadata'.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDataplexV1BusinessGlossaryEvent": { "description": "Payload associated with Business Glossary related log events.", "id": "GoogleCloudDataplexV1BusinessGlossaryEvent", From 22abbfbcb3d73986bd2d9eba2867fe1987914559 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:26 +0000 Subject: [PATCH 29/57] feat(dataproc): update the api #### dataproc:v1 The following keys were added: - schemas.ClusterConfig.properties.schedulingConfig.$ref (Total Keys: 1) - schemas.SchedulingConfig (Total Keys: 6) --- ....projects.locations.workflowTemplates.html | 28 +++++++++++++++++++ ...dataproc_v1.projects.regions.clusters.html | 16 +++++++++++ ...v1.projects.regions.workflowTemplates.html | 28 +++++++++++++++++++ .../documents/dataproc.v1.json | 23 ++++++++++++++- 4 files changed, 94 insertions(+), 1 deletion(-) diff --git a/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html b/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html index 4405681cca..16653a53b3 100644 --- a/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html +++ b/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html @@ -733,6 +733,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -1588,6 +1592,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -2470,6 +2478,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -3416,6 +3428,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -4312,6 +4328,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -5276,6 +5296,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -6131,6 +6155,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). diff --git a/docs/dyn/dataproc_v1.projects.regions.clusters.html b/docs/dyn/dataproc_v1.projects.regions.clusters.html index 87df5c1e5e..a125dfdb36 100644 --- a/docs/dyn/dataproc_v1.projects.regions.clusters.html +++ b/docs/dyn/dataproc_v1.projects.regions.clusters.html @@ -477,6 +477,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -1282,6 +1286,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -2048,6 +2056,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -2734,6 +2746,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). diff --git a/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html b/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html index 2cfe1cac09..c83a627625 100644 --- a/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html +++ b/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html @@ -733,6 +733,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -1588,6 +1592,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -2470,6 +2478,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -3416,6 +3428,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -4312,6 +4328,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -5276,6 +5296,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). @@ -6131,6 +6155,10 @@

Method Details

"metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, + "schedulingConfig": { # Config for scheduling the request to create Compute Engine resources for the cluster, when available. # Optional. Config for scheduling the resources to be allocated when available. + "requestedRunDuration": "A String", # Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner. + "schedulingTimeout": "A String", # Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days + }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). diff --git a/googleapiclient/discovery_cache/documents/dataproc.v1.json b/googleapiclient/discovery_cache/documents/dataproc.v1.json index bddf163e80..5d21c71b31 100644 --- a/googleapiclient/discovery_cache/documents/dataproc.v1.json +++ b/googleapiclient/discovery_cache/documents/dataproc.v1.json @@ -5503,7 +5503,7 @@ } } }, -"revision": "20261016", +"revision": "20261023", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -6664,6 +6664,10 @@ "$ref": "MetastoreConfig", "description": "Optional. Metastore configuration." }, +"schedulingConfig": { +"$ref": "SchedulingConfig", +"description": "Optional. Config for scheduling the resources to be allocated when available." +}, "secondaryWorkerConfig": { "$ref": "InstanceGroupConfig", "description": "Optional. The Compute Engine config settings for a cluster's secondary worker instances" @@ -10757,6 +10761,23 @@ }, "type": "object" }, +"SchedulingConfig": { +"description": "Config for scheduling the request to create Compute Engine resources for the cluster, when available.", +"id": "SchedulingConfig", +"properties": { +"requestedRunDuration": { +"description": "Optional. Required lifetime of the resources, once provisioned. Min 10 mins, Max/Default 7 days . Note that the cluster can still be deleted before reaching this time. This time is a maximum amount of time before the cluster is forcibly deleted. Lower times are more likely to start running sooner.", +"format": "google-duration", +"type": "string" +}, +"schedulingTimeout": { +"description": "Optional. How long to wait for worker resources to be allocated before failing the cluster creation request. Max/Default value: 13 days", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, "SearchSessionSparkApplicationExecutorStageSummaryResponse": { "description": "List of Executors associated with a Spark Application Stage.", "id": "SearchSessionSparkApplicationExecutorStageSummaryResponse", From 90f7cc93163a5c950832401a4e4790b5e6a0bf79 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:26 +0000 Subject: [PATCH 30/57] feat(dialogflow): update the api #### dialogflow:v2 The following keys were added: - endpoints (Total Keys: 1) - schemas.GoogleCloudDialogflowV2InputAudioConfig.properties.profanityFilter.type (Total Keys: 1) - schemas.GoogleCloudDialogflowV2SpeechToTextConfig.properties.profanityFilter.type (Total Keys: 1) #### dialogflow:v2beta1 The following keys were added: - endpoints (Total Keys: 1) - schemas.GoogleCloudDialogflowV2beta1InputAudioConfig.properties.profanityFilter.type (Total Keys: 1) - schemas.GoogleCloudDialogflowV2beta1SpeechToTextConfig.properties.profanityFilter.type (Total Keys: 1) #### dialogflow:v3 The following keys were added: - endpoints (Total Keys: 1) #### dialogflow:v3beta1 The following keys were added: - endpoints (Total Keys: 1) --- ...rojects.agent.environments.users.sessions.html | 1 + .../dialogflow_v2.projects.agent.sessions.html | 1 + ...alogflow_v2.projects.conversationProfiles.html | 6 ++++++ .../dyn/dialogflow_v2.projects.conversations.html | 5 +++++ ...ow_v2.projects.conversations.participants.html | 1 + ...cations.agent.environments.users.sessions.html | 1 + ...flow_v2.projects.locations.agent.sessions.html | 1 + ...2.projects.locations.conversationProfiles.html | 6 ++++++ ...gflow_v2.projects.locations.conversations.html | 5 +++++ ...ects.locations.conversations.participants.html | 1 + ...logflow_v2.projects.locations.suggestions.html | 1 + docs/dyn/dialogflow_v2.projects.suggestions.html | 1 + ...rojects.agent.environments.users.sessions.html | 1 + ...ialogflow_v2beta1.projects.agent.sessions.html | 1 + ...low_v2beta1.projects.conversationProfiles.html | 6 ++++++ ...dialogflow_v2beta1.projects.conversations.html | 5 +++++ ...beta1.projects.conversations.participants.html | 1 + ...cations.agent.environments.users.sessions.html | 1 + ...v2beta1.projects.locations.agent.sessions.html | 1 + ...1.projects.locations.conversationProfiles.html | 6 ++++++ ..._v2beta1.projects.locations.conversations.html | 5 +++++ ...ects.locations.conversations.participants.html | 1 + ...ow_v2beta1.projects.locations.suggestions.html | 1 + .../dialogflow_v2beta1.projects.suggestions.html | 1 + .../discovery_cache/documents/dialogflow.v2.json | 15 ++++++++++++++- .../documents/dialogflow.v2beta1.json | 15 ++++++++++++++- .../discovery_cache/documents/dialogflow.v3.json | 9 ++++++++- .../documents/dialogflow.v3beta1.json | 9 ++++++++- 28 files changed, 104 insertions(+), 4 deletions(-) diff --git a/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html index 05998c87a5..b1e0abf471 100644 --- a/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html +++ b/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html @@ -179,6 +179,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2.projects.agent.sessions.html b/docs/dyn/dialogflow_v2.projects.agent.sessions.html index 6a8f48679a..34de7519d0 100644 --- a/docs/dyn/dialogflow_v2.projects.agent.sessions.html +++ b/docs/dyn/dialogflow_v2.projects.agent.sessions.html @@ -179,6 +179,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2.projects.conversationProfiles.html index c6fb69640a..694074574a 100644 --- a/docs/dyn/dialogflow_v2.projects.conversationProfiles.html +++ b/docs/dyn/dialogflow_v2.projects.conversationProfiles.html @@ -387,6 +387,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -651,6 +652,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -940,6 +942,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1215,6 +1218,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1498,6 +1502,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1763,6 +1768,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.conversations.html b/docs/dyn/dialogflow_v2.projects.conversations.html index 8a4d6c8950..741549bd52 100644 --- a/docs/dyn/dialogflow_v2.projects.conversations.html +++ b/docs/dyn/dialogflow_v2.projects.conversations.html @@ -380,6 +380,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -694,6 +695,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1007,6 +1009,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1326,6 +1329,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1650,6 +1654,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.conversations.participants.html index e3e394d7fa..5472bd5a14 100644 --- a/docs/dyn/dialogflow_v2.projects.conversations.participants.html +++ b/docs/dyn/dialogflow_v2.projects.conversations.participants.html @@ -144,6 +144,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.users.sessions.html index 3745804902..df236ad024 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.users.sessions.html +++ b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.users.sessions.html @@ -179,6 +179,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html b/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html index 5de4b114ec..38d450d5d9 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html +++ b/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html @@ -179,6 +179,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html index 5cb17c3d19..8b182440f6 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html +++ b/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html @@ -387,6 +387,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -651,6 +652,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -940,6 +942,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1215,6 +1218,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1498,6 +1502,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1763,6 +1768,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversations.html b/docs/dyn/dialogflow_v2.projects.locations.conversations.html index 02ae2021b3..fa399c04f5 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.conversations.html +++ b/docs/dyn/dialogflow_v2.projects.locations.conversations.html @@ -383,6 +383,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -697,6 +698,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1010,6 +1012,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1329,6 +1332,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1707,6 +1711,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html index 34d6d3233e..2652b292b7 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html +++ b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html @@ -144,6 +144,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2.projects.locations.suggestions.html b/docs/dyn/dialogflow_v2.projects.locations.suggestions.html index f41d6a9f9e..c09d49d53e 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.suggestions.html +++ b/docs/dyn/dialogflow_v2.projects.locations.suggestions.html @@ -327,6 +327,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.suggestions.html b/docs/dyn/dialogflow_v2.projects.suggestions.html index 7d86300052..1efe9e0339 100644 --- a/docs/dyn/dialogflow_v2.projects.suggestions.html +++ b/docs/dyn/dialogflow_v2.projects.suggestions.html @@ -327,6 +327,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html index cf600cea4c..2c70211428 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html @@ -184,6 +184,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html index a8d7bec342..cf5de9aa88 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html @@ -184,6 +184,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html index 2d01283589..e414e6cb8d 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html +++ b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html @@ -379,6 +379,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -636,6 +637,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -918,6 +920,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1186,6 +1189,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1462,6 +1466,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1720,6 +1725,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversations.html b/docs/dyn/dialogflow_v2beta1.projects.conversations.html index 1c88ea63bd..7478d7e621 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.conversations.html +++ b/docs/dyn/dialogflow_v2beta1.projects.conversations.html @@ -372,6 +372,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -679,6 +680,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -985,6 +987,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1297,6 +1300,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1614,6 +1618,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html index e7d96181ac..68184ea547 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html +++ b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html @@ -149,6 +149,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.users.sessions.html index 4671199674..167b2a79b4 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.users.sessions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.users.sessions.html @@ -184,6 +184,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.sessions.html index 2c89b09a85..5052b2079e 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.sessions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.sessions.html @@ -184,6 +184,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html index 05434ac40f..34fbea63d7 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html @@ -379,6 +379,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -636,6 +637,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -918,6 +920,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1186,6 +1189,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1462,6 +1466,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1720,6 +1725,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html index 973afb332b..2284c298fe 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html @@ -375,6 +375,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -682,6 +683,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -988,6 +990,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1300,6 +1303,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, @@ -1671,6 +1675,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html index 658975772d..656b99d033 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html @@ -149,6 +149,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "singleUtterance": True or False, "speechContexts": [ diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html b/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html index f777eaadee..377a4d46e0 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html @@ -319,6 +319,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.suggestions.html b/docs/dyn/dialogflow_v2beta1.projects.suggestions.html index b4b6daf333..f69bcadf4a 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.suggestions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.suggestions.html @@ -319,6 +319,7 @@

Method Details

"phraseSets": [ "A String", ], + "profanityFilter": True or False, "sampleRateHertz": 42, "speechModelVariant": "A String", "useGeminiAsr": True or False, diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2.json b/googleapiclient/discovery_cache/documents/dialogflow.v2.json index 07b97f2f67..f3bf097d01 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v2.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v2.json @@ -18,6 +18,13 @@ "description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/dialogflow/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dialogflow.us.rep.googleapis.com/", +"location": "us" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -8933,7 +8940,7 @@ } } }, -"revision": "20261027", +"revision": "20261106", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -16816,6 +16823,9 @@ true }, "type": "array" }, +"profanityFilter": { +"type": "boolean" +}, "sampleRateHertz": { "format": "int32", "type": "integer" @@ -19782,6 +19792,9 @@ false }, "type": "array" }, +"profanityFilter": { +"type": "boolean" +}, "sampleRateHertz": { "format": "int32", "type": "integer" diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json index 8919984d55..c0e48db2fc 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json @@ -18,6 +18,13 @@ "description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/dialogflow/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dialogflow.us.rep.googleapis.com/", +"location": "us" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -8584,7 +8591,7 @@ } } }, -"revision": "20261027", +"revision": "20261106", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -19304,6 +19311,9 @@ true }, "type": "array" }, +"profanityFilter": { +"type": "boolean" +}, "sampleRateHertz": { "format": "int32", "type": "integer" @@ -22560,6 +22570,9 @@ false }, "type": "array" }, +"profanityFilter": { +"type": "boolean" +}, "sampleRateHertz": { "format": "int32", "type": "integer" diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3.json b/googleapiclient/discovery_cache/documents/dialogflow.v3.json index 3109c5a039..1a42e20f01 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v3.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v3.json @@ -18,6 +18,13 @@ "description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/dialogflow/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dialogflow.us.rep.googleapis.com/", +"location": "us" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -5031,7 +5038,7 @@ } } }, -"revision": "20261018", +"revision": "20261106", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3Action": { diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json index 51ac3b4713..73d28947e4 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json @@ -18,6 +18,13 @@ "description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/dialogflow/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dialogflow.us.rep.googleapis.com/", +"location": "us" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -5151,7 +5158,7 @@ } } }, -"revision": "20261018", +"revision": "20261106", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { From e8b9e9896a033893f8ff512c6adefec8adea1f41 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:27 +0000 Subject: [PATCH 31/57] feat(discoveryengine): update the api #### discoveryengine:v1 The following keys were added: - schemas.GoogleCloudDiscoveryengineV1ActionConfig.properties.customerManagedScopes (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1AssistAnswer.properties.toolDisplayNames (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1DynamicTool.properties.readonly.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1EngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1Project.properties.experienceState (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1ProvisionProjectRequest.properties.provisionIntent.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1WidgetConfigUiSettings.properties.featureToggleInfo (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsFeatureToggleInfo (Total Keys: 15) - schemas.GoogleCloudDiscoveryengineV1alphaActionConfig.properties.customerManagedScopes (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaAssistAnswer.properties.toolDisplayNames (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1alphaDynamicTool.properties.readonly.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1alphaProject.properties.experienceState (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1betaProject.properties.experienceState (Total Keys: 2) #### discoveryengine:v1alpha The following keys were added: - resources.projects.resources.locations.resources.collections.resources.engines.methods.checkFeaturePolicyMembers (Total Keys: 12) - resources.projects.resources.locations.resources.userStores.resources.userAvailabilities.methods.batchUpdate (Total Keys: 12) - resources.projects.resources.locations.resources.userStores.resources.userAvailabilities.methods.list (Total Keys: 18) - resources.projects.resources.locations.resources.userStores.resources.userAvailability.methods.update (Total Keys: 12) - schemas.GoogleCloudDiscoveryengineV1ActionConfig.properties.customerManagedScopes (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1DynamicTool.properties.readonly.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1EngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1Project.properties.experienceState (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaActionConfig.properties.customerManagedScopes (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaAgent.properties.defaultPinned.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1alphaAssistAnswer.properties.toolDisplayNames (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1alphaBatchUpdateUserAvailabilitiesRequest (Total Keys: 4) - schemas.GoogleCloudDiscoveryengineV1alphaBatchUpdateUserAvailabilitiesResponse (Total Keys: 4) - schemas.GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersRequest (Total Keys: 4) - schemas.GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersResponse (Total Keys: 9) - schemas.GoogleCloudDiscoveryengineV1alphaDynamicTool.properties.readonly.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1alphaListUserAvailabilitiesResponse (Total Keys: 5) - schemas.GoogleCloudDiscoveryengineV1alphaProject.properties.experienceState (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest.properties.provisionIntent.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1alphaUpdateUserAvailabilityRequest (Total Keys: 6) - schemas.GoogleCloudDiscoveryengineV1alphaUserAvailability (Total Keys: 10) - schemas.GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettings.properties.featureToggleInfo (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsFeatureToggleInfo (Total Keys: 15) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1betaProject.properties.experienceState (Total Keys: 2) #### discoveryengine:v1beta The following keys were added: - schemas.GoogleCloudDiscoveryengineV1ActionConfig.properties.customerManagedScopes (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1DynamicTool.properties.readonly.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1Engine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1EngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1Project.properties.experienceState (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaActionConfig.properties.customerManagedScopes (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaAssistAnswer.properties.toolDisplayNames (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1alphaDynamicTool.properties.readonly.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1alphaEngine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1alphaProject.properties.experienceState (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaAssistAnswer.properties.toolDisplayNames (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.delayedGlobalFeatureToggleStateAllowed (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.effectiveFeatures (Total Keys: 3) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.featurePolicies (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaEngine.properties.globalFeatureToggleState.type (Total Keys: 1) - schemas.GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy (Total Keys: 14) - schemas.GoogleCloudDiscoveryengineV1betaProject.properties.experienceState (Total Keys: 2) - schemas.GoogleCloudDiscoveryengineV1betaProvisionProjectRequest.properties.provisionIntent.type (Total Keys: 1) --- ...Accounts.billingAccountLicenseConfigs.html | 4 +- docs/dyn/discoveryengine_v1.projects.html | 1 + ...ects.locations.collections.dataStores.html | 10 +- ...collections.dataStores.servingConfigs.html | 6 + ...tions.collections.dataStores.sessions.html | 18 + ....collections.dataStores.widgetConfigs.html | 68 +- ...ations.collections.engines.assistants.html | 3 + ...rojects.locations.collections.engines.html | 140 ++- ...ns.collections.engines.servingConfigs.html | 6 + ...ocations.collections.engines.sessions.html | 18 + ...ons.collections.engines.widgetConfigs.html | 68 +- ...ine_v1.projects.locations.collections.html | 18 +- ...gine_v1.projects.locations.dataStores.html | 10 +- ...s.locations.dataStores.servingConfigs.html | 6 + ...rojects.locations.dataStores.sessions.html | 18 + ...ts.locations.dataStores.widgetConfigs.html | 68 +- ...discoveryengine_v1.projects.locations.html | 13 +- ..._v1.projects.locations.licenseConfigs.html | 12 +- ...Accounts.billingAccountLicenseConfigs.html | 4 +- .../dyn/discoveryengine_v1alpha.projects.html | 5 + ...ects.locations.collections.dataStores.html | 10 +- ...collections.dataStores.servingConfigs.html | 6 + ...tions.collections.dataStores.sessions.html | 18 + ....collections.dataStores.widgetConfigs.html | 68 +- ...collections.engines.assistants.agents.html | 6 + ...ations.collections.engines.assistants.html | 3 + ...rojects.locations.collections.engines.html | 253 ++++- ...ns.collections.engines.servingConfigs.html | 6 + ...ocations.collections.engines.sessions.html | 18 + ...ons.collections.engines.widgetConfigs.html | 68 +- ...1alpha.projects.locations.collections.html | 36 +- ...v1alpha.projects.locations.dataStores.html | 10 +- ...s.locations.dataStores.servingConfigs.html | 6 + ...rojects.locations.dataStores.sessions.html | 18 + ...ts.locations.dataStores.widgetConfigs.html | 68 +- ...veryengine_v1alpha.projects.locations.html | 21 +- ...pha.projects.locations.licenseConfigs.html | 12 +- ...v1alpha.projects.locations.userStores.html | 10 + ...cations.userStores.userAvailabilities.html | 183 ++++ ...locations.userStores.userAvailability.html | 125 +++ ...Accounts.billingAccountLicenseConfigs.html | 4 +- docs/dyn/discoveryengine_v1beta.projects.html | 1 + ...ects.locations.collections.dataStores.html | 10 +- ...collections.dataStores.servingConfigs.html | 6 + ...tions.collections.dataStores.sessions.html | 18 + ...ations.collections.engines.assistants.html | 3 + ...rojects.locations.collections.engines.html | 196 +++- ...ns.collections.engines.servingConfigs.html | 6 + ...ocations.collections.engines.sessions.html | 18 + ..._v1beta.projects.locations.dataStores.html | 10 +- ...s.locations.dataStores.servingConfigs.html | 6 + ...rojects.locations.dataStores.sessions.html | 18 + ...overyengine_v1beta.projects.locations.html | 1 + ...eta.projects.locations.licenseConfigs.html | 12 +- .../documents/discoveryengine.v1.json | 601 +++++++++++- .../documents/discoveryengine.v1alpha.json | 908 +++++++++++++++++- .../documents/discoveryengine.v1beta.json | 520 +++++++++- 57 files changed, 3554 insertions(+), 225 deletions(-) create mode 100644 docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userAvailabilities.html create mode 100644 docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userAvailability.html diff --git a/docs/dyn/discoveryengine_v1.billingAccounts.billingAccountLicenseConfigs.html b/docs/dyn/discoveryengine_v1.billingAccounts.billingAccountLicenseConfigs.html index b4e723d6cc..a82f902224 100644 --- a/docs/dyn/discoveryengine_v1.billingAccounts.billingAccountLicenseConfigs.html +++ b/docs/dyn/discoveryengine_v1.billingAccounts.billingAccountLicenseConfigs.html @@ -116,7 +116,7 @@

Method Details

{ # Response message for LicenseConfigService.DistributeLicenseConfig method. "licenseConfig": { # Information about users' licenses. # The updated or created LicenseConfig. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -170,7 +170,7 @@

Method Details

{ # Response message for LicenseConfigService.RetractLicenseConfig method. "licenseConfig": { # Information about users' licenses. # The updated LicenseConfig. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. diff --git a/docs/dyn/discoveryengine_v1.projects.html b/docs/dyn/discoveryengine_v1.projects.html index 5ca44226d9..d0d4bb3b05 100644 --- a/docs/dyn/discoveryengine_v1.projects.html +++ b/docs/dyn/discoveryengine_v1.projects.html @@ -114,6 +114,7 @@

Method Details

}, "idpType": "A String", # Identity provider type configured. }, + "provisionIntent": "A String", # Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience. "saasParams": { # Parameters for Agentspace. # Optional. Parameters for Agentspace. "acceptBizQos": True or False, # Optional. Set to `true` to specify that caller has read and would like to give consent to the [Terms for Agent Space quality of service]. "isBiz": True or False, # Optional. Indicates if the current request is for Biz edition (= true) or not (= false). diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.html index 26488a8b3e..5051e625aa 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.html @@ -362,7 +362,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -615,7 +615,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -859,7 +859,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1056,7 +1056,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1235,7 +1235,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.servingConfigs.html index 6da21cf3d9..8d6d58150e 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.servingConfigs.html @@ -699,6 +699,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3245,6 +3248,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.sessions.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.sessions.html index d8503ca557..ff0f6bce06 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.sessions.html @@ -381,6 +381,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -670,6 +673,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -984,6 +990,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1286,6 +1295,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1592,6 +1604,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1881,6 +1896,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html index 71dfd50eeb..ffd6e5718a 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html @@ -98,7 +98,7 @@

Method Details

acceptCache: boolean, Optional. Whether it's acceptable to load the widget config from cache. If set to true, recent changes on widget configs may take a few minutes to reflect on the end user's view. It's recommended to set to true for maturely developed widgets, as it improves widget performance. Set to false to see changes reflected in prod right away, if your widget is under development. getWidgetConfigRequestOption_turnOffCollectionComponents: boolean, Optional. Whether to turn off collection_components in WidgetConfig to reduce latency and data transmission. languageCode: string, Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). - modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. + modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. Allowed values MODEL_INFO_VIEW_UNSPECIFIED - Not specified. END_USER_WEB - The end-user web model selector view. @@ -140,7 +140,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -166,9 +166,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -336,7 +336,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -430,7 +444,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -456,9 +470,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -626,7 +640,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -719,7 +747,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -745,9 +773,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -915,7 +943,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html index 128da71ad8..3fd48fdf29 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html @@ -704,6 +704,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "assistToken": "A String", # A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support. "connectorAuthErrors": [ # Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html index 377e1c0efb..269e794399 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html @@ -202,11 +202,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. "a_key": "A String", }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` + "a_key": "A String", + }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -395,11 +421,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -564,11 +616,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -705,11 +783,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -828,11 +932,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.servingConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.servingConfigs.html index 9dd4ddaa68..6214affd4a 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.servingConfigs.html @@ -699,6 +699,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3245,6 +3248,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.sessions.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.sessions.html index 1e0fc9de9a..840c7554c4 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.sessions.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.sessions.html @@ -381,6 +381,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -670,6 +673,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -984,6 +990,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1286,6 +1295,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1592,6 +1604,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1881,6 +1896,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html index 4398ca10f0..19afc75ab3 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html @@ -98,7 +98,7 @@

Method Details

acceptCache: boolean, Optional. Whether it's acceptable to load the widget config from cache. If set to true, recent changes on widget configs may take a few minutes to reflect on the end user's view. It's recommended to set to true for maturely developed widgets, as it improves widget performance. Set to false to see changes reflected in prod right away, if your widget is under development. getWidgetConfigRequestOption_turnOffCollectionComponents: boolean, Optional. Whether to turn off collection_components in WidgetConfig to reduce latency and data transmission. languageCode: string, Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). - modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. + modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. Allowed values MODEL_INFO_VIEW_UNSPECIFIED - Not specified. END_USER_WEB - The end-user web model selector view. @@ -140,7 +140,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -166,9 +166,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -336,7 +336,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -430,7 +444,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -456,9 +470,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -626,7 +640,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -719,7 +747,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -745,9 +773,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -915,7 +943,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.html index 65c5831aa8..31c2863f55 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.html @@ -174,6 +174,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -257,6 +260,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -349,7 +353,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -519,6 +523,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -602,6 +609,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -694,7 +702,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -770,6 +778,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -853,6 +864,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -945,7 +957,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.html index 14277d0ba1..266dddb01d 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.html @@ -354,7 +354,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -607,7 +607,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -851,7 +851,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1048,7 +1048,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1227,7 +1227,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.servingConfigs.html index 488ec17e06..ec0796eb39 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.servingConfigs.html @@ -699,6 +699,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3245,6 +3248,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.sessions.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.sessions.html index 240daae007..1940278ed6 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.sessions.html @@ -381,6 +381,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -670,6 +673,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -984,6 +990,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1286,6 +1295,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1592,6 +1604,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1881,6 +1896,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html index 2ebbc6f511..99a0e127fe 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html @@ -98,7 +98,7 @@

Method Details

acceptCache: boolean, Optional. Whether it's acceptable to load the widget config from cache. If set to true, recent changes on widget configs may take a few minutes to reflect on the end user's view. It's recommended to set to true for maturely developed widgets, as it improves widget performance. Set to false to see changes reflected in prod right away, if your widget is under development. getWidgetConfigRequestOption_turnOffCollectionComponents: boolean, Optional. Whether to turn off collection_components in WidgetConfig to reduce latency and data transmission. languageCode: string, Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). - modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. + modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. Allowed values MODEL_INFO_VIEW_UNSPECIFIED - Not specified. END_USER_WEB - The end-user web model selector view. @@ -140,7 +140,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -166,9 +166,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -336,7 +336,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -430,7 +444,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -456,9 +470,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -626,7 +640,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -719,7 +747,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -745,9 +773,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -915,7 +943,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.html b/docs/dyn/discoveryengine_v1.projects.locations.html index 0ba0c04b78..d797b3fb91 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.html @@ -232,6 +232,7 @@

Method Details

}, "idpType": "A String", # Identity provider type configured. }, + "provisionIntent": "A String", # Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience. "saasParams": { # Parameters for Agentspace. # Optional. Parameters for Agentspace. "acceptBizQos": True or False, # Optional. Set to `true` to specify that caller has read and would like to give consent to the [Terms for Agent Space quality of service]. "isBiz": True or False, # Optional. Indicates if the current request is for Biz edition (= true) or not (= false). @@ -286,6 +287,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -369,6 +373,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -461,7 +466,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -567,6 +572,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -650,6 +658,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -742,7 +751,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). diff --git a/docs/dyn/discoveryengine_v1.projects.locations.licenseConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.licenseConfigs.html index cff3831c94..4a59388784 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.licenseConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.licenseConfigs.html @@ -109,7 +109,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -146,7 +146,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -189,7 +189,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -237,7 +237,7 @@

Method Details

"licenseConfigs": [ # All the customer's LicenseConfigs. { # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -292,7 +292,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -329,7 +329,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. diff --git a/docs/dyn/discoveryengine_v1alpha.billingAccounts.billingAccountLicenseConfigs.html b/docs/dyn/discoveryengine_v1alpha.billingAccounts.billingAccountLicenseConfigs.html index b31610d3a5..cd82c72a13 100644 --- a/docs/dyn/discoveryengine_v1alpha.billingAccounts.billingAccountLicenseConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.billingAccounts.billingAccountLicenseConfigs.html @@ -145,7 +145,7 @@

Method Details

}, "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. "billingAccountLicenseConfig": "A String", # Output only. The name of the BillingAccountLicenseConfig from which this LicenseConfig is assigned, if this field is set. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -334,7 +334,7 @@

Method Details

}, "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. "billingAccountLicenseConfig": "A String", # Output only. The name of the BillingAccountLicenseConfig from which this LicenseConfig is assigned, if this field is set. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.html b/docs/dyn/discoveryengine_v1alpha.projects.html index 8dab1a92a0..5c9c57df0a 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.html @@ -161,6 +161,7 @@

Method Details

"dataStoreAccessControlEnabled": True or False, # Optional. If `true`, the data stores and data connectors shown to Gemini Enterprise users are filtered to those the user has the required resource-level `.get` IAM permission on. }, }, + "experienceState": "A String", # Output only. The current experience state of the project. "name": "A String", # Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number. "provisionCompletionTime": "A String", # Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use. "serviceTermsMap": { # Output only. A map of terms of services. The key is the `id` of ServiceTerms. @@ -226,6 +227,7 @@

Method Details

"dataStoreAccessControlEnabled": True or False, # Optional. If `true`, the data stores and data connectors shown to Gemini Enterprise users are filtered to those the user has the required resource-level `.get` IAM permission on. }, }, + "experienceState": "A String", # Output only. The current experience state of the project. "name": "A String", # Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number. "provisionCompletionTime": "A String", # Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use. "serviceTermsMap": { # Output only. A map of terms of services. The key is the `id` of ServiceTerms. @@ -290,6 +292,7 @@

Method Details

"dataStoreAccessControlEnabled": True or False, # Optional. If `true`, the data stores and data connectors shown to Gemini Enterprise users are filtered to those the user has the required resource-level `.get` IAM permission on. }, }, + "experienceState": "A String", # Output only. The current experience state of the project. "name": "A String", # Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number. "provisionCompletionTime": "A String", # Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use. "serviceTermsMap": { # Output only. A map of terms of services. The key is the `id` of ServiceTerms. @@ -322,6 +325,7 @@

Method Details

}, "idpType": "A String", # Identity provider type configured. }, + "provisionIntent": "A String", # Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience. "saasParams": { # Parameters for Agentspace. # Optional. Parameters for Agentspace. "acceptBizQos": True or False, # Optional. Set to `true` to specify that caller has read and would like to give consent to the [Terms for Agent Space quality of service]. "isBiz": True or False, # Optional. Indicates if the current request is for Biz edition (= true) or not (= false). @@ -422,6 +426,7 @@

Method Details

"dataStoreAccessControlEnabled": True or False, # Optional. If `true`, the data stores and data connectors shown to Gemini Enterprise users are filtered to those the user has the required resource-level `.get` IAM permission on. }, }, + "experienceState": "A String", # Output only. The current experience state of the project. "name": "A String", # Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number. "provisionCompletionTime": "A String", # Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use. "serviceTermsMap": { # Output only. A map of terms of services. The key is the `id` of ServiceTerms. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.html index ae49e025a7..06b4d21170 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.html @@ -431,7 +431,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -767,7 +767,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1163,7 +1163,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1396,7 +1396,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1611,7 +1611,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.servingConfigs.html index 5209cfeb9a..4cd78d0e5c 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.servingConfigs.html @@ -783,6 +783,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3961,6 +3964,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.sessions.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.sessions.html index ae42ac1c6e..30679103d2 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.sessions.html @@ -397,6 +397,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -739,6 +742,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1106,6 +1112,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1461,6 +1470,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1820,6 +1832,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -2162,6 +2177,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html index 2dfa6e2a80..19f480a69f 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html @@ -98,7 +98,7 @@

Method Details

acceptCache: boolean, Optional. Whether it's acceptable to load the widget config from cache. If set to true, recent changes on widget configs may take a few minutes to reflect on the end user's view. It's recommended to set to true for maturely developed widgets, as it improves widget performance. Set to false to see changes reflected in prod right away, if your widget is under development. getWidgetConfigRequestOption_turnOffCollectionComponents: boolean, Optional. Whether to turn off collection_components in WidgetConfig to reduce latency and data transmission. languageCode: string, Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). - modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. + modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. Allowed values MODEL_INFO_VIEW_UNSPECIFIED - Not specified. END_USER_WEB - The end-user web model selector view. @@ -140,7 +140,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -168,9 +168,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -341,7 +341,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -435,7 +449,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -463,9 +477,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -636,7 +650,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -729,7 +757,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -757,9 +785,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -930,7 +958,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.agents.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.agents.html index b7a136cb07..90f6c51557 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.agents.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.agents.html @@ -142,6 +142,7 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this Agent was created. "creationFailureReason": "A String", # Output only. The reason why the agent creation (provisioning) failed. Only set if the state is CREATION_FAILED. "customPlaceholderText": "A String", # Optional. The custom placeholder text that appears in the text box before the user enters any text. + "defaultPinned": True or False, # Optional. Whether the agent is pinned by default for users who have access to it and have not explicitly unpinned it. Setting this field requires an admin. "deploymentFailureReason": "A String", # Output only. The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED. "description": "A String", # 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. "dialogflowAgentDefinition": { # Stored definition of an agent that uses a Dialogflow agent. # Optional. The behavior of the agent is defined as a Dialogflow agent. @@ -204,6 +205,7 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this Agent was created. "creationFailureReason": "A String", # Output only. The reason why the agent creation (provisioning) failed. Only set if the state is CREATION_FAILED. "customPlaceholderText": "A String", # Optional. The custom placeholder text that appears in the text box before the user enters any text. + "defaultPinned": True or False, # Optional. Whether the agent is pinned by default for users who have access to it and have not explicitly unpinned it. Setting this field requires an admin. "deploymentFailureReason": "A String", # Output only. The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED. "description": "A String", # 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. "dialogflowAgentDefinition": { # Stored definition of an agent that uses a Dialogflow agent. # Optional. The behavior of the agent is defined as a Dialogflow agent. @@ -308,6 +310,7 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this Agent was created. "creationFailureReason": "A String", # Output only. The reason why the agent creation (provisioning) failed. Only set if the state is CREATION_FAILED. "customPlaceholderText": "A String", # Optional. The custom placeholder text that appears in the text box before the user enters any text. + "defaultPinned": True or False, # Optional. Whether the agent is pinned by default for users who have access to it and have not explicitly unpinned it. Setting this field requires an admin. "deploymentFailureReason": "A String", # Output only. The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED. "description": "A String", # 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. "dialogflowAgentDefinition": { # Stored definition of an agent that uses a Dialogflow agent. # Optional. The behavior of the agent is defined as a Dialogflow agent. @@ -383,6 +386,7 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this Agent was created. "creationFailureReason": "A String", # Output only. The reason why the agent creation (provisioning) failed. Only set if the state is CREATION_FAILED. "customPlaceholderText": "A String", # Optional. The custom placeholder text that appears in the text box before the user enters any text. + "defaultPinned": True or False, # Optional. Whether the agent is pinned by default for users who have access to it and have not explicitly unpinned it. Setting this field requires an admin. "deploymentFailureReason": "A String", # Output only. The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED. "description": "A String", # 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. "dialogflowAgentDefinition": { # Stored definition of an agent that uses a Dialogflow agent. # Optional. The behavior of the agent is defined as a Dialogflow agent. @@ -464,6 +468,7 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this Agent was created. "creationFailureReason": "A String", # Output only. The reason why the agent creation (provisioning) failed. Only set if the state is CREATION_FAILED. "customPlaceholderText": "A String", # Optional. The custom placeholder text that appears in the text box before the user enters any text. + "defaultPinned": True or False, # Optional. Whether the agent is pinned by default for users who have access to it and have not explicitly unpinned it. Setting this field requires an admin. "deploymentFailureReason": "A String", # Output only. The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED. "description": "A String", # 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. "dialogflowAgentDefinition": { # Stored definition of an agent that uses a Dialogflow agent. # Optional. The behavior of the agent is defined as a Dialogflow agent. @@ -527,6 +532,7 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this Agent was created. "creationFailureReason": "A String", # Output only. The reason why the agent creation (provisioning) failed. Only set if the state is CREATION_FAILED. "customPlaceholderText": "A String", # Optional. The custom placeholder text that appears in the text box before the user enters any text. + "defaultPinned": True or False, # Optional. Whether the agent is pinned by default for users who have access to it and have not explicitly unpinned it. Setting this field requires an admin. "deploymentFailureReason": "A String", # Output only. The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED. "description": "A String", # 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. "dialogflowAgentDefinition": { # Stored definition of an agent that uses a Dialogflow agent. # Optional. The behavior of the agent is defined as a Dialogflow agent. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html index 3041c85ba5..bf285cc8bf 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html @@ -762,6 +762,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "assistToken": "A String", # A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support. "connectorAuthErrors": [ # Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html index b72338063d..7765934c68 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html @@ -119,6 +119,9 @@

Instance Methods

Returns the widgetConfigs Resource.

+

+ checkFeaturePolicyMembers(name, body=None, x__xgafv=None)

+

Checks members for Engine.feature_policies against the project's directory, as EngineService.UpdateEngine does when it saves them, and saves nothing.

close()

Close httplib2 connections.

@@ -165,6 +168,58 @@

Instance Methods

updateCompletionConfig(name, body=None, updateMask=None, x__xgafv=None)

Updates the CompletionConfigs.

Method Details

+
+ checkFeaturePolicyMembers(name, body=None, x__xgafv=None) +
Checks members for Engine.feature_policies against the project's directory, as EngineService.UpdateEngine does when it saves them, and saves nothing.
+
+Args:
+  name: string, Required. The engine resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for EngineService.CheckFeaturePolicyMembers method.
+  "members": [ # Required. The members to check, in the form a policy takes them. At least 1 and at most 100. `verification` is ignored.
+    { # A user or group the policy refers to.
+      "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation.
+      "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.
+      "type": "A String", # Required. Kind of member.
+      "verification": "A String", # Output only. Result of the server's directory check when the member was saved.
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for EngineService.CheckFeaturePolicyMembers method.
+  "directorySource": "A String", # Where the project's groups are looked up.
+  "memberChecks": [ # One result per requested member, in request order. Members are checked independently, so two emails for the same Google group both pass.
+    { # The result for one requested member.
+      "member": { # A user or group the policy refers to. # The member as EngineService.UpdateEngine would save it: `id` normalized, `display_name` taken from the directory when it has one, and `verification` set. Echoes the request's member when `status` is an INVALID_ARGUMENT from the member's format.
+        "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation.
+        "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.
+        "type": "A String", # Required. Kind of member.
+        "verification": "A String", # Output only. Result of the server's directory check when the member was saved.
+      },
+      "status": { # 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). # OK when the member is valid and, for a group, in the directory. Otherwise INVALID_ARGUMENT for a malformed member or a group the directory doesn't have, and UNAVAILABLE for a Google group the directory couldn't be asked about. EngineService.UpdateEngine fails on all of these, except that it leaves out an allowed group the directory doesn't have, saves the other members, and lists the group in Engine.feature_policy_rejections.
+        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+          {
+            "a_key": "", # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+        "message": "A String", # 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.
+      },
+    },
+  ],
+}
+
+
close()
Close httplib2 connections.
@@ -225,11 +280,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -427,11 +508,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -583,7 +690,7 @@

Method Details

An object of the form: { # Workspace settings for the end user. - "customerDomainValid": True or False, # Whether the calling user's customer domain matches the workspace data stores under this engine. + "customerDomainValid": True or False, # Whether the calling user's customer domain matches the workspace data stores under this engine. Unset when the check did not run or could not complete, which clients treat as unknown. "workspaceAccessEnabled": True or False, # Whether an end user has workspace access enabled. }
@@ -653,11 +760,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -803,11 +936,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -935,11 +1094,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -1079,11 +1264,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -1223,11 +1434,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.servingConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.servingConfigs.html index dff04b48be..1c53c3ceef 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.servingConfigs.html @@ -783,6 +783,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3961,6 +3964,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.sessions.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.sessions.html index c0ffd3984f..a269c67572 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.sessions.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.sessions.html @@ -412,6 +412,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -754,6 +757,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1121,6 +1127,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1476,6 +1485,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1835,6 +1847,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -2177,6 +2192,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html index b52e497bcc..c5a1847fdb 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html @@ -98,7 +98,7 @@

Method Details

acceptCache: boolean, Optional. Whether it's acceptable to load the widget config from cache. If set to true, recent changes on widget configs may take a few minutes to reflect on the end user's view. It's recommended to set to true for maturely developed widgets, as it improves widget performance. Set to false to see changes reflected in prod right away, if your widget is under development. getWidgetConfigRequestOption_turnOffCollectionComponents: boolean, Optional. Whether to turn off collection_components in WidgetConfig to reduce latency and data transmission. languageCode: string, Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). - modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. + modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. Allowed values MODEL_INFO_VIEW_UNSPECIFIED - Not specified. END_USER_WEB - The end-user web model selector view. @@ -140,7 +140,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -168,9 +168,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -341,7 +341,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -435,7 +449,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -463,9 +477,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -636,7 +650,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -729,7 +757,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -757,9 +785,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -930,7 +958,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.html index 654aae7962..54bef238ec 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.html @@ -188,6 +188,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -271,6 +274,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -386,7 +390,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -471,6 +475,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -554,6 +561,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -669,7 +677,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -793,6 +801,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -876,6 +887,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -991,7 +1003,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -1090,6 +1102,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -1173,6 +1188,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -1288,7 +1304,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -1455,6 +1471,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -1538,6 +1557,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -1653,7 +1673,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -1729,6 +1749,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -1812,6 +1835,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -1927,7 +1951,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.html index e0fae4e9d4..f55d576ce2 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.html @@ -423,7 +423,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -759,7 +759,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1155,7 +1155,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1388,7 +1388,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1603,7 +1603,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.servingConfigs.html index 908d0567d3..b939f89ae2 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.servingConfigs.html @@ -783,6 +783,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3961,6 +3964,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.sessions.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.sessions.html index bdef1219af..1ed8626ace 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.sessions.html @@ -397,6 +397,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -739,6 +742,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1106,6 +1112,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1461,6 +1470,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1820,6 +1832,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -2162,6 +2177,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html index 4c830512fc..1c7b126ba8 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html @@ -98,7 +98,7 @@

Method Details

acceptCache: boolean, Optional. Whether it's acceptable to load the widget config from cache. If set to true, recent changes on widget configs may take a few minutes to reflect on the end user's view. It's recommended to set to true for maturely developed widgets, as it improves widget performance. Set to false to see changes reflected in prod right away, if your widget is under development. getWidgetConfigRequestOption_turnOffCollectionComponents: boolean, Optional. Whether to turn off collection_components in WidgetConfig to reduce latency and data transmission. languageCode: string, Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). - modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. + modelInfoView: string, Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. Allowed values MODEL_INFO_VIEW_UNSPECIFIED - Not specified. END_USER_WEB - The end-user web model selector view. @@ -140,7 +140,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -168,9 +168,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -341,7 +341,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -435,7 +449,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -463,9 +477,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -636,7 +650,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -729,7 +757,7 @@

Method Details

"authorizationUri": "A String", # Output only. The authorization uri for the data connector. For synthetic placeholder `CollectionComponent` entries (returned by `LookupWidgetConfig` with `view = WITH_AVAILABLE_CONNECTORS` on SaaS / Business engines), this field is left empty. The widget should call `WidgetService.WidgetBuildAuthorizationUrl` on the user's "Connect" click to obtain a freshly-built authorization URL. "updateTime": "A String", # Output only. The authorization state update timestamp. }, - "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. + "placeholder": "A String", # Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector. }, ], "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources. For SaaS / Business engines, when `LookupWidgetConfig` is called with `view = WITH_AVAILABLE_CONNECTORS`, this list is additionally augmented with synthetic placeholder entries for connectors the caller may attach but has not yet attached (see `CollectionComponent` for the placeholder contract). The frontend can therefore render a unified list of already-attached and available-to-attach sources by iterating this single field. For Enterprise engines and for the default `view`, only already-attached connectors are returned (today's behavior). @@ -757,9 +785,9 @@

Method Details

], "displayName": "A String", # The display name of the collection. "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID. For synthetic placeholder entries (see message-level comment) this is a synthetic placeholder id, not a real collection_id. - "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors. + "isFirstParty": True or False, # Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Output only. User-facing connector metadata (`title`, `description`, `short_description`, `author`, `note`), retrieved from the registry `ConnectorSource.metadata` (joined by data source). Shown on the connector detail page. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -930,7 +958,21 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "featureToggleInfo": { # The resolved, server-side view of the feature toggle registry containing detailed info about each feature. # Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle). + "featureToggles": [ # Output only. The feature toggles known to the registry. + { # A single feature toggle with its server-provided metadata. + "id": "A String", # Output only. Matches a key in the engine `features` map. + "launchStage": "A String", # Output only. Launch stage of the feature behind a toggle. + "retirementDate": { # 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 # Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled. + "day": 42, # 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. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "supportsAccessPolicy": True or False, # Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature. + }, + ], + }, + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.html index b618c5afa1..92d6f62543 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.html @@ -164,7 +164,7 @@

Instance Methods

Close httplib2 connections.

completeExternalIdentities(parent, entityTypeFilter=None, maxSuggestions=None, prefixQuery=None, useScimIdentities=None, x__xgafv=None)

-

This method provides suggestions for users and groups managed in an external identity provider, based on the provided prefix.

+

This method provides suggestions for users and groups managed in an external identity provider, based on the provided prefix. See CompleteExternalIdentitiesRequest.prefix_query for the fields matched during completion.

estimateDataSize(location, body=None, x__xgafv=None)

Estimates the data size to be used by a customer.

@@ -209,7 +209,7 @@

Method Details

completeExternalIdentities(parent, entityTypeFilter=None, maxSuggestions=None, prefixQuery=None, useScimIdentities=None, x__xgafv=None) -
This method provides suggestions for users and groups managed in an external identity provider, based on the provided prefix.
+  
This method provides suggestions for users and groups managed in an external identity provider, based on the provided prefix. See CompleteExternalIdentitiesRequest.prefix_query for the fields matched during completion.
 
 Args:
   parent: string, Required. The parent location resource name, such as `projects/*/locations/global`. (required)
@@ -219,7 +219,7 @@ 

Method Details

USERS - Fetch only users. GROUPS - Fetch only groups. maxSuggestions: integer, 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. - prefixQuery: 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, Required. The prefix to search for. The matching is case-insensitive. * Users: * Supported: `primary_email` (SCIM `emails[type=work]` only), `given_name`, and `family_name` by leading prefix, and `display_name` per word. * Not supported: `subject`, `external_id`, and SCIM `userName` (not stored; only used to derive `subject` when `google.subject` maps `user.userName`). * Groups: * Supported: `display_name` per word. useScimIdentities: boolean, Optional. Whether to use scim identities for external identity completion. If false, we will call the Microsoft graph API to fetch the external identities. x__xgafv: string, V1 error format. Allowed values @@ -240,7 +240,7 @@

Method Details

"userMetadata": { # Metadata corresponding to the external user. # Metadata corresponding to the external user. "familyName": "A String", # The user's family name. "givenName": "A String", # The user's given name. - "primaryEmail": "A String", # The user's primary email address. Do not use this for IAM bindings. Use ExternalIdentity.subject. + "primaryEmail": "A String", # The user's primary email address (populated from SCIM `emails[type=work]`). Do not use this for IAM bindings. Use ExternalIdentity.subject. }, }, ], @@ -921,6 +921,7 @@

Method Details

}, "idpType": "A String", # Identity provider type configured. }, + "provisionIntent": "A String", # Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience. "saasParams": { # Parameters for Agentspace. # Optional. Parameters for Agentspace. "acceptBizQos": True or False, # Optional. Set to `true` to specify that caller has read and would like to give consent to the [Terms for Agent Space quality of service]. "isBiz": True or False, # Optional. Indicates if the current request is for Biz edition (= true) or not (= false). @@ -1111,6 +1112,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -1194,6 +1198,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -1309,7 +1314,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). @@ -1415,6 +1420,9 @@

Method Details

"a_key": "", # Properties of the object. }, "createBapConnection": True or False, # Optional. Whether to create a BAP connection for the connector. + "customerManagedScopes": [ # Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in. + "A String", + ], "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions. "jsonActionParams": "A String", # Optional. Action parameters in json string format. "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled. @@ -1498,6 +1506,7 @@

Method Details

"displayName": "A String", # Optional. The display name of the tool. "enabled": True or False, # Optional. Whether the tool is enabled. "name": "A String", # Required. The name of the tool. + "readonly": True or False, # Optional. Indicates whether the tool is read-only and does not perform write operations. }, ], "egressFqdns": [ # Output only. The list of FQDNs of the data connector can egress to. This includes both FQDN derived from the customer provided instance URL and default per connector type FQDNs. @@ -1613,7 +1622,7 @@

Method Details

"lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed. "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. "metadata": { # User-facing metadata for the connector, shown on the connector detail page (title, description, short_description, author, note). # Optional. User-facing metadata for the connector. Populated from the connector's generated metadata / registry `ConnectorSource`. - "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors). + "author": "A String", # Optional. The party that authored the connector, e.g. "Google" or a third-party provider name. Lets end users see who authored a connector. "description": "A String", # Optional. Human-readable description of the connector, shown on the connector detail page. One connector has a single description. "note": "A String", # Optional. Free-form, multi-line note about the connector's capabilities or a custom note that can be set for the connector. "shortDescription": "A String", # Optional. Short, subtitle-length description of the connector (e.g. shown beneath the connector name in list and detail views). diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.licenseConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.licenseConfigs.html index af8f2cc10e..245f032b24 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.licenseConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.licenseConfigs.html @@ -129,7 +129,7 @@

Method Details

}, "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. "billingAccountLicenseConfig": "A String", # Output only. The name of the BillingAccountLicenseConfig from which this LicenseConfig is assigned, if this field is set. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -186,7 +186,7 @@

Method Details

}, "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. "billingAccountLicenseConfig": "A String", # Output only. The name of the BillingAccountLicenseConfig from which this LicenseConfig is assigned, if this field is set. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -249,7 +249,7 @@

Method Details

}, "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. "billingAccountLicenseConfig": "A String", # Output only. The name of the BillingAccountLicenseConfig from which this LicenseConfig is assigned, if this field is set. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -317,7 +317,7 @@

Method Details

}, "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. "billingAccountLicenseConfig": "A String", # Output only. The name of the BillingAccountLicenseConfig from which this LicenseConfig is assigned, if this field is set. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -392,7 +392,7 @@

Method Details

}, "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. "billingAccountLicenseConfig": "A String", # Output only. The name of the BillingAccountLicenseConfig from which this LicenseConfig is assigned, if this field is set. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -449,7 +449,7 @@

Method Details

}, "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. "billingAccountLicenseConfig": "A String", # Output only. The name of the BillingAccountLicenseConfig from which this LicenseConfig is assigned, if this field is set. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.html index 9d4ccdd4c9..e000705e8e 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.html @@ -84,6 +84,16 @@

Instance Methods

Returns the operations Resource.

+

+ userAvailabilities() +

+

Returns the userAvailabilities Resource.

+ +

+ userAvailability() +

+

Returns the userAvailability Resource.

+

userLicenses()

diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userAvailabilities.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userAvailabilities.html new file mode 100644 index 0000000000..df7aad1dd2 --- /dev/null +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userAvailabilities.html @@ -0,0 +1,183 @@ + + + +

Discovery Engine API . projects . locations . userStores . userAvailabilities

+

Instance Methods

+

+ batchUpdate(parent, body=None, x__xgafv=None)

+

Updates multiple UserAvailabilitys.

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists the UserAvailabilitys.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ batchUpdate(parent, body=None, x__xgafv=None) +
Updates multiple UserAvailabilitys.
+
+Args:
+  parent: string, Required. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UserStoreService.BatchUpdateUserAvailabilities method.
+  "requests": [ # Required. The UserAvailabilitys to update. Maximum of 1000 at a time: if more are passed in, returns INVALID_ARGUMENT. Batch is all or nothing; either all updates succeed or none. The `parent` field in each child request must either be empty, or match the `parent` field in the batch request. If there is a mismatch, that will also result in an INVALID_ARGUMENT being returned.
+    { # Request message for UserStoreService.UpdateUserAvailability method. Also nested within BatchUpdateUserAvailabilityRequest for the UserStoreService.BatchUpdateUserAvailability method. `parent` is a required field when this message is used for a single Update, but is optional when used for a BatchUpdate.
+      "parent": "A String", # Optional. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`.
+      "updateMask": "A String", # Optional. The list of fields to update. Only 'state' is supported; if unset, defaults to 'state'.
+      "userAvailability": { # Tracks whether a resource is available for a given user (distinct from whether the user is allowed to use that resource by licensing, etc). # Required. The UserAvailability to update.
+        "observeTime": "A String", # Optional. Deprecated: use `update_time` only.
+        "state": "A String", # Optional. Whether the user can currently use the resource. Set by the caller on update. If unspecified, defaults to `ACTIVE`.
+        "updateTime": "A String", # Output only. Timestamp when the most recent update to `state` was saved.
+        "userPrincipal": "A String", # Required. Immutable. User principal (IdP subject for Workforce Identity, email for Google sign-in).
+      },
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for UserStoreService.BatchUpdateUserAvailabilities method.
+  "userAvailabilities": [ # The updated UserAvailabilitys.
+    { # Tracks whether a resource is available for a given user (distinct from whether the user is allowed to use that resource by licensing, etc).
+      "observeTime": "A String", # Optional. Deprecated: use `update_time` only.
+      "state": "A String", # Optional. Whether the user can currently use the resource. Set by the caller on update. If unspecified, defaults to `ACTIVE`.
+      "updateTime": "A String", # Output only. Timestamp when the most recent update to `state` was saved.
+      "userPrincipal": "A String", # Required. Immutable. User principal (IdP subject for Workforce Identity, email for Google sign-in).
+    },
+  ],
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the UserAvailabilitys.
+
+Args:
+  parent: string, Required. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`. (required)
+  filter: string, Optional. Filter for the list request. Supported fields (only `user_principal` is supported for now): * `user_principal` (will be normalized for matching) Examples: * `user_principal = "user1@example.com"` to list user availability for `user1@example.com`.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.
+  pageToken: string, Optional. A page token, received from a previous `ListUserAvailabilities` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserAvailabilities` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for UserStoreService.ListUserAvailabilities method.
+  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+  "userAvailabilities": [ # The UserAvailabilitys matching the request.
+    { # Tracks whether a resource is available for a given user (distinct from whether the user is allowed to use that resource by licensing, etc).
+      "observeTime": "A String", # Optional. Deprecated: use `update_time` only.
+      "state": "A String", # Optional. Whether the user can currently use the resource. Set by the caller on update. If unspecified, defaults to `ACTIVE`.
+      "updateTime": "A String", # Output only. Timestamp when the most recent update to `state` was saved.
+      "userPrincipal": "A String", # Required. Immutable. User principal (IdP subject for Workforce Identity, email for Google sign-in).
+    },
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userAvailability.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userAvailability.html new file mode 100644 index 0000000000..936d837ad0 --- /dev/null +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userAvailability.html @@ -0,0 +1,125 @@ + + + +

Discovery Engine API . projects . locations . userStores . userAvailability

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ update(parent, body=None, x__xgafv=None)

+

Updates a UserAvailability.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ update(parent, body=None, x__xgafv=None) +
Updates a UserAvailability.
+
+Args:
+  parent: string, Optional. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UserStoreService.UpdateUserAvailability method. Also nested within BatchUpdateUserAvailabilityRequest for the UserStoreService.BatchUpdateUserAvailability method. `parent` is a required field when this message is used for a single Update, but is optional when used for a BatchUpdate.
+  "parent": "A String", # Optional. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`.
+  "updateMask": "A String", # Optional. The list of fields to update. Only 'state' is supported; if unset, defaults to 'state'.
+  "userAvailability": { # Tracks whether a resource is available for a given user (distinct from whether the user is allowed to use that resource by licensing, etc). # Required. The UserAvailability to update.
+    "observeTime": "A String", # Optional. Deprecated: use `update_time` only.
+    "state": "A String", # Optional. Whether the user can currently use the resource. Set by the caller on update. If unspecified, defaults to `ACTIVE`.
+    "updateTime": "A String", # Output only. Timestamp when the most recent update to `state` was saved.
+    "userPrincipal": "A String", # Required. Immutable. User principal (IdP subject for Workforce Identity, email for Google sign-in).
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Tracks whether a resource is available for a given user (distinct from whether the user is allowed to use that resource by licensing, etc).
+  "observeTime": "A String", # Optional. Deprecated: use `update_time` only.
+  "state": "A String", # Optional. Whether the user can currently use the resource. Set by the caller on update. If unspecified, defaults to `ACTIVE`.
+  "updateTime": "A String", # Output only. Timestamp when the most recent update to `state` was saved.
+  "userPrincipal": "A String", # Required. Immutable. User principal (IdP subject for Workforce Identity, email for Google sign-in).
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/discoveryengine_v1beta.billingAccounts.billingAccountLicenseConfigs.html b/docs/dyn/discoveryengine_v1beta.billingAccounts.billingAccountLicenseConfigs.html index 20eba0df09..99383ad54e 100644 --- a/docs/dyn/discoveryengine_v1beta.billingAccounts.billingAccountLicenseConfigs.html +++ b/docs/dyn/discoveryengine_v1beta.billingAccounts.billingAccountLicenseConfigs.html @@ -116,7 +116,7 @@

Method Details

{ # Response message for LicenseConfigService.DistributeLicenseConfig method. "licenseConfig": { # Information about users' licenses. # The updated or created LicenseConfig. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -170,7 +170,7 @@

Method Details

{ # Response message for LicenseConfigService.RetractLicenseConfig method. "licenseConfig": { # Information about users' licenses. # The updated LicenseConfig. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. diff --git a/docs/dyn/discoveryengine_v1beta.projects.html b/docs/dyn/discoveryengine_v1beta.projects.html index a5f7db46ec..689834119f 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.html +++ b/docs/dyn/discoveryengine_v1beta.projects.html @@ -114,6 +114,7 @@

Method Details

}, "idpType": "A String", # Identity provider type configured. }, + "provisionIntent": "A String", # Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience. "saasParams": { # Parameters for Agentspace. # Optional. Parameters for Agentspace. "acceptBizQos": True or False, # Optional. Set to `true` to specify that caller has read and would like to give consent to the [Terms for Agent Space quality of service]. "isBiz": True or False, # Optional. Indicates if the current request is for Biz edition (= true) or not (= false). diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.html index 47016ad55f..24d3ecbf9c 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.html @@ -357,7 +357,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -616,7 +616,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -866,7 +866,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1069,7 +1069,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1254,7 +1254,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.servingConfigs.html index b1a31477c4..ca89dbd5cc 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.servingConfigs.html @@ -742,6 +742,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3749,6 +3752,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.sessions.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.sessions.html index 6a06fe0088..e4216f45f7 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.sessions.html @@ -396,6 +396,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -700,6 +703,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1029,6 +1035,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1346,6 +1355,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1667,6 +1679,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1971,6 +1986,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html index 10d319e27d..0589919f1f 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html @@ -704,6 +704,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "assistToken": "A String", # A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support. "connectorAuthErrors": [ # Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html index 63e3aef1c7..bb3fe92563 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html @@ -206,11 +206,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. "a_key": "A String", }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` + "a_key": "A String", + }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -399,11 +425,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -568,11 +620,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -709,11 +787,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -832,11 +936,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. "a_key": "A String", }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` + "a_key": "A String", + }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -967,11 +1097,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. @@ -1102,11 +1258,37 @@

Method Details

"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations. "A String", ], + "delayedGlobalFeatureToggleStateAllowed": True or False, # Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`. "disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine. "displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. - "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` + "effectiveFeatures": { # Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field. + "a_key": "A String", + }, + "featurePolicies": { # Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted. + "a_key": { # Restricts which users may use a feature that is turned on in `features`. + "allowedMembers": [ # Optional. Members who may use the feature. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + "defaultAccess": "A String", # Optional. Access for users who match neither list. + "deniedMembers": [ # Optional. Members who may not use the feature. Takes precedence over `allowed_members`. + { # A user or group the policy refers to. + "displayName": "A String", # Optional. Label shown in the console. Never used for evaluation. + "id": "A String", # Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject. + "type": "A String", # Required. Kind of member. + "verification": "A String", # Output only. Result of the server's directory check when the member was saved. + }, + ], + }, + }, + "features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins` "a_key": "A String", }, + "globalFeatureToggleState": "A String", # Optional. Controls the global feature toggle state for the engine. "industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. "knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. "cloudKnowledgeGraphTypes": [ # Specify entity types to support. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.servingConfigs.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.servingConfigs.html index 49faf47960..3782ffb7a3 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.servingConfigs.html @@ -742,6 +742,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3749,6 +3752,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.sessions.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.sessions.html index 006350e852..ce4d162d0f 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.sessions.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.sessions.html @@ -396,6 +396,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -700,6 +703,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1029,6 +1035,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1346,6 +1355,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1667,6 +1679,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1971,6 +1986,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.html b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.html index 8a7b25255f..fb53efe090 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.html @@ -349,7 +349,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -608,7 +608,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -858,7 +858,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1061,7 +1061,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. @@ -1246,7 +1246,7 @@

Method Details

}, "thirdPartyOauthConfig": { # Stores information for third party applicationOAuth. # Third Party OAuth config. If set, this DataStore is connected to a third party application. "appName": "A String", # Optional. The type of the application. E.g., "jira", "box", etc. - "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "vaissptbots-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com". + "instanceName": "A String", # Optional. The instance name identifying the 3P app, e.g., "-my". This is different from the instance_uri which is the full URL of the 3P app e.g., "https://-my.sharepoint.com". }, }, "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.servingConfigs.html index 879f18c535..a38a7b7a4f 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.servingConfigs.html @@ -742,6 +742,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -3749,6 +3752,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.sessions.html b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.sessions.html index 94ca5e4f9c..2407c56ab8 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.sessions.html @@ -396,6 +396,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -700,6 +703,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1029,6 +1035,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1346,6 +1355,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1667,6 +1679,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn @@ -1971,6 +1986,9 @@

Method Details

}, ], "state": "A String", # State of the answer generation. + "toolDisplayNames": { # Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present. + "a_key": "A String", + }, }, "live": True or False, # Optional. Indicates whether this turn is a live turn. "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.html b/docs/dyn/discoveryengine_v1beta.projects.locations.html index 6e2a076778..9277a352c2 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.html @@ -776,6 +776,7 @@

Method Details

}, "idpType": "A String", # Identity provider type configured. }, + "provisionIntent": "A String", # Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience. "saasParams": { # Parameters for Agentspace. # Optional. Parameters for Agentspace. "acceptBizQos": True or False, # Optional. Set to `true` to specify that caller has read and would like to give consent to the [Terms for Agent Space quality of service]. "isBiz": True or False, # Optional. Indicates if the current request is for Biz edition (= true) or not (= false). diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.licenseConfigs.html b/docs/dyn/discoveryengine_v1beta.projects.locations.licenseConfigs.html index 04da7103ce..59854f3a78 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.licenseConfigs.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.licenseConfigs.html @@ -109,7 +109,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -146,7 +146,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -189,7 +189,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -237,7 +237,7 @@

Method Details

"licenseConfigs": [ # All the customer's LicenseConfigs. { # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -292,7 +292,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -329,7 +329,7 @@

Method Details

{ # Information about users' licenses. "autoRenew": True or False, # Optional. Whether the license config should be auto renewed when it reaches the end date. - "earlyTerminated": True or False, # 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": True or False, # Output only. Indication of whether the subscription is terminated earlier than the expiration date. "earlyTerminationDate": { # 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 # Output only. The date when the subscription is terminated earlier than the expiration date. "day": 42, # 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. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1.json index 0e160392cf..a54c9b5a66 100644 --- a/googleapiclient/discovery_cache/documents/discoveryengine.v1.json +++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1.json @@ -3917,7 +3917,7 @@ "type": "string" }, "modelInfoView": { -"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", +"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", @@ -5937,7 +5937,7 @@ "type": "string" }, "modelInfoView": { -"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", +"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", @@ -8768,7 +8768,7 @@ "type": "string" }, "modelInfoView": { -"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", +"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", @@ -9902,7 +9902,7 @@ } } }, -"revision": "20261022", +"revision": "20261106", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "A2aV1APIKeySecurityScheme": { @@ -11348,6 +11348,13 @@ "description": "Optional. Whether to create a BAP connection for the connector.", "type": "boolean" }, +"customerManagedScopes": { +"description": "Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in.", +"items": { +"type": "string" +}, +"type": "array" +}, "isActionConfigured": { "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", "readOnly": true, @@ -13075,6 +13082,14 @@ "Assist operation has been cancelled (e.g. client closed the stream). May contain a partial response." ], "type": "string" +}, +"toolDisplayNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present.", +"readOnly": true, +"type": "object" } }, "type": "object" @@ -15760,7 +15775,7 @@ "id": "GoogleCloudDiscoveryengineV1DataConnectorConnectorMetadata", "properties": { "author": { -"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors).", +"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector.", "type": "string" }, "description": { @@ -16273,7 +16288,7 @@ "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -16898,6 +16913,10 @@ "name": { "description": "Required. The name of the tool.", "type": "string" +}, +"readonly": { +"description": "Optional. Indicates whether the tool is read-only and does not perform write operations.", +"type": "boolean" } }, "type": "object" @@ -17006,6 +17025,11 @@ }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -17014,6 +17038,31 @@ "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -17028,9 +17077,27 @@ ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -17206,6 +17273,89 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1EngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1EngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1EngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1EngineKnowledgeGraphConfig", @@ -18377,7 +18527,7 @@ "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -18960,6 +19110,23 @@ "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, @@ -19253,6 +19420,20 @@ "$ref": "GoogleCloudDiscoveryengineV1IdpConfig", "description": "Optional. The identity provider for this location. When provided, the location's AclConfig is set from it as part of provisioning." }, +"provisionIntent": { +"description": "Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience.", +"enum": [ +"PROVISION_INTENT_UNSPECIFIED", +"PROVISION_INTENT_SOBI", +"PROVISION_INTENT_LEGACY" +], +"enumDescriptions": [ +"Unspecified.", +"The caller is provisioning for the new Gemini Enterprise experience.", +"The caller is provisioning for the classic Gemini Enterprise experience." +], +"type": "string" +}, "saasParams": { "$ref": "GoogleCloudDiscoveryengineV1ProvisionProjectRequestSaasParams", "description": "Optional. Parameters for Agentspace." @@ -23066,7 +23247,7 @@ false "readOnly": true }, "placeholder": { -"description": "Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector.", +"description": "Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector.", "readOnly": true, "type": "string" } @@ -23124,7 +23305,7 @@ false "type": "string" }, "isFirstParty": { -"description": "Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors.", +"description": "Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector.", "readOnly": true, "type": "boolean" }, @@ -23192,13 +23373,15 @@ false "COMPLIANCE_LEVEL_UNSPECIFIED", "COMPLIANCE_LEVEL_FEDRAMP_HIGH", "COMPLIANCE_LEVEL_IL4", -"COMPLIANCE_LEVEL_IL5" +"COMPLIANCE_LEVEL_IL5", +"COMPLIANCE_LEVEL_ITAR" ], "enumDescriptions": [ "The project has no Assured Workloads compliance level, or reports one that this API version does not model.", "FedRAMP High compliance level.", "Impact Level 4 (IL4) compliance level.", -"Impact Level 5 (IL5) compliance level." +"Impact Level 5 (IL5) compliance level.", +"International Traffic in Arms Regulations (ITAR) compliance level." ], "readOnly": true, "type": "string" @@ -23495,6 +23678,11 @@ false "description": "If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.", "type": "boolean" }, +"featureToggleInfo": { +"$ref": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsFeatureToggleInfo", +"description": "Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle).", +"readOnly": true +}, "features": { "additionalProperties": { "enum": [ @@ -23509,7 +23697,7 @@ false ], "type": "string" }, -"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "readOnly": true, "type": "object" }, @@ -23591,6 +23779,64 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsFeatureToggleInfo": { +"description": "The resolved, server-side view of the feature toggle registry containing detailed info about each feature.", +"id": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsFeatureToggleInfo", +"properties": { +"featureToggles": { +"description": "Output only. The feature toggles known to the registry.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsFeatureToggleInfoFeatureToggle" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsFeatureToggleInfoFeatureToggle": { +"description": "A single feature toggle with its server-provided metadata.", +"id": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsFeatureToggleInfoFeatureToggle", +"properties": { +"id": { +"description": "Output only. Matches a key in the engine `features` map.", +"readOnly": true, +"type": "string" +}, +"launchStage": { +"description": "Output only. Launch stage of the feature behind a toggle.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"PREVIEW", +"GA", +"SCHEDULED_GA", +"DELAYED_GA", +"RETIRED" +], +"enumDescriptions": [ +"Unspecified launch stage.", +"The feature is in preview.", +"The feature is generally available.", +"The feature has reached scheduled availability, conventionally two weeks after GA.", +"The feature has reached delayed availability, conventionally four weeks after GA.", +"The feature is on for every customer and can no longer be turned off." +], +"readOnly": true, +"type": "string" +}, +"retirementDate": { +"$ref": "GoogleTypeDate", +"description": "Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled.", +"readOnly": true +}, +"supportsAccessPolicy": { +"description": "Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsGenerativeAnswerConfig": { "description": "Describes configuration for generative answer.", "id": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsGenerativeAnswerConfig", @@ -23857,6 +24103,13 @@ false "description": "Optional. Whether to create a BAP connection for the connector.", "type": "boolean" }, +"customerManagedScopes": { +"description": "Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in.", +"items": { +"type": "string" +}, +"type": "array" +}, "isActionConfigured": { "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", "readOnly": true, @@ -25146,6 +25399,14 @@ false "Assist operation has been cancelled (e.g. client closed the stream). May contain a partial response." ], "type": "string" +}, +"toolDisplayNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present.", +"readOnly": true, +"type": "object" } }, "type": "object" @@ -26888,7 +27149,7 @@ false "id": "GoogleCloudDiscoveryengineV1alphaDataConnectorConnectorMetadata", "properties": { "author": { -"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors).", +"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector.", "type": "string" }, "description": { @@ -27415,7 +27676,7 @@ false "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -27888,6 +28149,10 @@ false "name": { "description": "Required. The name of the tool.", "type": "string" +}, +"readonly": { +"description": "Optional. Indicates whether the tool is read-only and does not perform write operations.", +"type": "boolean" } }, "type": "object" @@ -27990,6 +28255,11 @@ false }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -27998,6 +28268,31 @@ false "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -28012,9 +28307,27 @@ false ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -28199,6 +28512,89 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaEngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1alphaEngineKnowledgeGraphConfig", @@ -29298,7 +29694,7 @@ false "type": "string" }, "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -29597,6 +29993,23 @@ false "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, @@ -33332,7 +33745,7 @@ false "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -33743,6 +34156,11 @@ false }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -33751,6 +34169,31 @@ false "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -33765,9 +34208,27 @@ false ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -33943,6 +34404,89 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1betaEngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1betaEngineKnowledgeGraphConfig", @@ -34665,7 +35209,7 @@ false "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -34891,6 +35435,23 @@ false "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json index 50b84aae0b..8570b02114 100644 --- a/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json @@ -387,7 +387,7 @@ "locations": { "methods": { "completeExternalIdentities": { -"description": "This method provides suggestions for users and groups managed in an external identity provider, based on the provided prefix.", +"description": "This method provides suggestions for users and groups managed in an external identity provider, based on the provided prefix. See CompleteExternalIdentitiesRequest.prefix_query for the fields matched during completion.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:completeExternalIdentities", "httpMethod": "GET", "id": "discoveryengine.projects.locations.completeExternalIdentities", @@ -424,7 +424,7 @@ "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.", +"description": "Required. The prefix to search for. The matching is case-insensitive. * Users: * Supported: `primary_email` (SCIM `emails[type=work]` only), `given_name`, and `family_name` by leading prefix, and `display_name` per word. * Not supported: `subject`, `external_id`, and SCIM `userName` (not stored; only used to derive `subject` when `google.subject` maps `user.userName`). * Groups: * Supported: `display_name` per word.", "location": "query", "type": "string" }, @@ -5369,7 +5369,7 @@ "type": "string" }, "modelInfoView": { -"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", +"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", @@ -5447,6 +5447,36 @@ }, "engines": { "methods": { +"checkFeaturePolicyMembers": { +"description": "Checks members for Engine.feature_policies against the project's directory, as EngineService.UpdateEngine does when it saves them, and saves nothing.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:checkFeaturePolicyMembers", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.checkFeaturePolicyMembers", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The engine resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:checkFeaturePolicyMembers", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +] +}, "create": { "description": "Creates an Engine.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", @@ -8158,7 +8188,7 @@ "type": "string" }, "modelInfoView": { -"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", +"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", @@ -11489,7 +11519,7 @@ "type": "string" }, "modelInfoView": { -"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", +"description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", @@ -13485,6 +13515,117 @@ } } }, +"userAvailabilities": { +"methods": { +"batchUpdate": { +"description": "Updates multiple UserAvailabilitys.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userStores/{userStoresId}/userAvailabilities:batchUpdate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.userStores.userAvailabilities.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/userStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userAvailabilities:batchUpdate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchUpdateUserAvailabilitiesRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBatchUpdateUserAvailabilitiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +] +}, +"list": { +"description": "Lists the UserAvailabilitys.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userStores/{userStoresId}/userAvailabilities", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.userStores.userAvailabilities.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter for the list request. Supported fields (only `user_principal` is supported for now): * `user_principal` (will be normalized for matching) Examples: * `user_principal = \"user1@example.com\"` to list user availability for `user1@example.com`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListUserAvailabilities` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserAvailabilities` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/userStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userAvailabilities", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaListUserAvailabilitiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +] +} +} +}, +"userAvailability": { +"methods": { +"update": { +"description": "Updates a UserAvailability.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userStores/{userStoresId}/userAvailability:update", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.userStores.userAvailability.update", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Optional. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/userStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/userAvailability:update", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUpdateUserAvailabilityRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserAvailability" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/discoveryengine.readwrite", +"https://www.googleapis.com/auth/discoveryengine.serving.readwrite" +] +} +} +}, "userLicenses": { "methods": { "export": { @@ -13653,7 +13794,7 @@ } } }, -"revision": "20261022", +"revision": "20261106", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "ApiservingMcpMcpToolVisibility": { @@ -14147,6 +14288,13 @@ "description": "Optional. Whether to create a BAP connection for the connector.", "type": "boolean" }, +"customerManagedScopes": { +"description": "Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in.", +"items": { +"type": "string" +}, +"type": "array" +}, "isActionConfigured": { "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", "readOnly": true, @@ -15564,7 +15712,7 @@ "id": "GoogleCloudDiscoveryengineV1DataConnectorConnectorMetadata", "properties": { "author": { -"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors).", +"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector.", "type": "string" }, "description": { @@ -16077,7 +16225,7 @@ "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -16466,6 +16614,10 @@ "name": { "description": "Required. The name of the tool.", "type": "string" +}, +"readonly": { +"description": "Optional. Indicates whether the tool is read-only and does not perform write operations.", +"type": "boolean" } }, "type": "object" @@ -16568,6 +16720,11 @@ }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -16576,6 +16733,31 @@ "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -16590,9 +16772,27 @@ ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -16768,6 +16968,89 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1EngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1EngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1EngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1EngineKnowledgeGraphConfig", @@ -17313,7 +17596,7 @@ "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -17490,6 +17773,23 @@ "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, @@ -18879,6 +19179,13 @@ "description": "Optional. Whether to create a BAP connection for the connector.", "type": "boolean" }, +"customerManagedScopes": { +"description": "Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in.", +"items": { +"type": "string" +}, +"type": "array" +}, "isActionConfigured": { "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", "readOnly": true, @@ -19320,6 +19627,10 @@ "description": "Optional. The custom placeholder text that appears in the text box before the user enters any text.", "type": "string" }, +"defaultPinned": { +"description": "Optional. Whether the agent is pinned by default for users who have access to it and have not explicitly unpinned it. Setting this field requires an admin.", +"type": "boolean" +}, "deploymentFailureReason": { "description": "Output only. The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED.", "readOnly": true, @@ -21443,6 +21754,14 @@ "Assist operation has been cancelled (e.g. client closed the stream). May contain a partial response." ], "type": "string" +}, +"toolDisplayNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present.", +"readOnly": true, +"type": "object" } }, "type": "object" @@ -22327,6 +22646,34 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaBatchUpdateUserAvailabilitiesRequest": { +"description": "Request message for UserStoreService.BatchUpdateUserAvailabilities method.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchUpdateUserAvailabilitiesRequest", +"properties": { +"requests": { +"description": "Required. The UserAvailabilitys to update. Maximum of 1000 at a time: if more are passed in, returns INVALID_ARGUMENT. Batch is all or nothing; either all updates succeed or none. The `parent` field in each child request must either be empty, or match the `parent` field in the batch request. If there is a mismatch, that will also result in an INVALID_ARGUMENT being returned.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUpdateUserAvailabilityRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchUpdateUserAvailabilitiesResponse": { +"description": "Response message for UserStoreService.BatchUpdateUserAvailabilities method.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchUpdateUserAvailabilitiesResponse", +"properties": { +"userAvailabilities": { +"description": "The updated UserAvailabilitys.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserAvailability" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaBatchUpdateUserLicensesMetadata": { "description": "Metadata related to the progress of the UserLicenseService.BatchUpdateUserLicenses operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaBatchUpdateUserLicensesMetadata", @@ -22883,6 +23230,65 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersRequest": { +"description": "Request for EngineService.CheckFeaturePolicyMembers method.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersRequest", +"properties": { +"members": { +"description": "Required. The members to check, in the form a policy takes them. At least 1 and at most 100. `verification` is ignored.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersResponse": { +"description": "Response for EngineService.CheckFeaturePolicyMembers method.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersResponse", +"properties": { +"directorySource": { +"description": "Where the project's groups are looked up.", +"enum": [ +"DIRECTORY_SOURCE_UNSPECIFIED", +"GOOGLE", +"SCIM", +"NONE" +], +"enumDescriptions": [ +"The source couldn't be determined; every group is `CHECK_FAILED`.", +"Google identity (Workspace or Cloud Identity). Groups are emails.", +"Workforce Identity Federation with SCIM groups in the project's workforce pool.", +"Workforce Identity Federation without SCIM groups: no directory to check against." +], +"type": "string" +}, +"memberChecks": { +"description": "One result per requested member, in request order. Members are checked independently, so two emails for the same Google group both pass.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersResponseMemberCheck" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersResponseMemberCheck": { +"description": "The result for one requested member.", +"id": "GoogleCloudDiscoveryengineV1alphaCheckFeaturePolicyMembersResponseMemberCheck", +"properties": { +"member": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember", +"description": "The member as EngineService.UpdateEngine would save it: `id` normalized, `display_name` taken from the directory when it has one, and `verification` set. Echoes the request's member when `status` is an INVALID_ARGUMENT from the member's format." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "OK when the member is valid and, for a group, in the directory. Otherwise INVALID_ARGUMENT for a malformed member or a group the directory doesn't have, and UNAVAILABLE for a Google group the directory couldn't be asked about. EngineService.UpdateEngine fails on all of these, except that it leaves out an allowed group the directory doesn't have, saves the other members, and lists the group in Engine.feature_policy_rejections." +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest": { "description": "Request message for GroundedGenerationService.CheckGrounding method.", "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest", @@ -24956,7 +25362,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaDataConnectorConnectorMetadata", "properties": { "author": { -"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors).", +"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector.", "type": "string" }, "description": { @@ -25483,7 +25889,7 @@ "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -26203,6 +26609,10 @@ "name": { "description": "Required. The name of the tool.", "type": "string" +}, +"readonly": { +"description": "Optional. Indicates whether the tool is read-only and does not perform write operations.", +"type": "boolean" } }, "type": "object" @@ -26322,6 +26732,11 @@ }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -26330,6 +26745,31 @@ "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -26344,9 +26784,27 @@ ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -26531,6 +26989,89 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaEngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1alphaEngineKnowledgeGraphConfig", @@ -27101,7 +27642,7 @@ "type": "string" }, "primaryEmail": { -"description": "The user's primary email address. Do not use this for IAM bindings. Use ExternalIdentity.subject.", +"description": "The user's primary email address (populated from SCIM `emails[type=work]`). Do not use this for IAM bindings. Use ExternalIdentity.subject.", "type": "string" } }, @@ -28748,7 +29289,7 @@ "type": "string" }, "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -29482,6 +30023,24 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaListUserAvailabilitiesResponse": { +"description": "Response message for UserStoreService.ListUserAvailabilities method.", +"id": "GoogleCloudDiscoveryengineV1alphaListUserAvailabilitiesResponse", +"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" +}, +"userAvailabilities": { +"description": "The UserAvailabilitys matching the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserAvailability" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaListUserLicensesResponse": { "description": "Response message for UserLicenseService.ListUserLicenses.", "id": "GoogleCloudDiscoveryengineV1alphaListUserLicensesResponse", @@ -29791,6 +30350,23 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, @@ -30084,6 +30660,20 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", "description": "Optional. The identity provider for this location. When provided, the location's AclConfig is set from it as part of provisioning." }, +"provisionIntent": { +"description": "Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience.", +"enum": [ +"PROVISION_INTENT_UNSPECIFIED", +"PROVISION_INTENT_SOBI", +"PROVISION_INTENT_LEGACY" +], +"enumDescriptions": [ +"Unspecified.", +"The caller is provisioning for the new Gemini Enterprise experience.", +"The caller is provisioning for the classic Gemini Enterprise experience." +], +"type": "string" +}, "saasParams": { "$ref": "GoogleCloudDiscoveryengineV1alphaProvisionProjectRequestSaasParams", "description": "Optional. Parameters for Agentspace." @@ -34822,6 +35412,63 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaUpdateUserAvailabilityRequest": { +"description": "Request message for UserStoreService.UpdateUserAvailability method. Also nested within BatchUpdateUserAvailabilityRequest for the UserStoreService.BatchUpdateUserAvailability method. `parent` is a required field when this message is used for a single Update, but is optional when used for a BatchUpdate.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateUserAvailabilityRequest", +"properties": { +"parent": { +"description": "Optional. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`.", +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update. Only 'state' is supported; if unset, defaults to 'state'.", +"format": "google-fieldmask", +"type": "string" +}, +"userAvailability": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserAvailability", +"description": "Required. The UserAvailability to update." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUserAvailability": { +"description": "Tracks whether a resource is available for a given user (distinct from whether the user is allowed to use that resource by licensing, etc).", +"id": "GoogleCloudDiscoveryengineV1alphaUserAvailability", +"properties": { +"observeTime": { +"deprecated": true, +"description": "Optional. Deprecated: use `update_time` only.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Optional. Whether the user can currently use the resource. Set by the caller on update. If unspecified, defaults to `ACTIVE`.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE" +], +"enumDescriptions": [ +"Unspecified state (defaults to active).", +"Active state.", +"Inactive state." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the most recent update to `state` was saved.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"userPrincipal": { +"description": "Required. Immutable. User principal (IdP subject for Workforce Identity, email for Google sign-in).", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaUserEvent": { "description": "UserEvent captures all metadata information Discovery Engine API needs to know about how end users interact with your website.", "id": "GoogleCloudDiscoveryengineV1alphaUserEvent", @@ -35470,7 +36117,7 @@ false "readOnly": true }, "placeholder": { -"description": "Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector (not existed in DataConnector table in spanner). It's a resource name existing only in the connector_authorization in the user table. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector.", +"description": "Output only. It is the batch authorization group placeholder full resource name. This is not a real data connector resource. E.g. projects/{project}/locations/{location}/collections/oauth_placeholder_google_workspace/dataStores/dataConnector.", "readOnly": true, "type": "string" } @@ -35528,7 +36175,7 @@ false "type": "string" }, "isFirstParty": { -"description": "Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector. Used by the frontend to group 1P vs 3P connectors.", +"description": "Output only. Whether this is a first-party (Google-owned) connector, as opposed to a third-party connector.", "readOnly": true, "type": "boolean" }, @@ -35596,13 +36243,15 @@ false "COMPLIANCE_LEVEL_UNSPECIFIED", "COMPLIANCE_LEVEL_FEDRAMP_HIGH", "COMPLIANCE_LEVEL_IL4", -"COMPLIANCE_LEVEL_IL5" +"COMPLIANCE_LEVEL_IL5", +"COMPLIANCE_LEVEL_ITAR" ], "enumDescriptions": [ "The project has no Assured Workloads compliance level, or reports one that this API version does not model.", "FedRAMP High compliance level.", "Impact Level 4 (IL4) compliance level.", -"Impact Level 5 (IL5) compliance level." +"Impact Level 5 (IL5) compliance level.", +"International Traffic in Arms Regulations (ITAR) compliance level." ], "readOnly": true, "type": "string" @@ -35947,6 +36596,11 @@ false "description": "If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.", "type": "boolean" }, +"featureToggleInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsFeatureToggleInfo", +"description": "Output only. The resolved, server-side view of the feature toggle registry (launch stage per toggle).", +"readOnly": true +}, "features": { "additionalProperties": { "enum": [ @@ -35961,7 +36615,7 @@ false ], "type": "string" }, -"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "readOnly": true, "type": "object" }, @@ -36043,6 +36697,64 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsFeatureToggleInfo": { +"description": "The resolved, server-side view of the feature toggle registry containing detailed info about each feature.", +"id": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsFeatureToggleInfo", +"properties": { +"featureToggles": { +"description": "Output only. The feature toggles known to the registry.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsFeatureToggleInfoFeatureToggle" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsFeatureToggleInfoFeatureToggle": { +"description": "A single feature toggle with its server-provided metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsFeatureToggleInfoFeatureToggle", +"properties": { +"id": { +"description": "Output only. Matches a key in the engine `features` map.", +"readOnly": true, +"type": "string" +}, +"launchStage": { +"description": "Output only. Launch stage of the feature behind a toggle.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"PREVIEW", +"GA", +"SCHEDULED_GA", +"DELAYED_GA", +"RETIRED" +], +"enumDescriptions": [ +"Unspecified launch stage.", +"The feature is in preview.", +"The feature is generally available.", +"The feature has reached scheduled availability, conventionally two weeks after GA.", +"The feature has reached delayed availability, conventionally four weeks after GA.", +"The feature is on for every customer and can no longer be turned off." +], +"readOnly": true, +"type": "string" +}, +"retirementDate": { +"$ref": "GoogleTypeDate", +"description": "Output only. The informational date the toggle is scheduled to retire, after which the feature is on for every customer. This is for display purposes only. The system does not transition feature states automatically on this date. Only when the launch stage is set to RETIRED does the feature turn on for every customer. Unset if no retirement is scheduled.", +"readOnly": true +}, +"supportsAccessPolicy": { +"description": "Output only. Whether the engine's `feature_policies` may restrict this feature to specific users or groups. When false, EngineService.UpdateEngine rejects a policy for this feature.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsGenerativeAnswerConfig": { "description": "Describes configuration for generative answer.", "id": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsGenerativeAnswerConfig", @@ -36283,7 +36995,7 @@ false "id": "GoogleCloudDiscoveryengineV1alphaWorkspaceSettings", "properties": { "customerDomainValid": { -"description": "Whether the calling user's customer domain matches the workspace data stores under this engine.", +"description": "Whether the calling user's customer domain matches the workspace data stores under this engine. Unset when the check did not run or could not complete, which clients treat as unknown.", "type": "boolean" }, "workspaceAccessEnabled": { @@ -37247,7 +37959,7 @@ false "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -37658,6 +38370,11 @@ false }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -37666,6 +38383,31 @@ false "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -37680,9 +38422,27 @@ false ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -37858,6 +38618,89 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1betaEngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1betaEngineKnowledgeGraphConfig", @@ -38580,7 +39423,7 @@ false "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -38806,6 +39649,23 @@ false "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json index ed83701fc5..80ba106922 100644 --- a/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json +++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json @@ -9645,7 +9645,7 @@ } } }, -"revision": "20261022", +"revision": "20261106", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "ApiservingMcpMcpToolVisibility": { @@ -10139,6 +10139,13 @@ "description": "Optional. Whether to create a BAP connection for the connector.", "type": "boolean" }, +"customerManagedScopes": { +"description": "Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in.", +"items": { +"type": "string" +}, +"type": "array" +}, "isActionConfigured": { "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", "readOnly": true, @@ -11556,7 +11563,7 @@ "id": "GoogleCloudDiscoveryengineV1DataConnectorConnectorMetadata", "properties": { "author": { -"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors).", +"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector.", "type": "string" }, "description": { @@ -12069,7 +12076,7 @@ "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -12458,6 +12465,10 @@ "name": { "description": "Required. The name of the tool.", "type": "string" +}, +"readonly": { +"description": "Optional. Indicates whether the tool is read-only and does not perform write operations.", +"type": "boolean" } }, "type": "object" @@ -12560,6 +12571,11 @@ }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -12568,6 +12584,31 @@ "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -12582,9 +12623,27 @@ ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -12760,6 +12819,89 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1EngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1EngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1EngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1EngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1EngineKnowledgeGraphConfig", @@ -13305,7 +13447,7 @@ "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -13482,6 +13624,23 @@ "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, @@ -14783,6 +14942,13 @@ "description": "Optional. Whether to create a BAP connection for the connector.", "type": "boolean" }, +"customerManagedScopes": { +"description": "Optional. Customer-supplied OAuth scopes for connectors that opt into customer- managed scopes via ConnectorSource.enable_customer_managed_scopes. When non-empty on an opted-in connector, this list **replaces** the connector's built-in per-tool scopes: the OAuth authorization URL requests exactly these scopes for every operation, and the built-in scopes are never merged in. Ignored for connectors that do not opt in.", +"items": { +"type": "string" +}, +"type": "array" +}, "isActionConfigured": { "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", "readOnly": true, @@ -16072,6 +16238,14 @@ "Assist operation has been cancelled (e.g. client closed the stream). May contain a partial response." ], "type": "string" +}, +"toolDisplayNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present.", +"readOnly": true, +"type": "object" } }, "type": "object" @@ -17814,7 +17988,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaDataConnectorConnectorMetadata", "properties": { "author": { -"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector (future: third-party-authored connectors).", +"description": "Optional. The party that authored the connector, e.g. \"Google\" or a third-party provider name. Lets end users see who authored a connector.", "type": "string" }, "description": { @@ -18341,7 +18515,7 @@ "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -18814,6 +18988,10 @@ "name": { "description": "Required. The name of the tool.", "type": "string" +}, +"readonly": { +"description": "Optional. Indicates whether the tool is read-only and does not perform write operations.", +"type": "boolean" } }, "type": "object" @@ -18916,6 +19094,11 @@ }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -18924,6 +19107,31 @@ "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -18938,9 +19146,27 @@ ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -19125,6 +19351,89 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaEngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1alphaEngineKnowledgeGraphConfig", @@ -20224,7 +20533,7 @@ "type": "string" }, "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -20523,6 +20832,23 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, @@ -25064,6 +25390,14 @@ false "Assist operation has been cancelled (e.g. client closed the stream). May contain a partial response." ], "type": "string" +}, +"toolDisplayNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Maps a tool name (for example, `Internal-KB-Search` or `custom_mcp__agent__Internal-KB-Search`) to its human-readable display title (for example, `@Internal-KB Search`), populated from MCP tool `title` or `annotations.title` metadata so user-facing surfaces can display the tool title instead of the raw function declaration identifier. Empty when no tool display titles are present.", +"readOnly": true, +"type": "object" } }, "type": "object" @@ -27628,7 +27962,7 @@ false "type": "string" }, "instanceName": { -"description": "Optional. The instance name identifying the 3P app, e.g., \"vaissptbots-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://vaissptbots-my.sharepoint.com\".", +"description": "Optional. The instance name identifying the 3P app, e.g., \"-my\". This is different from the instance_uri which is the full URL of the 3P app e.g., \"https://-my.sharepoint.com\".", "type": "string" } }, @@ -28292,6 +28626,11 @@ false }, "type": "array" }, +"delayedGlobalFeatureToggleStateAllowed": { +"description": "Output only. Whether the project is allowed to set `global_feature_toggle_state` to `DELAYED`.", +"readOnly": true, +"type": "boolean" +}, "disableAnalytics": { "description": "Optional. Whether to disable analytics for searches performed on this engine.", "type": "boolean" @@ -28300,6 +28639,31 @@ false "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, +"effectiveFeatures": { +"additionalProperties": { +"enum": [ +"FEATURE_STATE_UNSPECIFIED", +"FEATURE_STATE_ON", +"FEATURE_STATE_OFF" +], +"enumDescriptions": [ +"The feature state is unspecified.", +"The feature is turned on to be accessible.", +"The feature is turned off to be inaccessible." +], +"type": "string" +}, +"description": "Output only. The complete, server-resolved state of every known feature toggle. Unlike `features`, which stores only explicit admin overrides, this map always contains an entry for every toggle. Clients should read toggle state from this field.", +"readOnly": true, +"type": "object" +}, +"featurePolicies": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy" +}, +"description": "Optional. Per-feature access policies, keyed by feature toggle name (see `features`). A feature with no entry is available to every user when it is on. Only features that support access policies are accepted.", +"type": "object" +}, "features": { "additionalProperties": { "enum": [ @@ -28314,9 +28678,27 @@ false ], "type": "string" }, -"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge`", +"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `music-generation` * `speech-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `skill-security-scan` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` * `code-extraction` * `remote-vm` * `license-tier-badge` * `canvas-app-sharing` * `agent-marketplace` * `agent-scheduling` * `preview-agents` * `plugins`", "type": "object" }, +"globalFeatureToggleState": { +"description": "Optional. Controls the global feature toggle state for the engine.", +"enum": [ +"GLOBAL_FEATURE_TOGGLE_STATE_UNSPECIFIED", +"DELAYED", +"SCHEDULED", +"GENERAL", +"EARLY" +], +"enumDescriptions": [ +"Unspecified feature toggle state. Treated as `GENERAL`.", +"Gets features and models 4 weeks post GA. Features will be ON at the 4 weeks mark post GA.", +"Gets features and models 2 weeks post GA. Features will be ON at the 2 weeks mark post GA.", +"Gets features and models at GA. Features will be ON at GA.", +"Gets features and models at EAP (if in EAP). Features will only be ON if the project is allowlisted." +], +"type": "string" +}, "industryVertical": { "description": "Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ @@ -28492,6 +28874,89 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy": { +"description": "Restricts which users may use a feature that is turned on in `features`.", +"id": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicy", +"properties": { +"allowedMembers": { +"description": "Optional. Members who may use the feature.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember" +}, +"type": "array" +}, +"defaultAccess": { +"description": "Optional. Access for users who match neither list.", +"enum": [ +"DEFAULT_ACCESS_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Treated as `ALLOW`.", +"Users who match neither list may use the feature.", +"Users who match neither list may not use the feature." +], +"type": "string" +}, +"deniedMembers": { +"description": "Optional. Members who may not use the feature. Takes precedence over `allowed_members`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember": { +"description": "A user or group the policy refers to.", +"id": "GoogleCloudDiscoveryengineV1betaEngineFeaturePolicyMember", +"properties": { +"displayName": { +"description": "Optional. Label shown in the console. Never used for evaluation.", +"type": "string" +}, +"id": { +"description": "Required. Identifier evaluated at serving time. Its format depends on the project's identity provider: * Google identity (`GSUITE`): the group or user email. For groups, the server resolves the email to a group ID on write and returns the email on read. * Workforce Identity Federation (`THIRD_PARTY`), groups: the value the provider emits in `google.groups`. With SCIM this is the SCIM group ID; without SCIM and with the default Microsoft Entra mapping it is the Entra group object ID. * Workforce Identity Federation, users: the user's workforce identity subject.", +"type": "string" +}, +"type": { +"description": "Required. Kind of member.", +"enum": [ +"TYPE_UNSPECIFIED", +"USER", +"GROUP" +], +"enumDescriptions": [ +"Not allowed.", +"A single user.", +"A group of users." +], +"type": "string" +}, +"verification": { +"description": "Output only. Result of the server's directory check when the member was saved.", +"enum": [ +"VERIFICATION_UNSPECIFIED", +"VERIFIED", +"NOT_FOUND", +"NOT_VERIFIABLE", +"CHECK_FAILED" +], +"enumDescriptions": [ +"Not checked.", +"Found in the project's directory.", +"Microsoft Graph has no such group. Saved anyway, because a custom `google.groups` mapping can emit IDs that Graph doesn't know.", +"The project has no directory to check against.", +"The directory lookup failed. Saved anyway." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1betaEngineKnowledgeGraphConfig": { "description": "Configuration message for the Knowledge Graph.", "id": "GoogleCloudDiscoveryengineV1betaEngineKnowledgeGraphConfig", @@ -29850,7 +30315,7 @@ false "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.", +"description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date.", "readOnly": true, "type": "boolean" }, @@ -30588,6 +31053,23 @@ false "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfig", "description": "Optional. Customer provided configurations." }, +"experienceState": { +"description": "Output only. The current experience state of the project.", +"enum": [ +"EXPERIENCE_STATE_UNSPECIFIED", +"SOBI_ONLY", +"LEGACY_ONLY", +"LEGACY_AND_SOBI" +], +"enumDescriptions": [ +"No experience is stated for this location.", +"Only the new Gemini Enterprise experience.", +"Only the classic Gemini Enterprise experience.", +"Legacy engines serve the classic experience, the Sobi engine serves the Sobi experience." +], +"readOnly": true, +"type": "string" +}, "name": { "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", "readOnly": true, @@ -30881,6 +31363,20 @@ false "$ref": "GoogleCloudDiscoveryengineV1betaIdpConfig", "description": "Optional. The identity provider for this location. When provided, the location's AclConfig is set from it as part of provisioning." }, +"provisionIntent": { +"description": "Optional. The caller states whether the provisioning is for the new or the classic Gemini Enterprise experience.", +"enum": [ +"PROVISION_INTENT_UNSPECIFIED", +"PROVISION_INTENT_SOBI", +"PROVISION_INTENT_LEGACY" +], +"enumDescriptions": [ +"Unspecified.", +"The caller is provisioning for the new Gemini Enterprise experience.", +"The caller is provisioning for the classic Gemini Enterprise experience." +], +"type": "string" +}, "saasParams": { "$ref": "GoogleCloudDiscoveryengineV1betaProvisionProjectRequestSaasParams", "description": "Optional. Parameters for Agentspace." From e1bff7366ed0ae8717e8689bc93b5b04e892be41 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:27 +0000 Subject: [PATCH 32/57] feat(file): update the api #### file:v1beta1 The following keys were deleted: - resources.projects.resources.locations.resources.volumePools.resources.volumes.methods.directCreate (Total Keys: 14) - resources.projects.resources.locations.resources.volumePools.resources.volumes.methods.directDelete (Total Keys: 12) - schemas.DeleteVolumeRequest (Total Keys: 2) The following keys were added: - resources.projects.resources.locations.resources.volumePools.methods.delete.parameters.force (Total Keys: 2) - schemas.VolumePool.properties.autoFreezeDelay (Total Keys: 2) --- ...1beta1.projects.locations.volumePools.html | 9 +- ...rojects.locations.volumePools.volumes.html | 121 +----------------- .../documents/file.v1beta1.json | 81 ++---------- 3 files changed, 25 insertions(+), 186 deletions(-) diff --git a/docs/dyn/file_v1beta1.projects.locations.volumePools.html b/docs/dyn/file_v1beta1.projects.locations.volumePools.html index a3610b7366..5c7c915be7 100644 --- a/docs/dyn/file_v1beta1.projects.locations.volumePools.html +++ b/docs/dyn/file_v1beta1.projects.locations.volumePools.html @@ -86,7 +86,7 @@

Instance Methods

create(parent, body=None, volumePoolId=None, x__xgafv=None)

Creates a volume pool.

- delete(name, x__xgafv=None)

+ delete(name, force=None, x__xgafv=None)

Deletes a volume pool.

get(name, x__xgafv=None)

@@ -118,6 +118,7 @@

Method Details

{ # VolumePool representation of a Cloud Filestore volume pool. "activeVolumeCount": 42, # Optional. The number of active volumes. Default: 100. "activeVolumeIops": 42, # Optional. The number of IOPs provisioned per active volume. + "autoFreezeDelay": "A String", # Optional. How long a volume stays `WARM` after it is deactivated before it is automatically frozen (moved to `COLD`). Must be positive if set. Default: 7 days. "createTime": "A String", # Output only. The time when the volume pool was created. "defaultVolumeQuotaMib": 42, # Optional. The default quota per volume in MiB. Must be between 100 MiB and 102400 MiB (100 GiB). Default: 1024 MiB. "description": "A String", # Optional. A description of the volume pool with 2048 characters or less. @@ -161,11 +162,12 @@

Method Details

- delete(name, x__xgafv=None) + delete(name, force=None, x__xgafv=None)
Deletes a volume pool.
 
 Args:
   name: string, Required. The volume pool resource name, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}`. (required)
+  force: boolean, Optional. If set to `true`, the volume pool is deleted even if it has volumes, and its volumes are deleted with it. Otherwise, the request fails if the volume pool has any volumes.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -212,6 +214,7 @@ 

Method Details

{ # VolumePool representation of a Cloud Filestore volume pool. "activeVolumeCount": 42, # Optional. The number of active volumes. Default: 100. "activeVolumeIops": 42, # Optional. The number of IOPs provisioned per active volume. + "autoFreezeDelay": "A String", # Optional. How long a volume stays `WARM` after it is deactivated before it is automatically frozen (moved to `COLD`). Must be positive if set. Default: 7 days. "createTime": "A String", # Output only. The time when the volume pool was created. "defaultVolumeQuotaMib": 42, # Optional. The default quota per volume in MiB. Must be between 100 MiB and 102400 MiB (100 GiB). Default: 1024 MiB. "description": "A String", # Optional. A description of the volume pool with 2048 characters or less. @@ -252,6 +255,7 @@

Method Details

{ # VolumePool representation of a Cloud Filestore volume pool. "activeVolumeCount": 42, # Optional. The number of active volumes. Default: 100. "activeVolumeIops": 42, # Optional. The number of IOPs provisioned per active volume. + "autoFreezeDelay": "A String", # Optional. How long a volume stays `WARM` after it is deactivated before it is automatically frozen (moved to `COLD`). Must be positive if set. Default: 7 days. "createTime": "A String", # Output only. The time when the volume pool was created. "defaultVolumeQuotaMib": 42, # Optional. The default quota per volume in MiB. Must be between 100 MiB and 102400 MiB (100 GiB). Default: 1024 MiB. "description": "A String", # Optional. A description of the volume pool with 2048 characters or less. @@ -293,6 +297,7 @@

Method Details

{ # VolumePool representation of a Cloud Filestore volume pool. "activeVolumeCount": 42, # Optional. The number of active volumes. Default: 100. "activeVolumeIops": 42, # Optional. The number of IOPs provisioned per active volume. + "autoFreezeDelay": "A String", # Optional. How long a volume stays `WARM` after it is deactivated before it is automatically frozen (moved to `COLD`). Must be positive if set. Default: 7 days. "createTime": "A String", # Output only. The time when the volume pool was created. "defaultVolumeQuotaMib": 42, # Optional. The default quota per volume in MiB. Must be between 100 MiB and 102400 MiB (100 GiB). Default: 1024 MiB. "description": "A String", # Optional. A description of the volume pool with 2048 characters or less. diff --git a/docs/dyn/file_v1beta1.projects.locations.volumePools.volumes.html b/docs/dyn/file_v1beta1.projects.locations.volumePools.volumes.html index 5e0a171123..68cc466bb9 100644 --- a/docs/dyn/file_v1beta1.projects.locations.volumePools.volumes.html +++ b/docs/dyn/file_v1beta1.projects.locations.volumePools.volumes.html @@ -86,12 +86,6 @@

Instance Methods

delete(name, x__xgafv=None)

Deletes a volume.

-

- directCreate(parent, body=None, volumeId=None, x__xgafv=None)

-

Creates a volume directly on the CLH, bypassing CCFE. This is a temporary PoC that will be used for testing and removed.

-

- directDelete(name, body=None, x__xgafv=None)

-

Deletes a volume directly on the CLH, bypassing CCFE. This is a temporary PoC that will be used for testing and removed.

get(name, x__xgafv=None)

Gets the details of a specific volume.

@@ -149,7 +143,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name of the volume, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`. "quotaMib": "A String", # Optional. The maximum size of the volume in mebibytes (MiB). - "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`. + "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only: the volume is created as `HOT` when `ip_acls` is non-empty. When `ip_acls` is empty, the volume may be created `WARM` with no `mount_point` until `ip_acls` are set with `UpdateVolume`. } volumeId: string, Required. The ID to use for the volume. The ID must be unique within the specified volume pool. @@ -188,7 +182,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name of the volume, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`. "quotaMib": "A String", # Optional. The maximum size of the volume in mebibytes (MiB). - "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`. + "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only: the volume is created as `HOT` when `ip_acls` is non-empty. When `ip_acls` is empty, the volume may be created `WARM` with no `mount_point` until `ip_acls` are set with `UpdateVolume`. }
@@ -270,109 +264,6 @@

Method Details

}
-
- directCreate(parent, body=None, volumeId=None, x__xgafv=None) -
Creates a volume directly on the CLH, bypassing CCFE. This is a temporary PoC that will be used for testing and removed.
-
-Args:
-  parent: string, Required. The parent volume pool path, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Volume representation of a Cloud Filestore volume.
-  "createTime": "A String", # Output only. The time when the volume was created.
-  "description": "A String", # Optional. A description of the volume with 2048 characters or less. Requests with longer descriptions will be rejected.
-  "ipAcls": [ # Optional. User-defined permissions protecting mount points.
-    { # NFS export options specifications.
-      "accessMode": "A String", # Either READ_ONLY, for allowing only read requests on the exported directory, or READ_WRITE, for allowing both read and write requests. The default is READ_WRITE.
-      "anonGid": "A String", # An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
-      "anonUid": "A String", # An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
-      "ipRanges": [ # List of either an IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask size}` which may mount the file share. Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned. The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions.
-        "A String",
-      ],
-      "network": "A String", # Optional. The source VPC network for ip_ranges. Required for instances using Private Service Connect, optional otherwise. If provided, must be the same network specified in the `NetworkConfig.network` field.
-      "securityFlavors": [ # The security flavors allowed for mount operations. The default is AUTH_SYS.
-        "A String",
-      ],
-      "squashMode": "A String", # Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH, for not allowing root access. The default is NO_ROOT_SQUASH.
-    },
-  ],
-  "labels": { # Optional. Resource labels to represent user provided metadata.
-    "a_key": "A String",
-  },
-  "mountPoint": { # Mount details for a volume. # Output only. The mount point of the volume.
-    "ipAddress": "A String", # Output only. The IP address of the physical Filestore instance hosting the volume.
-    "mountName": "A String", # Output only. The mount name of the volume. Must be 63 characters or less and consist of uppercase or lowercase letters, numbers, and underscores.
-  },
-  "name": "A String", # Identifier. The resource name of the volume, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`.
-  "quotaMib": "A String", # Optional. The maximum size of the volume in mebibytes (MiB).
-  "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`.
-}
-
-  volumeId: string, Required. The ID to use for the volume. The ID must be unique within the specified volume pool.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Volume representation of a Cloud Filestore volume.
-  "createTime": "A String", # Output only. The time when the volume was created.
-  "description": "A String", # Optional. A description of the volume with 2048 characters or less. Requests with longer descriptions will be rejected.
-  "ipAcls": [ # Optional. User-defined permissions protecting mount points.
-    { # NFS export options specifications.
-      "accessMode": "A String", # Either READ_ONLY, for allowing only read requests on the exported directory, or READ_WRITE, for allowing both read and write requests. The default is READ_WRITE.
-      "anonGid": "A String", # An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
-      "anonUid": "A String", # An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
-      "ipRanges": [ # List of either an IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask size}` which may mount the file share. Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned. The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions.
-        "A String",
-      ],
-      "network": "A String", # Optional. The source VPC network for ip_ranges. Required for instances using Private Service Connect, optional otherwise. If provided, must be the same network specified in the `NetworkConfig.network` field.
-      "securityFlavors": [ # The security flavors allowed for mount operations. The default is AUTH_SYS.
-        "A String",
-      ],
-      "squashMode": "A String", # Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH, for not allowing root access. The default is NO_ROOT_SQUASH.
-    },
-  ],
-  "labels": { # Optional. Resource labels to represent user provided metadata.
-    "a_key": "A String",
-  },
-  "mountPoint": { # Mount details for a volume. # Output only. The mount point of the volume.
-    "ipAddress": "A String", # Output only. The IP address of the physical Filestore instance hosting the volume.
-    "mountName": "A String", # Output only. The mount name of the volume. Must be 63 characters or less and consist of uppercase or lowercase letters, numbers, and underscores.
-  },
-  "name": "A String", # Identifier. The resource name of the volume, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`.
-  "quotaMib": "A String", # Optional. The maximum size of the volume in mebibytes (MiB).
-  "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`.
-}
-
- -
- directDelete(name, body=None, x__xgafv=None) -
Deletes a volume directly on the CLH, bypassing CCFE. This is a temporary PoC that will be used for testing and removed.
-
-Args:
-  name: string, Required. The volume resource name, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # DeleteVolumeRequest deletes a volume.
-}
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # 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); }
-}
-
-
get(name, x__xgafv=None)
Gets the details of a specific volume.
@@ -414,7 +305,7 @@ 

Method Details

}, "name": "A String", # Identifier. The resource name of the volume, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`. "quotaMib": "A String", # Optional. The maximum size of the volume in mebibytes (MiB). - "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`. + "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only: the volume is created as `HOT` when `ip_acls` is non-empty. When `ip_acls` is empty, the volume may be created `WARM` with no `mount_point` until `ip_acls` are set with `UpdateVolume`. }
@@ -469,7 +360,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name of the volume, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`. "quotaMib": "A String", # Optional. The maximum size of the volume in mebibytes (MiB). - "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`. + "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only: the volume is created as `HOT` when `ip_acls` is non-empty. When `ip_acls` is empty, the volume may be created `WARM` with no `mount_point` until `ip_acls` are set with `UpdateVolume`. }, ], }
@@ -525,7 +416,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name of the volume, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`. "quotaMib": "A String", # Optional. The maximum size of the volume in mebibytes (MiB). - "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`. + "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only: the volume is created as `HOT` when `ip_acls` is non-empty. When `ip_acls` is empty, the volume may be created `WARM` with no `mount_point` until `ip_acls` are set with `UpdateVolume`. } updateMask: string, Required. Mask of fields to update. At least one path must be supplied in this field. @@ -564,7 +455,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name of the volume, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`. "quotaMib": "A String", # Optional. The maximum size of the volume in mebibytes (MiB). - "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`. + "state": "A String", # Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only: the volume is created as `HOT` when `ip_acls` is non-empty. When `ip_acls` is empty, the volume may be created `WARM` with no `mount_point` until `ip_acls` are set with `UpdateVolume`. }
diff --git a/googleapiclient/discovery_cache/documents/file.v1beta1.json b/googleapiclient/discovery_cache/documents/file.v1beta1.json index 72709985e3..15c03def30 100644 --- a/googleapiclient/discovery_cache/documents/file.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/file.v1beta1.json @@ -1472,6 +1472,11 @@ "name" ], "parameters": { +"force": { +"description": "Optional. If set to `true`, the volume pool is deleted even if it has volumes, and its volumes are deleted with it. Otherwise, the request fails if the volume pool has any volumes.", +"location": "query", +"type": "boolean" +}, "name": { "description": "Required. The volume pool resource name, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}`.", "location": "path", @@ -1683,67 +1688,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"directCreate": { -"description": "Creates a volume directly on the CLH, bypassing CCFE. This is a temporary PoC that will be used for testing and removed.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumePools/{volumePoolsId}/volumes:directCreate", -"httpMethod": "POST", -"id": "file.projects.locations.volumePools.volumes.directCreate", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The parent volume pool path, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}`.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/volumePools/[^/]+$", -"required": true, -"type": "string" -}, -"volumeId": { -"description": "Required. The ID to use for the volume. The ID must be unique within the specified volume pool.", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+parent}/volumes:directCreate", -"request": { -"$ref": "Volume" -}, -"response": { -"$ref": "Volume" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"directDelete": { -"description": "Deletes a volume directly on the CLH, bypassing CCFE. This is a temporary PoC that will be used for testing and removed.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumePools/{volumePoolsId}/volumes/{volumesId}:directDelete", -"httpMethod": "POST", -"id": "file.projects.locations.volumePools.volumes.directDelete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The volume resource name, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/volumePools/[^/]+/volumes/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:directDelete", -"request": { -"$ref": "DeleteVolumeRequest" -}, -"response": { -"$ref": "Empty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "get": { "description": "Gets the details of a specific volume.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumePools/{volumePoolsId}/volumes/{volumesId}", @@ -1886,7 +1830,7 @@ } } }, -"revision": "20261006", +"revision": "20261029", "rootUrl": "https://file.googleapis.com/", "schemas": { "AcquireShareRequest": { @@ -2138,12 +2082,6 @@ }, "type": "object" }, -"DeleteVolumeRequest": { -"description": "DeleteVolumeRequest deletes a volume.", -"id": "DeleteVolumeRequest", -"properties": {}, -"type": "object" -}, "DenyMaintenancePeriod": { "description": "DenyMaintenancePeriod definition. Maintenance is forbidden within the deny period. The start_date must be less than the end_date.", "id": "DenyMaintenancePeriod", @@ -3907,7 +3845,7 @@ "type": "string" }, "state": { -"description": "Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only and initialized to `HOT`.", +"description": "Optional. The state of the volume. This field is caller-settable via `UpdateVolume` to transition a volume from `HOT` to `COLD` (freezing the volume). In `CreateVolume`, this field is output-only: the volume is created as `HOT` when `ip_acls` is non-empty. When `ip_acls` is empty, the volume may be created `WARM` with no `mount_point` until `ip_acls` are set with `UpdateVolume`.", "enum": [ "STATE_UNSPECIFIED", "CREATING", @@ -3941,6 +3879,11 @@ "format": "int32", "type": "integer" }, +"autoFreezeDelay": { +"description": "Optional. How long a volume stays `WARM` after it is deactivated before it is automatically frozen (moved to `COLD`). Must be positive if set. Default: 7 days.", +"format": "google-duration", +"type": "string" +}, "createTime": { "description": "Output only. The time when the volume pool was created.", "format": "google-datetime", From d971fa149f60309d65336ad52a1deeee6e6387af Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:27 +0000 Subject: [PATCH 33/57] feat(firebasecrashlytics): update the api #### firebasecrashlytics:v1alpha The following keys were added: - resources.projects.resources.apps.methods.getProfilingManagerConfig (Total Keys: 11) - resources.projects.resources.apps.methods.updateProfilingManagerConfig (Total Keys: 15) - schemas.ProfilingManagerConfig (Total Keys: 5) --- ...basecrashlytics_v1alpha.projects.apps.html | 58 +++++++++++++ .../firebasecrashlytics.v1alpha.json | 82 ++++++++++++++++++- 2 files changed, 139 insertions(+), 1 deletion(-) diff --git a/docs/dyn/firebasecrashlytics_v1alpha.projects.apps.html b/docs/dyn/firebasecrashlytics_v1alpha.projects.apps.html index 9491aea9ab..75eddc510a 100644 --- a/docs/dyn/firebasecrashlytics_v1alpha.projects.apps.html +++ b/docs/dyn/firebasecrashlytics_v1alpha.projects.apps.html @@ -100,6 +100,12 @@

Instance Methods

generateAlertPolicy(name, body=None, x__xgafv=None)

Creates a Cloud Monitoring AlertPolicy for the requested Crashlytics Web alert type and returns the created resource reference.

+

+ getProfilingManagerConfig(name, x__xgafv=None)

+

Retrieves the Android Profiling Manager configuration for an app.

+

+ updateProfilingManagerConfig(name, body=None, updateMask=None, x__xgafv=None)

+

Updates the Android Profiling Manager configuration for an app.

Method Details

close() @@ -133,4 +139,56 @@

Method Details

}
+
+ getProfilingManagerConfig(name, x__xgafv=None) +
Retrieves the Android Profiling Manager configuration for an app.
+
+Args:
+  name: string, Required. The resource name of the Profiling Manager configuration to retrieve. Format: "projects/{project}/apps/{app}/profilingManagerConfig". (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents the Android Profiling Manager configuration for a Firebase application, used to manage Crashlytics heap dump collection.
+  "bucket": "A String", # Optional. Resource name of the Google Cloud Storage bucket where enriched heap dumps are stored. Format: "projects/{project}/buckets/{bucket}" (use `_` as `{project}` for global buckets, for example "projects/_/buckets/my-global-bucket").
+  "heapDumpCollectionEnabled": True or False, # Optional. Whether Crashlytics heap dump collection is enabled for the app.
+  "name": "A String", # Identifier. The resource name of the Profiling Manager configuration. Format: "projects/{project}/apps/{app}/profilingManagerConfig".
+}
+
+ +
+ updateProfilingManagerConfig(name, body=None, updateMask=None, x__xgafv=None) +
Updates the Android Profiling Manager configuration for an app.
+
+Args:
+  name: string, Identifier. The resource name of the Profiling Manager configuration. Format: "projects/{project}/apps/{app}/profilingManagerConfig". (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents the Android Profiling Manager configuration for a Firebase application, used to manage Crashlytics heap dump collection.
+  "bucket": "A String", # Optional. Resource name of the Google Cloud Storage bucket where enriched heap dumps are stored. Format: "projects/{project}/buckets/{bucket}" (use `_` as `{project}` for global buckets, for example "projects/_/buckets/my-global-bucket").
+  "heapDumpCollectionEnabled": True or False, # Optional. Whether Crashlytics heap dump collection is enabled for the app.
+  "name": "A String", # Identifier. The resource name of the Profiling Manager configuration. Format: "projects/{project}/apps/{app}/profilingManagerConfig".
+}
+
+  updateMask: string, Optional. The list of ProfilingManagerConfig fields to update (`gcs_bucket`, `heap_dump_collection_enabled`). If omitted, all populated (non-default) fields are updated; specify an explicit `update_mask` (or `*`) when clearing a field to its default value (such as `""` or `false`).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents the Android Profiling Manager configuration for a Firebase application, used to manage Crashlytics heap dump collection.
+  "bucket": "A String", # Optional. Resource name of the Google Cloud Storage bucket where enriched heap dumps are stored. Format: "projects/{project}/buckets/{bucket}" (use `_` as `{project}` for global buckets, for example "projects/_/buckets/my-global-bucket").
+  "heapDumpCollectionEnabled": True or False, # Optional. Whether Crashlytics heap dump collection is enabled for the app.
+  "name": "A String", # Identifier. The resource name of the Profiling Manager configuration. Format: "projects/{project}/apps/{app}/profilingManagerConfig".
+}
+
+ \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/firebasecrashlytics.v1alpha.json b/googleapiclient/discovery_cache/documents/firebasecrashlytics.v1alpha.json index ded6bb248e..39ae17e809 100644 --- a/googleapiclient/discovery_cache/documents/firebasecrashlytics.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/firebasecrashlytics.v1alpha.json @@ -140,6 +140,67 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/firebase" ] +}, +"getProfilingManagerConfig": { +"description": "Retrieves the Android Profiling Manager configuration for an app.", +"flatPath": "v1alpha/projects/{projectsId}/apps/{appsId}/profilingManagerConfig", +"httpMethod": "GET", +"id": "firebasecrashlytics.projects.apps.getProfilingManagerConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Profiling Manager configuration to retrieve. Format: \"projects/{project}/apps/{app}/profilingManagerConfig\".", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/profilingManagerConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "ProfilingManagerConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"updateProfilingManagerConfig": { +"description": "Updates the Android Profiling Manager configuration for an app.", +"flatPath": "v1alpha/projects/{projectsId}/apps/{appsId}/profilingManagerConfig", +"httpMethod": "PATCH", +"id": "firebasecrashlytics.projects.apps.updateProfilingManagerConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the Profiling Manager configuration. Format: \"projects/{project}/apps/{app}/profilingManagerConfig\".", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/profilingManagerConfig$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of ProfilingManagerConfig fields to update (`gcs_bucket`, `heap_dump_collection_enabled`). If omitted, all populated (non-default) fields are updated; specify an explicit `update_mask` (or `*`) when clearing a field to its default value (such as `\"\"` or `false`).", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "ProfilingManagerConfig" +}, +"response": { +"$ref": "ProfilingManagerConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] } }, "resources": { @@ -888,7 +949,7 @@ } } }, -"revision": "20261029", +"revision": "20261104", "rootUrl": "https://firebasecrashlytics.googleapis.com/", "schemas": { "BatchGetEventsResponse": { @@ -1845,6 +1906,25 @@ }, "type": "object" }, +"ProfilingManagerConfig": { +"description": "Represents the Android Profiling Manager configuration for a Firebase application, used to manage Crashlytics heap dump collection.", +"id": "ProfilingManagerConfig", +"properties": { +"bucket": { +"description": "Optional. Resource name of the Google Cloud Storage bucket where enriched heap dumps are stored. Format: \"projects/{project}/buckets/{bucket}\" (use `_` as `{project}` for global buckets, for example \"projects/_/buckets/my-global-bucket\").", +"type": "string" +}, +"heapDumpCollectionEnabled": { +"description": "Optional. Whether Crashlytics heap dump collection is enabled for the app.", +"type": "boolean" +}, +"name": { +"description": "Identifier. The resource name of the Profiling Manager configuration. Format: \"projects/{project}/apps/{app}/profilingManagerConfig\".", +"type": "string" +} +}, +"type": "object" +}, "Report": { "description": "Response message for the GetReport method. A report consists of the results of a query over an application's events. The events may be filtered by various criteria defined in the filters proto. The result will consist of a number of paginated groups, of a type relevant to the report such as issues or device models.", "id": "Report", From 9b64b3a0af724ecf45242dca7e54557c90ab196b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:27 +0000 Subject: [PATCH 34/57] feat(firebasehosting): update the api #### firebasehosting:v1 The following keys were added: - resources.operations.methods.cancel.scopes (Total Keys: 1) - resources.operations.methods.delete.scopes (Total Keys: 1) - resources.operations.methods.list.scopes (Total Keys: 1) --- .../documents/firebasehosting.v1.json | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json index 02af05b2bb..1bb0db046b 100644 --- a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json +++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json @@ -5,8 +5,14 @@ "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +}, "https://www.googleapis.com/auth/firebase": { "description": "View and administer all your Firebase data and settings" +}, +"https://www.googleapis.com/auth/firebase.readonly": { +"description": "View all your Firebase data and settings" } } } @@ -133,7 +139,11 @@ }, "response": { "$ref": "Empty" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] }, "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`.", @@ -155,7 +165,11 @@ "path": "v1/{+name}", "response": { "$ref": "Empty" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", @@ -198,7 +212,13 @@ "path": "v1/{+name}", "response": { "$ref": "ListOperationsResponse" -} +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/firebase", +"https://www.googleapis.com/auth/firebase.readonly" +] } } }, @@ -274,7 +294,7 @@ } } }, -"revision": "20251207", +"revision": "20261101", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "CancelOperationRequest": { From b8e10a3cd1194376cc45440f3be24ecb7e147172 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:27 +0000 Subject: [PATCH 35/57] feat(firebaseml): update the api #### firebaseml:v2beta The following keys were added: - schemas.GoogleCloudAiplatformV1beta1AudioTranscriptionConfig.properties.sourceText.type (Total Keys: 1) - schemas.GoogleCloudAiplatformV1beta1FunctionResponsePart.properties.mediaProcessing.type (Total Keys: 1) --- ....projects.locations.publishers.models.html | 23 +++++++++++----- .../documents/firebaseml.v2beta.json | 26 ++++++++++++++++--- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html b/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html index d3e2b47104..25ae3fca45 100644 --- a/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html +++ b/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html @@ -165,6 +165,7 @@

Method Details

"displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, + "mediaProcessing": "A String", # Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field. }, ], "response": { # 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. @@ -219,6 +220,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -434,6 +436,7 @@

Method Details

"displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, + "mediaProcessing": "A String", # Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field. }, ], "response": { # 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. @@ -581,10 +584,10 @@

Method Details

], "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model. "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response. - "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset. + "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset, and to `places` and `routing` for Gemini 4 and later models. When set, only the listed types are enabled; for example, setting only `places` disables routing. "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified. }, - "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). + "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). Also enabled by default for Gemini 4 and later models when no grounding type is specified. # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). Also enabled by default for Gemini 4 and later models when no `GroundingTypes` are specified. }, }, }, @@ -804,6 +807,7 @@

Method Details

"displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, + "mediaProcessing": "A String", # Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field. }, ], "response": { # 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. @@ -859,6 +863,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -1087,6 +1092,7 @@

Method Details

"displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, + "mediaProcessing": "A String", # Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field. }, ], "response": { # 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. @@ -1250,10 +1256,10 @@

Method Details

], "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model. "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response. - "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset. + "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset, and to `places` and `routing` for Gemini 4 and later models. When set, only the listed types are enabled; for example, setting only `places` disables routing. "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified. }, - "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). + "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). Also enabled by default for Gemini 4 and later models when no grounding type is specified. # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). Also enabled by default for Gemini 4 and later models when no `GroundingTypes` are specified. }, }, }, @@ -1469,6 +1475,7 @@

Method Details

"displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, + "mediaProcessing": "A String", # Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field. }, ], "response": { # 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. @@ -1768,6 +1775,7 @@

Method Details

"displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, + "mediaProcessing": "A String", # Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field. }, ], "response": { # 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. @@ -1823,6 +1831,7 @@

Method Details

], }, "mode": "A String", # Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`. + "sourceText": "A String", # Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it. "wordTimestamp": True or False, # Optional. Configures word-level timestamp generation. }, "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. @@ -2051,6 +2060,7 @@

Method Details

"displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, + "mediaProcessing": "A String", # Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field. }, ], "response": { # 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. @@ -2214,10 +2224,10 @@

Method Details

], "googleMaps": { # Tool to retrieve public maps data for grounding, powered by Google. # Optional. GoogleMaps tool type. Tool to support Google Maps in Model. "enableWidget": True or False, # Optional. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. If true, include the widget context token in the response. - "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset. + "groundingTypes": { # Defines the types of Google Maps grounding that can be enabled and their configurations. # Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset, and to `places` and `routing` for Gemini 4 and later models. When set, only the listed types are enabled; for example, setting only `places` disables routing. "places": { # Grounding with Google Maps Places data (e.g. QueryPlaces). This is the default Google Maps grounding type when no other type is specified. # Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified. }, - "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). + "routing": { # Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). Also enabled by default for Gemini 4 and later models when no grounding type is specified. # Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). Also enabled by default for Gemini 4 and later models when no `GroundingTypes` are specified. }, }, }, @@ -2433,6 +2443,7 @@

Method Details

"displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, + "mediaProcessing": "A String", # Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field. }, ], "response": { # 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. diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json b/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json index 680c5ef44c..8301c0c074 100644 --- a/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json +++ b/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json @@ -206,7 +206,7 @@ } } }, -"revision": "20261025", +"revision": "20261106", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -386,6 +386,10 @@ ], "type": "string" }, +"sourceText": { +"description": "Optional. The source text to be edited or rewritten via voice instructions. When provided in `SMART` mode, the model evaluates the audio input against this text and emits the complete replacement text in the candidate response rather than appending to it.", +"type": "string" +}, "wordTimestamp": { "description": "Optional. Configures word-level timestamp generation.", "type": "boolean" @@ -1262,6 +1266,20 @@ "inlineData": { "$ref": "GoogleCloudAiplatformV1beta1FunctionResponseBlob", "description": "Inline media bytes." +}, +"mediaProcessing": { +"description": "Optional. Processes this part's media for understanding. Only meaningful for video parts (`inline_data` or `file_data` with video mime). Non-video parts ignore this field.", +"enum": [ +"MEDIA_PROCESSING_UNSPECIFIED", +"STATIC", +"AGENTIC" +], +"enumDescriptions": [ +"Defaults to model-specific processing.", +"Fixed-rate frame extraction. All frames placed in context.", +"Model-driven dynamic navigation. Recommended for most use cases." +], +"type": "string" } }, "type": "object" @@ -1796,7 +1814,7 @@ }, "groundingTypes": { "$ref": "GoogleCloudAiplatformV1beta1GoogleMapsGroundingTypes", -"description": "Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset." +"description": "Optional. Specifies the types of Google Maps grounding to enable. Defaults to `places` when unset, and to `places` and `routing` for Gemini 4 and later models. When set, only the listed types are enabled; for example, setting only `places` disables routing." } }, "type": "object" @@ -1811,7 +1829,7 @@ }, "routing": { "$ref": "GoogleCloudAiplatformV1beta1GoogleMapsRouting", -"description": "Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute)." +"description": "Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). Also enabled by default for Gemini 4 and later models when no `GroundingTypes` are specified." } }, "type": "object" @@ -1823,7 +1841,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1GoogleMapsRouting": { -"description": "Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).", +"description": "Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute). Also enabled by default for Gemini 4 and later models when no grounding type is specified.", "id": "GoogleCloudAiplatformV1beta1GoogleMapsRouting", "properties": {}, "type": "object" From 20a3d9598152f4673518ed0db049bc36c0473fe0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:27 +0000 Subject: [PATCH 36/57] feat(ftp): update the api #### ftp:v1 The following keys were added: - schemas.LoggingConfig (Total Keys: 4) - schemas.Server.properties.loggingConfig.$ref (Total Keys: 1) #### ftp:v1alpha The following keys were added: - schemas.LoggingConfig (Total Keys: 4) - schemas.Server.properties.loggingConfig.$ref (Total Keys: 1) --- .../ftp_v1.projects.locations.servers.html | 16 +++++++++ ...p_v1.projects.locations.servers.users.html | 2 +- ...tp_v1alpha.projects.locations.servers.html | 16 +++++++++ ...lpha.projects.locations.servers.users.html | 2 +- .../discovery_cache/documents/ftp.v1.json | 35 +++++++++++++++++-- .../documents/ftp.v1alpha.json | 35 +++++++++++++++++-- 6 files changed, 100 insertions(+), 6 deletions(-) diff --git a/docs/dyn/ftp_v1.projects.locations.servers.html b/docs/dyn/ftp_v1.projects.locations.servers.html index 8482e009f3..c351d30dda 100644 --- a/docs/dyn/ftp_v1.projects.locations.servers.html +++ b/docs/dyn/ftp_v1.projects.locations.servers.html @@ -159,6 +159,10 @@

Method Details

"labels": { # Optional. Labels as key value pairs "a_key": "A String", }, + "loggingConfig": { # Configuration for Cloud Logging on the Server. # Optional. Configuration for Cloud Logging on the Server. + "enabled": True or False, # Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`. + "verbosity": "A String", # Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`. + }, "name": "A String", # Identifier. name of resource "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. @@ -290,6 +294,10 @@

Method Details

"labels": { # Optional. Labels as key value pairs "a_key": "A String", }, + "loggingConfig": { # Configuration for Cloud Logging on the Server. # Optional. Configuration for Cloud Logging on the Server. + "enabled": True or False, # Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`. + "verbosity": "A String", # Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`. + }, "name": "A String", # Identifier. name of resource "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. @@ -363,6 +371,10 @@

Method Details

"labels": { # Optional. Labels as key value pairs "a_key": "A String", }, + "loggingConfig": { # Configuration for Cloud Logging on the Server. # Optional. Configuration for Cloud Logging on the Server. + "enabled": True or False, # Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`. + "verbosity": "A String", # Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`. + }, "name": "A String", # Identifier. name of resource "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. @@ -438,6 +450,10 @@

Method Details

"labels": { # Optional. Labels as key value pairs "a_key": "A String", }, + "loggingConfig": { # Configuration for Cloud Logging on the Server. # Optional. Configuration for Cloud Logging on the Server. + "enabled": True or False, # Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`. + "verbosity": "A String", # Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`. + }, "name": "A String", # Identifier. name of resource "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. diff --git a/docs/dyn/ftp_v1.projects.locations.servers.users.html b/docs/dyn/ftp_v1.projects.locations.servers.users.html index 9c3ae8e073..b25769d709 100644 --- a/docs/dyn/ftp_v1.projects.locations.servers.users.html +++ b/docs/dyn/ftp_v1.projects.locations.servers.users.html @@ -174,7 +174,7 @@

Method Details

Args: name: string, Required. Name of the resource (required) - force: boolean, Optional. If set to true, the request will force the deletion of the User. + force: boolean, Optional. If set to `true`, the request will `force` the deletion of the User. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/ftp_v1alpha.projects.locations.servers.html b/docs/dyn/ftp_v1alpha.projects.locations.servers.html index ee1056b36e..8164ca6d50 100644 --- a/docs/dyn/ftp_v1alpha.projects.locations.servers.html +++ b/docs/dyn/ftp_v1alpha.projects.locations.servers.html @@ -159,6 +159,10 @@

Method Details

"labels": { # Optional. Labels as key value pairs "a_key": "A String", }, + "loggingConfig": { # Configuration for Cloud Logging on the Server. # Optional. Configuration for Cloud Logging on the Server. + "enabled": True or False, # Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`. + "verbosity": "A String", # Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`. + }, "name": "A String", # Identifier. name of resource "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. @@ -290,6 +294,10 @@

Method Details

"labels": { # Optional. Labels as key value pairs "a_key": "A String", }, + "loggingConfig": { # Configuration for Cloud Logging on the Server. # Optional. Configuration for Cloud Logging on the Server. + "enabled": True or False, # Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`. + "verbosity": "A String", # Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`. + }, "name": "A String", # Identifier. name of resource "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. @@ -363,6 +371,10 @@

Method Details

"labels": { # Optional. Labels as key value pairs "a_key": "A String", }, + "loggingConfig": { # Configuration for Cloud Logging on the Server. # Optional. Configuration for Cloud Logging on the Server. + "enabled": True or False, # Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`. + "verbosity": "A String", # Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`. + }, "name": "A String", # Identifier. name of resource "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. @@ -438,6 +450,10 @@

Method Details

"labels": { # Optional. Labels as key value pairs "a_key": "A String", }, + "loggingConfig": { # Configuration for Cloud Logging on the Server. # Optional. Configuration for Cloud Logging on the Server. + "enabled": True or False, # Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`. + "verbosity": "A String", # Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`. + }, "name": "A String", # Identifier. name of resource "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. diff --git a/docs/dyn/ftp_v1alpha.projects.locations.servers.users.html b/docs/dyn/ftp_v1alpha.projects.locations.servers.users.html index a5fbce4af3..630b589ede 100644 --- a/docs/dyn/ftp_v1alpha.projects.locations.servers.users.html +++ b/docs/dyn/ftp_v1alpha.projects.locations.servers.users.html @@ -174,7 +174,7 @@

Method Details

Args: name: string, Required. Name of the resource (required) - force: boolean, Optional. If set to true, the request will force the deletion of the User. + force: boolean, Optional. If set to `true`, the request will `force` the deletion of the User. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/googleapiclient/discovery_cache/documents/ftp.v1.json b/googleapiclient/discovery_cache/documents/ftp.v1.json index 5d190fc6be..cd41ecadad 100644 --- a/googleapiclient/discovery_cache/documents/ftp.v1.json +++ b/googleapiclient/discovery_cache/documents/ftp.v1.json @@ -624,7 +624,7 @@ ], "parameters": { "force": { -"description": "Optional. If set to true, the request will force the deletion of the User.", +"description": "Optional. If set to `true`, the request will `force` the deletion of the User.", "location": "query", "type": "boolean" }, @@ -788,7 +788,7 @@ } } }, -"revision": "20261021", +"revision": "20261028", "rootUrl": "https://ftp.googleapis.com/", "schemas": { "AllowedConsumer": { @@ -1010,6 +1010,33 @@ }, "type": "object" }, +"LoggingConfig": { +"description": "Configuration for Cloud Logging on the Server.", +"id": "LoggingConfig", +"properties": { +"enabled": { +"description": "Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`.", +"type": "boolean" +}, +"verbosity": { +"description": "Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`.", +"enum": [ +"LOG_VERBOSITY_UNSPECIFIED", +"ALL_EVENTS", +"TRANSFERS_AND_AUTH_ONLY", +"ERRORS_ONLY" +], +"enumDescriptions": [ +"Default value. Defaults to `ALL_EVENTS` when logging is `enabled`.", +"Logs all SFTP events, including authentication, session lifecycle, file transfers, and directory/metadata commands.", +"Logs authentication, session lifecycle, file transfers, and failed commands. Suppresses successful non-transfer commands (such as LIST or STAT).", +"Logs only failed operations and errors." +], +"type": "string" +} +}, +"type": "object" +}, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1159,6 +1186,10 @@ "description": "Optional. Labels as key value pairs", "type": "object" }, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. Configuration for Cloud Logging on the Server." +}, "name": { "description": "Identifier. name of resource", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/ftp.v1alpha.json b/googleapiclient/discovery_cache/documents/ftp.v1alpha.json index 5d742be6c2..a63f39da8c 100644 --- a/googleapiclient/discovery_cache/documents/ftp.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/ftp.v1alpha.json @@ -624,7 +624,7 @@ ], "parameters": { "force": { -"description": "Optional. If set to true, the request will force the deletion of the User.", +"description": "Optional. If set to `true`, the request will `force` the deletion of the User.", "location": "query", "type": "boolean" }, @@ -788,7 +788,7 @@ } } }, -"revision": "20261021", +"revision": "20261028", "rootUrl": "https://ftp.googleapis.com/", "schemas": { "AllowedConsumer": { @@ -1010,6 +1010,33 @@ }, "type": "object" }, +"LoggingConfig": { +"description": "Configuration for Cloud Logging on the Server.", +"id": "LoggingConfig", +"properties": { +"enabled": { +"description": "Optional. Whether platform logging (`ftp.googleapis.com/ftp_events`) is enabled for this server. Defaults to `false`.", +"type": "boolean" +}, +"verbosity": { +"description": "Optional. The verbosity level of logs emitted when `enabled` is `true`. Defaults to `ALL_EVENTS` if unspecified when `enabled` is `true`.", +"enum": [ +"LOG_VERBOSITY_UNSPECIFIED", +"ALL_EVENTS", +"TRANSFERS_AND_AUTH_ONLY", +"ERRORS_ONLY" +], +"enumDescriptions": [ +"Default value. Defaults to `ALL_EVENTS` when logging is `enabled`.", +"Logs all SFTP events, including authentication, session lifecycle, file transfers, and directory/metadata commands.", +"Logs authentication, session lifecycle, file transfers, and failed commands. Suppresses successful non-transfer commands (such as LIST or STAT).", +"Logs only failed operations and errors." +], +"type": "string" +} +}, +"type": "object" +}, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1159,6 +1186,10 @@ "description": "Optional. Labels as key value pairs", "type": "object" }, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. Configuration for Cloud Logging on the Server." +}, "name": { "description": "Identifier. name of resource", "type": "string" From c5dacca908780f3de83e25bde43efe172175d6e0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:27 +0000 Subject: [PATCH 37/57] feat(games): update the api #### games:v1 The following keys were added: - schemas.BatchRecordEventsRequest.properties.integrityVerdicts (Total Keys: 2) - schemas.DeveloperIntegrityVerdict (Total Keys: 4) --- docs/dyn/games_v1.gameStats.html | 9 ++- .../discovery_cache/documents/games.v1.json | 58 ++++++++++++++++++- 2 files changed, 64 insertions(+), 3 deletions(-) diff --git a/docs/dyn/games_v1.gameStats.html b/docs/dyn/games_v1.gameStats.html index a2c22678cf..84c373bdbf 100644 --- a/docs/dyn/games_v1.gameStats.html +++ b/docs/dyn/games_v1.gameStats.html @@ -90,7 +90,7 @@

Method Details

body: object, The request body. The object takes the form of: -{ # Request message for PlayerGameEvents.BatchRecordEvents Next ID: 7 +{ # Request message for PlayerGameEvents.BatchRecordEvents Next ID: 8 "droidGuardBlob": "A String", # Optional. The DroidGuard blob generated by the client. This is used to detect abuse signals from the devices "events": [ # Required. A list of player game events to be recorded. Maximum of 30 events per batch request. { # A representation of a single player game event triggered by a player's event in a game. This might be completing a level, unlocking an item, or finishing a match. @@ -108,6 +108,13 @@

Method Details

"eventTime": "A String", # Required. The time from the client when this specific event was performed. }, ], + "integrityVerdicts": [ # Optional. Developer-provided fraud or integrity verdicts passed as a request parameter. Maximum of 10 integrity verdicts per batch request. + { # Represents a developer-provided fraud or integrity verdict. + "category": "A String", # Required. The standardized verdict category. + "description": "A String", # Optional. Free-form diagnostic description or internal error code. Maximum length: 128 characters. Stored for console debugging; never shown to players. + "source": "A String", # Required. The source that issued the verdict. + }, + ], "packageName": "A String", # Required. Application package name (e.g., "com.example.game"). "requestTime": "A String", # Required. The time from the client when this specific batch of events was submitted. "salt": "A String", # Optional. The salt used to generate content binding for the DroidGuard blob. This is used to prevent replay attacks. diff --git a/googleapiclient/discovery_cache/documents/games.v1.json b/googleapiclient/discovery_cache/documents/games.v1.json index ca5e0ffe06..f82a02440a 100644 --- a/googleapiclient/discovery_cache/documents/games.v1.json +++ b/googleapiclient/discovery_cache/documents/games.v1.json @@ -1501,7 +1501,7 @@ false } } }, -"revision": "20260907", +"revision": "20261106", "rootUrl": "https://games.googleapis.com/", "schemas": { "AchievementDefinition": { @@ -1946,7 +1946,7 @@ false "type": "object" }, "BatchRecordEventsRequest": { -"description": "Request message for PlayerGameEvents.BatchRecordEvents Next ID: 7", +"description": "Request message for PlayerGameEvents.BatchRecordEvents Next ID: 8", "id": "BatchRecordEventsRequest", "properties": { "droidGuardBlob": { @@ -1960,6 +1960,13 @@ false }, "type": "array" }, +"integrityVerdicts": { +"description": "Optional. Developer-provided fraud or integrity verdicts passed as a request parameter. Maximum of 10 integrity verdicts per batch request.", +"items": { +"$ref": "DeveloperIntegrityVerdict" +}, +"type": "array" +}, "packageName": { "description": "Required. Application package name (e.g., \"com.example.game\").", "type": "string" @@ -2032,6 +2039,53 @@ false }, "type": "object" }, +"DeveloperIntegrityVerdict": { +"description": "Represents a developer-provided fraud or integrity verdict.", +"id": "DeveloperIntegrityVerdict", +"properties": { +"category": { +"description": "Required. The standardized verdict category.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"DEVICE_UNTRUSTED", +"APP_UNRECOGNIZED", +"ACCOUNT_UNLICENSED", +"ENVIRONMENT_RISK", +"IMPOSSIBLE_GAMEPLAY", +"OTHER" +], +"enumDescriptions": [ +"Default value. Do not use.", +"Phone is rooted or compromised.", +"Binary is modified, cracked, or tampered.", +"Account did not acquire game through Play.", +"Automated bot or malicious app detected.", +"Physically impossible gameplay detected for player.", +"Other abuse category." +], +"type": "string" +}, +"description": { +"description": "Optional. Free-form diagnostic description or internal error code. Maximum length: 128 characters. Stored for console debugging; never shown to players.", +"type": "string" +}, +"source": { +"description": "Required. The source that issued the verdict.", +"enum": [ +"SOURCE_UNSPECIFIED", +"DEVELOPER_INTERNAL", +"PLAY_INTEGRITY" +], +"enumDescriptions": [ +"Default value. Do not use.", +"Developer's proprietary anti-cheat system.", +"Google Play Integrity API." +], +"type": "string" +} +}, +"type": "object" +}, "EndPoint": { "description": "Container for a URL end point of the requested type.", "id": "EndPoint", From 9b4d91abecea70e5760a8da476446cbbe703d875 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 38/57] feat(gkeonprem): update the api #### gkeonprem:v1 The following keys were added: - schemas.VmwareNodePool.properties.validationCheck.$ref (Total Keys: 1) --- ...ations.vmwareClusters.vmwareNodePools.html | 60 +++++++++++++++++++ .../documents/gkeonprem.v1.json | 6 +- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/docs/dyn/gkeonprem_v1.projects.locations.vmwareClusters.vmwareNodePools.html b/docs/dyn/gkeonprem_v1.projects.locations.vmwareClusters.vmwareNodePools.html index 854dba2dd4..535c33d610 100644 --- a/docs/dyn/gkeonprem_v1.projects.locations.vmwareClusters.vmwareNodePools.html +++ b/docs/dyn/gkeonprem_v1.projects.locations.vmwareClusters.vmwareNodePools.html @@ -200,6 +200,21 @@

Method Details

}, "uid": "A String", # Output only. The unique identifier of the node pool. "updateTime": "A String", # Output only. The time at which this node pool was last updated. + "validationCheck": { # ValidationCheck represents the result of preflight check. # The validation check for the node pool. + "option": "A String", # Options used for the validation check + "scenario": "A String", # Output only. The scenario when the preflight checks were run. + "status": { # ValidationCheckStatus defines the detailed validation check status. # Output only. The detailed validation check status. + "result": [ # Individual checks which failed as part of the Preflight check execution. + { # ValidationCheckResult defines the details about the validation check. + "category": "A String", # The category of the validation. + "description": "A String", # The description of the validation check. + "details": "A String", # Detailed failure information, which might be unformatted. + "reason": "A String", # A human-readable message of the check failure. + "state": "A String", # The validation check state. + }, + ], + }, + }, } validateOnly: boolean, If set, only validate the request, but do not actually create the node pool. @@ -403,6 +418,21 @@

Method Details

}, "uid": "A String", # Output only. The unique identifier of the node pool. "updateTime": "A String", # Output only. The time at which this node pool was last updated. + "validationCheck": { # ValidationCheck represents the result of preflight check. # The validation check for the node pool. + "option": "A String", # Options used for the validation check + "scenario": "A String", # Output only. The scenario when the preflight checks were run. + "status": { # ValidationCheckStatus defines the detailed validation check status. # Output only. The detailed validation check status. + "result": [ # Individual checks which failed as part of the Preflight check execution. + { # ValidationCheckResult defines the details about the validation check. + "category": "A String", # The category of the validation. + "description": "A String", # The description of the validation check. + "details": "A String", # Detailed failure information, which might be unformatted. + "reason": "A String", # A human-readable message of the check failure. + "state": "A String", # The validation check state. + }, + ], + }, + }, }
@@ -538,6 +568,21 @@

Method Details

}, "uid": "A String", # Output only. The unique identifier of the node pool. "updateTime": "A String", # Output only. The time at which this node pool was last updated. + "validationCheck": { # ValidationCheck represents the result of preflight check. # The validation check for the node pool. + "option": "A String", # Options used for the validation check + "scenario": "A String", # Output only. The scenario when the preflight checks were run. + "status": { # ValidationCheckStatus defines the detailed validation check status. # Output only. The detailed validation check status. + "result": [ # Individual checks which failed as part of the Preflight check execution. + { # ValidationCheckResult defines the details about the validation check. + "category": "A String", # The category of the validation. + "description": "A String", # The description of the validation check. + "details": "A String", # Detailed failure information, which might be unformatted. + "reason": "A String", # A human-readable message of the check failure. + "state": "A String", # The validation check state. + }, + ], + }, + }, }, ], }
@@ -636,6 +681,21 @@

Method Details

}, "uid": "A String", # Output only. The unique identifier of the node pool. "updateTime": "A String", # Output only. The time at which this node pool was last updated. + "validationCheck": { # ValidationCheck represents the result of preflight check. # The validation check for the node pool. + "option": "A String", # Options used for the validation check + "scenario": "A String", # Output only. The scenario when the preflight checks were run. + "status": { # ValidationCheckStatus defines the detailed validation check status. # Output only. The detailed validation check status. + "result": [ # Individual checks which failed as part of the Preflight check execution. + { # ValidationCheckResult defines the details about the validation check. + "category": "A String", # The category of the validation. + "description": "A String", # The description of the validation check. + "details": "A String", # Detailed failure information, which might be unformatted. + "reason": "A String", # A human-readable message of the check failure. + "state": "A String", # The validation check state. + }, + ], + }, + }, } updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the VMwareNodePool resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all populated fields in the VMwareNodePool message will be updated. Empty fields will be ignored unless a field mask is used. diff --git a/googleapiclient/discovery_cache/documents/gkeonprem.v1.json b/googleapiclient/discovery_cache/documents/gkeonprem.v1.json index ad31d00650..22cb003352 100644 --- a/googleapiclient/discovery_cache/documents/gkeonprem.v1.json +++ b/googleapiclient/discovery_cache/documents/gkeonprem.v1.json @@ -3163,7 +3163,7 @@ } } }, -"revision": "20260422", +"revision": "20261029", "rootUrl": "https://gkeonprem.googleapis.com/", "schemas": { "Authorization": { @@ -6887,6 +6887,10 @@ "format": "google-datetime", "readOnly": true, "type": "string" +}, +"validationCheck": { +"$ref": "ValidationCheck", +"description": "The validation check for the node pool." } }, "type": "object" From 9dc352adeb876ba557c70eff1cfdce547621cb9e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 39/57] feat(integrations): update the api #### integrations:v1 The following keys were added: - schemas.GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest.properties.validateOnly.type (Total Keys: 1) --- ...jects.locations.integrations.versions.html | 2 + ...tions.integrations.versions.testCases.html | 1 + ...ations.products.integrations.versions.html | 2 + ...tions_v1.projects.locations.templates.html | 1 + .../documents/integrations.v1.json | 54 +++++++++++++------ 5 files changed, 43 insertions(+), 17 deletions(-) diff --git a/docs/dyn/integrations_v1.projects.locations.integrations.versions.html b/docs/dyn/integrations_v1.projects.locations.integrations.versions.html index 251f37e7a8..1ccbec3286 100644 --- a/docs/dyn/integrations_v1.projects.locations.integrations.versions.html +++ b/docs/dyn/integrations_v1.projects.locations.integrations.versions.html @@ -2261,6 +2261,7 @@

Method Details

FILE_FORMAT_UNSPECIFIED - Unspecified file format JSON - JSON File Format YAML - YAML File Format + WORKFLOW_TEXTPROTO - Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT. files: string, Optional. Integration related file to download like Integration Json, Config variable, testcase etc. (repeated) Allowed values INTEGRATION_FILE_UNSPECIFIED - Default value. @@ -7622,6 +7623,7 @@

Method Details

"configParameters": { # Optional. Config parameters used during integration execution. "a_key": "", # Properties of the object. }, + "validateOnly": True or False, # Optional. If set, validates the integration version's configuration and returns without publishing it. The version's state, edit lock, and active version do not change. } x__xgafv: string, V1 error format. diff --git a/docs/dyn/integrations_v1.projects.locations.integrations.versions.testCases.html b/docs/dyn/integrations_v1.projects.locations.integrations.versions.testCases.html index 816d301307..3680aaa6ed 100644 --- a/docs/dyn/integrations_v1.projects.locations.integrations.versions.testCases.html +++ b/docs/dyn/integrations_v1.projects.locations.integrations.versions.testCases.html @@ -730,6 +730,7 @@

Method Details

FILE_FORMAT_UNSPECIFIED - Unspecified file format JSON - JSON File Format YAML - YAML File Format + WORKFLOW_TEXTPROTO - Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/integrations_v1.projects.locations.products.integrations.versions.html b/docs/dyn/integrations_v1.projects.locations.products.integrations.versions.html index c6fc18b66c..ef469ebd12 100644 --- a/docs/dyn/integrations_v1.projects.locations.products.integrations.versions.html +++ b/docs/dyn/integrations_v1.projects.locations.products.integrations.versions.html @@ -2253,6 +2253,7 @@

Method Details

FILE_FORMAT_UNSPECIFIED - Unspecified file format JSON - JSON File Format YAML - YAML File Format + WORKFLOW_TEXTPROTO - Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT. files: string, Optional. Integration related file to download like Integration Json, Config variable, testcase etc. (repeated) Allowed values INTEGRATION_FILE_UNSPECIFIED - Default value. @@ -6540,6 +6541,7 @@

Method Details

"configParameters": { # Optional. Config parameters used during integration execution. "a_key": "", # Properties of the object. }, + "validateOnly": True or False, # Optional. If set, validates the integration version's configuration and returns without publishing it. The version's state, edit lock, and active version do not change. } x__xgafv: string, V1 error format. diff --git a/docs/dyn/integrations_v1.projects.locations.templates.html b/docs/dyn/integrations_v1.projects.locations.templates.html index c5be2cdd11..c8c9488335 100644 --- a/docs/dyn/integrations_v1.projects.locations.templates.html +++ b/docs/dyn/integrations_v1.projects.locations.templates.html @@ -4422,6 +4422,7 @@

Method Details

FILE_FORMAT_UNSPECIFIED - Unspecified file format JSON - JSON File Format YAML - YAML File Format + WORKFLOW_TEXTPROTO - Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/googleapiclient/discovery_cache/documents/integrations.v1.json b/googleapiclient/discovery_cache/documents/integrations.v1.json index e4b87a6cf7..e2c5d396c4 100644 --- a/googleapiclient/discovery_cache/documents/integrations.v1.json +++ b/googleapiclient/discovery_cache/documents/integrations.v1.json @@ -1789,12 +1789,14 @@ "enum": [ "FILE_FORMAT_UNSPECIFIED", "JSON", -"YAML" +"YAML", +"WORKFLOW_TEXTPROTO" ], "enumDescriptions": [ "Unspecified file format", "JSON File Format", -"YAML File Format" +"YAML File Format", +"Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT." ], "location": "query", "type": "string" @@ -2171,12 +2173,14 @@ "enum": [ "FILE_FORMAT_UNSPECIFIED", "JSON", -"YAML" +"YAML", +"WORKFLOW_TEXTPROTO" ], "enumDescriptions": [ "Unspecified file format", "JSON File Format", -"YAML File Format" +"YAML File Format", +"Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT." ], "location": "query", "type": "string" @@ -3326,12 +3330,14 @@ "enum": [ "FILE_FORMAT_UNSPECIFIED", "JSON", -"YAML" +"YAML", +"WORKFLOW_TEXTPROTO" ], "enumDescriptions": [ "Unspecified file format", "JSON File Format", -"YAML File Format" +"YAML File Format", +"Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT." ], "location": "query", "type": "string" @@ -4322,12 +4328,14 @@ "enum": [ "FILE_FORMAT_UNSPECIFIED", "JSON", -"YAML" +"YAML", +"WORKFLOW_TEXTPROTO" ], "enumDescriptions": [ "Unspecified file format", "JSON File Format", -"YAML File Format" +"YAML File Format", +"Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT." ], "location": "query", "type": "string" @@ -4668,7 +4676,7 @@ } } }, -"revision": "20261028", +"revision": "20261106", "rootUrl": "https://integrations.googleapis.com/", "schemas": { "CrmlogErrorCode": { @@ -12071,12 +12079,14 @@ false "enum": [ "FILE_FORMAT_UNSPECIFIED", "JSON", -"YAML" +"YAML", +"WORKFLOW_TEXTPROTO" ], "enumDescriptions": [ "Unspecified file format", "JSON File Format", -"YAML File Format" +"YAML File Format", +"Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT." ], "type": "string" } @@ -13506,6 +13516,10 @@ false }, "description": "Optional. Config parameters used during integration execution.", "type": "object" +}, +"validateOnly": { +"description": "Optional. If set, validates the integration version's configuration and returns without publishing it. The version's state, edit lock, and active version do not change.", +"type": "boolean" } }, "type": "object" @@ -14942,12 +14956,14 @@ false "enum": [ "FILE_FORMAT_UNSPECIFIED", "JSON", -"YAML" +"YAML", +"WORKFLOW_TEXTPROTO" ], "enumDescriptions": [ "Unspecified file format", "JSON File Format", -"YAML File Format" +"YAML File Format", +"Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT." ], "type": "string" } @@ -14978,12 +14994,14 @@ false "enum": [ "FILE_FORMAT_UNSPECIFIED", "JSON", -"YAML" +"YAML", +"WORKFLOW_TEXTPROTO" ], "enumDescriptions": [ "Unspecified file format", "JSON File Format", -"YAML File Format" +"YAML File Format", +"Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT." ], "type": "string" } @@ -15014,12 +15032,14 @@ false "enum": [ "FILE_FORMAT_UNSPECIFIED", "JSON", -"YAML" +"YAML", +"WORKFLOW_TEXTPROTO" ], "enumDescriptions": [ "Unspecified file format", "JSON File Format", -"YAML File Format" +"YAML File Format", +"Workflow text proto. Only integration version upload and download accept it, and only for allowlisted projects; other methods and projects get INVALID_ARGUMENT." ], "type": "string" } From e23ca4d2047416411c793b5f4f7383eadae58f9a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 40/57] feat(merchantapi): update the api #### merchantapi:datasources_v1 The following keys were added: - schemas.PrimaryProductDataSource.properties.channel.type (Total Keys: 1) --- ...chantapi_accounts_v1.accounts.services.html | 10 +++++----- ...pi_datasources_v1.accounts.dataSources.html | 6 ++++++ ...api_products_v1.accounts.productInputs.html | 8 ++++---- ...chantapi_products_v1.accounts.products.html | 4 ++-- .../documents/merchantapi.accounts_v1.json | 4 ++-- .../documents/merchantapi.datasources_v1.json | 18 +++++++++++++++++- .../documents/merchantapi.products_v1.json | 12 ++++++------ 7 files changed, 42 insertions(+), 20 deletions(-) diff --git a/docs/dyn/merchantapi_accounts_v1.accounts.services.html b/docs/dyn/merchantapi_accounts_v1.accounts.services.html index 866a453953..fbabba6973 100644 --- a/docs/dyn/merchantapi_accounts_v1.accounts.services.html +++ b/docs/dyn/merchantapi_accounts_v1.accounts.services.html @@ -117,7 +117,7 @@

Method Details

An object of the form: { # The `AccountService` message represents a specific service that a provider account offers to a Merchant Center account. `AccountService` defines the permissions and capabilities granted to the provider, allowing for operations such as product management or campaign management. The lifecycle of an `AccountService` involves a proposal phase, where one party suggests the service, and an approval phase, where the other party accepts or rejects it. This handshake mechanism ensures mutual consent before any access is granted. This mechanism safeguards both parties by ensuring that access rights are granted appropriately and that both the business and provider are aware of the services enabled. In scenarios where a user is an admin of both accounts, the approval can happen automatically. The mutability of a service is also managed through `AccountService`. Some services might be immutable, for example, if they were established through other systems or APIs, and you cannot alter them through this API. - "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many Merchant Center accounts. + "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is a multi-client advanced account, to manage multiple sub-accounts (client accounts). Through this service, the service provider can perform administrative and operational tasks across all linked sub-accounts. This is used by store builders (ecommerce platforms), channel partners, marketplaces, multi-brand retailers, and international retailers that need centralized control over sub-accounts in Merchant Center. }, "accountManagement": { # `AccountManagement` payload. # Service type for account management. Enables the provider to perform administrative actions on the business's account, such as configuring account settings, managing users, or updating business information. }, @@ -161,7 +161,7 @@

Method Details

An object of the form: { # The `AccountService` message represents a specific service that a provider account offers to a Merchant Center account. `AccountService` defines the permissions and capabilities granted to the provider, allowing for operations such as product management or campaign management. The lifecycle of an `AccountService` involves a proposal phase, where one party suggests the service, and an approval phase, where the other party accepts or rejects it. This handshake mechanism ensures mutual consent before any access is granted. This mechanism safeguards both parties by ensuring that access rights are granted appropriately and that both the business and provider are aware of the services enabled. In scenarios where a user is an admin of both accounts, the approval can happen automatically. The mutability of a service is also managed through `AccountService`. Some services might be immutable, for example, if they were established through other systems or APIs, and you cannot alter them through this API. - "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many Merchant Center accounts. + "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is a multi-client advanced account, to manage multiple sub-accounts (client accounts). Through this service, the service provider can perform administrative and operational tasks across all linked sub-accounts. This is used by store builders (ecommerce platforms), channel partners, marketplaces, multi-brand retailers, and international retailers that need centralized control over sub-accounts in Merchant Center. }, "accountManagement": { # `AccountManagement` payload. # Service type for account management. Enables the provider to perform administrative actions on the business's account, such as configuring account settings, managing users, or updating business information. }, @@ -204,7 +204,7 @@

Method Details

{ # Response after trying to list account services. "accountServices": [ # The account services that match your filter. { # The `AccountService` message represents a specific service that a provider account offers to a Merchant Center account. `AccountService` defines the permissions and capabilities granted to the provider, allowing for operations such as product management or campaign management. The lifecycle of an `AccountService` involves a proposal phase, where one party suggests the service, and an approval phase, where the other party accepts or rejects it. This handshake mechanism ensures mutual consent before any access is granted. This mechanism safeguards both parties by ensuring that access rights are granted appropriately and that both the business and provider are aware of the services enabled. In scenarios where a user is an admin of both accounts, the approval can happen automatically. The mutability of a service is also managed through `AccountService`. Some services might be immutable, for example, if they were established through other systems or APIs, and you cannot alter them through this API. - "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many Merchant Center accounts. + "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is a multi-client advanced account, to manage multiple sub-accounts (client accounts). Through this service, the service provider can perform administrative and operational tasks across all linked sub-accounts. This is used by store builders (ecommerce platforms), channel partners, marketplaces, multi-brand retailers, and international retailers that need centralized control over sub-accounts in Merchant Center. }, "accountManagement": { # `AccountManagement` payload. # Service type for account management. Enables the provider to perform administrative actions on the business's account, such as configuring account settings, managing users, or updating business information. }, @@ -256,7 +256,7 @@

Method Details

{ # Request to propose an account service. "accountService": { # The `AccountService` message represents a specific service that a provider account offers to a Merchant Center account. `AccountService` defines the permissions and capabilities granted to the provider, allowing for operations such as product management or campaign management. The lifecycle of an `AccountService` involves a proposal phase, where one party suggests the service, and an approval phase, where the other party accepts or rejects it. This handshake mechanism ensures mutual consent before any access is granted. This mechanism safeguards both parties by ensuring that access rights are granted appropriately and that both the business and provider are aware of the services enabled. In scenarios where a user is an admin of both accounts, the approval can happen automatically. The mutability of a service is also managed through `AccountService`. Some services might be immutable, for example, if they were established through other systems or APIs, and you cannot alter them through this API. # Required. The account service to propose. - "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many Merchant Center accounts. + "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is a multi-client advanced account, to manage multiple sub-accounts (client accounts). Through this service, the service provider can perform administrative and operational tasks across all linked sub-accounts. This is used by store builders (ecommerce platforms), channel partners, marketplaces, multi-brand retailers, and international retailers that need centralized control over sub-accounts in Merchant Center. }, "accountManagement": { # `AccountManagement` payload. # Service type for account management. Enables the provider to perform administrative actions on the business's account, such as configuring account settings, managing users, or updating business information. }, @@ -290,7 +290,7 @@

Method Details

An object of the form: { # The `AccountService` message represents a specific service that a provider account offers to a Merchant Center account. `AccountService` defines the permissions and capabilities granted to the provider, allowing for operations such as product management or campaign management. The lifecycle of an `AccountService` involves a proposal phase, where one party suggests the service, and an approval phase, where the other party accepts or rejects it. This handshake mechanism ensures mutual consent before any access is granted. This mechanism safeguards both parties by ensuring that access rights are granted appropriately and that both the business and provider are aware of the services enabled. In scenarios where a user is an admin of both accounts, the approval can happen automatically. The mutability of a service is also managed through `AccountService`. Some services might be immutable, for example, if they were established through other systems or APIs, and you cannot alter them through this API. - "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many Merchant Center accounts. + "accountAggregation": { # `AccountAggregation` payload. # Service type for account aggregation. This enables the provider, which is a multi-client advanced account, to manage multiple sub-accounts (client accounts). Through this service, the service provider can perform administrative and operational tasks across all linked sub-accounts. This is used by store builders (ecommerce platforms), channel partners, marketplaces, multi-brand retailers, and international retailers that need centralized control over sub-accounts in Merchant Center. }, "accountManagement": { # `AccountManagement` payload. # Service type for account management. Enables the provider to perform administrative actions on the business's account, such as configuring account settings, managing users, or updating business information. }, diff --git a/docs/dyn/merchantapi_datasources_v1.accounts.dataSources.html b/docs/dyn/merchantapi_datasources_v1.accounts.dataSources.html index f9c1724355..d6b4f42e35 100644 --- a/docs/dyn/merchantapi_datasources_v1.accounts.dataSources.html +++ b/docs/dyn/merchantapi_datasources_v1.accounts.dataSources.html @@ -150,6 +150,7 @@

Method Details

}, "name": "A String", # Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}` "primaryProductDataSource": { # The primary data source for local and online products. # The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. + "channel": "A String", # Optional. Immutable. Specifies the type of data source channel. "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction. "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). "A String", @@ -235,6 +236,7 @@

Method Details

}, "name": "A String", # Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}` "primaryProductDataSource": { # The primary data source for local and online products. # The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. + "channel": "A String", # Optional. Immutable. Specifies the type of data source channel. "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction. "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). "A String", @@ -369,6 +371,7 @@

Method Details

}, "name": "A String", # Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}` "primaryProductDataSource": { # The primary data source for local and online products. # The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. + "channel": "A String", # Optional. Immutable. Specifies the type of data source channel. "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction. "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). "A String", @@ -465,6 +468,7 @@

Method Details

}, "name": "A String", # Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}` "primaryProductDataSource": { # The primary data source for local and online products. # The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. + "channel": "A String", # Optional. Immutable. Specifies the type of data source channel. "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction. "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). "A String", @@ -569,6 +573,7 @@

Method Details

}, "name": "A String", # Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}` "primaryProductDataSource": { # The primary data source for local and online products. # The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. + "channel": "A String", # Optional. Immutable. Specifies the type of data source channel. "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction. "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). "A String", @@ -655,6 +660,7 @@

Method Details

}, "name": "A String", # Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}` "primaryProductDataSource": { # The primary data source for local and online products. # The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. + "channel": "A String", # Optional. Immutable. Specifies the type of data source channel. "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction. "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). "A String", diff --git a/docs/dyn/merchantapi_products_v1.accounts.productInputs.html b/docs/dyn/merchantapi_products_v1.accounts.productInputs.html index 31c108ae00..119912aedb 100644 --- a/docs/dyn/merchantapi_products_v1.accounts.productInputs.html +++ b/docs/dyn/merchantapi_products_v1.accounts.productInputs.html @@ -374,7 +374,7 @@

Method Details

"minEnergyEfficiencyClass": "A String", # The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. "minHandlingTime": "A String", # Minimal product handling time (in business days). "minimumOrderValues": [ # The [minimum value](https://support.google.com/merchants/answer/16989009) in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface. Maximum entries: 100. - { # The minimum order value in the cart before the checkout is permitted. + { # [Minimum order value](https://support.google.com/merchants/answer/16989009) in the cart before the checkout is permitted. "country": "A String", # Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. "price": { # The price represented as a number and currency. # Required. The minimum cart or basket value before the checkout is permitted. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -919,7 +919,7 @@

Method Details

"minEnergyEfficiencyClass": "A String", # The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. "minHandlingTime": "A String", # Minimal product handling time (in business days). "minimumOrderValues": [ # The [minimum value](https://support.google.com/merchants/answer/16989009) in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface. Maximum entries: 100. - { # The minimum order value in the cart before the checkout is permitted. + { # [Minimum order value](https://support.google.com/merchants/answer/16989009) in the cart before the checkout is permitted. "country": "A String", # Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. "price": { # The price represented as a number and currency. # Required. The minimum cart or basket value before the checkout is permitted. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -1465,7 +1465,7 @@

Method Details

"minEnergyEfficiencyClass": "A String", # The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. "minHandlingTime": "A String", # Minimal product handling time (in business days). "minimumOrderValues": [ # The [minimum value](https://support.google.com/merchants/answer/16989009) in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface. Maximum entries: 100. - { # The minimum order value in the cart before the checkout is permitted. + { # [Minimum order value](https://support.google.com/merchants/answer/16989009) in the cart before the checkout is permitted. "country": "A String", # Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. "price": { # The price represented as a number and currency. # Required. The minimum cart or basket value before the checkout is permitted. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -2011,7 +2011,7 @@

Method Details

"minEnergyEfficiencyClass": "A String", # The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. "minHandlingTime": "A String", # Minimal product handling time (in business days). "minimumOrderValues": [ # The [minimum value](https://support.google.com/merchants/answer/16989009) in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface. Maximum entries: 100. - { # The minimum order value in the cart before the checkout is permitted. + { # [Minimum order value](https://support.google.com/merchants/answer/16989009) in the cart before the checkout is permitted. "country": "A String", # Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. "price": { # The price represented as a number and currency. # Required. The minimum cart or basket value before the checkout is permitted. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). diff --git a/docs/dyn/merchantapi_products_v1.accounts.products.html b/docs/dyn/merchantapi_products_v1.accounts.products.html index bef7d10fe4..4ba5349889 100644 --- a/docs/dyn/merchantapi_products_v1.accounts.products.html +++ b/docs/dyn/merchantapi_products_v1.accounts.products.html @@ -374,7 +374,7 @@

Method Details

"minEnergyEfficiencyClass": "A String", # The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. "minHandlingTime": "A String", # Minimal product handling time (in business days). "minimumOrderValues": [ # The [minimum value](https://support.google.com/merchants/answer/16989009) in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface. Maximum entries: 100. - { # The minimum order value in the cart before the checkout is permitted. + { # [Minimum order value](https://support.google.com/merchants/answer/16989009) in the cart before the checkout is permitted. "country": "A String", # Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. "price": { # The price represented as a number and currency. # Required. The minimum cart or basket value before the checkout is permitted. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -978,7 +978,7 @@

Method Details

"minEnergyEfficiencyClass": "A String", # The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. "minHandlingTime": "A String", # Minimal product handling time (in business days). "minimumOrderValues": [ # The [minimum value](https://support.google.com/merchants/answer/16989009) in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface. Maximum entries: 100. - { # The minimum order value in the cart before the checkout is permitted. + { # [Minimum order value](https://support.google.com/merchants/answer/16989009) in the cart before the checkout is permitted. "country": "A String", # Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. "price": { # The price represented as a number and currency. # Required. The minimum cart or basket value before the checkout is permitted. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). diff --git a/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json index 3fceb8209d..37782c338b 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json @@ -2438,7 +2438,7 @@ } } }, -"revision": "20261021", +"revision": "20261103", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -2632,7 +2632,7 @@ "properties": { "accountAggregation": { "$ref": "AccountAggregation", -"description": "Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many Merchant Center accounts." +"description": "Service type for account aggregation. This enables the provider, which is a multi-client advanced account, to manage multiple sub-accounts (client accounts). Through this service, the service provider can perform administrative and operational tasks across all linked sub-accounts. This is used by store builders (ecommerce platforms), channel partners, marketplaces, multi-brand retailers, and international retailers that need centralized control over sub-accounts in Merchant Center." }, "accountManagement": { "$ref": "AccountManagement", diff --git a/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json index 81f41758de..e07ffa8c1c 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json @@ -321,7 +321,7 @@ } } }, -"revision": "20260901", +"revision": "20261104", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -764,6 +764,22 @@ "description": "The primary data source for local and online products.", "id": "PrimaryProductDataSource", "properties": { +"channel": { +"description": "Optional. Immutable. Specifies the type of data source channel.", +"enum": [ +"CHANNEL_UNSPECIFIED", +"ONLINE_PRODUCTS", +"LOCAL_PRODUCTS", +"PRODUCTS" +], +"enumDescriptions": [ +"Not specified.", +"Online product.", +"Local product.", +"Unified data source for both local and online products. Note: Products management through the API is not possible for this channel." +], +"type": "string" +}, "contentLanguage": { "description": "Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/merchantapi.products_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.products_v1.json index 6232047db8..dc42f2b1aa 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.products_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.products_v1.json @@ -281,7 +281,7 @@ } } }, -"revision": "20261012", +"revision": "20261106", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AutomatedDiscounts": { @@ -2906,7 +2906,7 @@ false "type": "object" }, "ProductMinimumOrderValue": { -"description": "The minimum order value in the cart before the checkout is permitted.", +"description": "[Minimum order value](https://support.google.com/merchants/answer/16989009) in the cart before the checkout is permitted.", "id": "ProductMinimumOrderValue", "properties": { "country": { @@ -2930,10 +2930,10 @@ false "ONLINE_LOCAL" ], "enumDescriptions": [ -"Surface is unspecified.", -"Surface value to indicate online purchases.", -"Surface value to indicate local purchases.", -"Surface value to indicate online and local purchases." +"Indicates that the surface is unspecified. Defaults to `ONLINE_LOCAL`.", +"Applies exclusively to delivery/shipping orders (all delivery routes).", +"Applies exclusively to local in-store pickup (buy online, pickup in store). See [in-store pickup](https://support.google.com/merchants/answer/14634021).", +"Applies to both delivery/shipping and local in-store pickup." ], "type": "string" } From ee3a262233643dcfb595a5253e72ec95f0e05ede Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 41/57] feat(networkconnectivity): update the api #### networkconnectivity:v1 The following keys were added: - endpoints (Total Keys: 1) - schemas.LinkedInterconnectAttachments.properties.proposedExcludeExportRanges (Total Keys: 3) - schemas.LinkedInterconnectAttachments.properties.proposedExcludeImportRanges (Total Keys: 3) - schemas.LinkedInterconnectAttachments.properties.proposedIncludeExportRanges (Total Keys: 3) - schemas.LinkedInterconnectAttachments.properties.proposedIncludeImportRanges (Total Keys: 3) - schemas.LinkedRouterApplianceInstances.properties.proposedExcludeExportRanges (Total Keys: 3) - schemas.LinkedRouterApplianceInstances.properties.proposedExcludeImportRanges (Total Keys: 3) - schemas.LinkedRouterApplianceInstances.properties.proposedIncludeExportRanges (Total Keys: 3) - schemas.LinkedRouterApplianceInstances.properties.proposedIncludeImportRanges (Total Keys: 3) - schemas.LinkedVpnTunnels.properties.proposedExcludeExportRanges (Total Keys: 3) - schemas.LinkedVpnTunnels.properties.proposedExcludeImportRanges (Total Keys: 3) - schemas.LinkedVpnTunnels.properties.proposedIncludeExportRanges (Total Keys: 3) - schemas.LinkedVpnTunnels.properties.proposedIncludeImportRanges (Total Keys: 3) #### networkconnectivity:v1alpha1 The following keys were added: - endpoints (Total Keys: 1) --- ...ty_v1.projects.locations.global_.hubs.html | 36 ++++ ...ectivity_v1.projects.locations.spokes.html | 144 ++++++++++++++++ .../documents/networkconnectivity.v1.json | 160 +++++++++++++++++- .../networkconnectivity.v1alpha1.json | 64 ++++++- 4 files changed, 402 insertions(+), 2 deletions(-) diff --git a/docs/dyn/networkconnectivity_v1.projects.locations.global_.hubs.html b/docs/dyn/networkconnectivity_v1.projects.locations.global_.hubs.html index 44e9d6a5c1..8bc07b78f0 100644 --- a/docs/dyn/networkconnectivity_v1.projects.locations.global_.hubs.html +++ b/docs/dyn/networkconnectivity_v1.projects.locations.global_.hubs.html @@ -605,6 +605,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked interconnect attachment resources "A String", @@ -648,6 +660,18 @@

Method Details

"virtualMachine": "A String", # The URI of the VM. }, ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "vpcNetwork": "A String", # Output only. The VPC network where these router appliance instances are located. }, @@ -682,6 +706,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked VPN tunnel resources. "A String", diff --git a/docs/dyn/networkconnectivity_v1.projects.locations.spokes.html b/docs/dyn/networkconnectivity_v1.projects.locations.spokes.html index ee39793884..fa4d97f6aa 100644 --- a/docs/dyn/networkconnectivity_v1.projects.locations.spokes.html +++ b/docs/dyn/networkconnectivity_v1.projects.locations.spokes.html @@ -161,6 +161,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked interconnect attachment resources "A String", @@ -204,6 +216,18 @@

Method Details

"virtualMachine": "A String", # The URI of the VM. }, ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "vpcNetwork": "A String", # Output only. The VPC network where these router appliance instances are located. }, @@ -238,6 +262,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked VPN tunnel resources. "A String", @@ -376,6 +412,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked interconnect attachment resources "A String", @@ -419,6 +467,18 @@

Method Details

"virtualMachine": "A String", # The URI of the VM. }, ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "vpcNetwork": "A String", # Output only. The VPC network where these router appliance instances are located. }, @@ -453,6 +513,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked VPN tunnel resources. "A String", @@ -580,6 +652,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked interconnect attachment resources "A String", @@ -623,6 +707,18 @@

Method Details

"virtualMachine": "A String", # The URI of the VM. }, ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "vpcNetwork": "A String", # Output only. The VPC network where these router appliance instances are located. }, @@ -657,6 +753,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked VPN tunnel resources. "A String", @@ -743,6 +851,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked interconnect attachment resources "A String", @@ -786,6 +906,18 @@

Method Details

"virtualMachine": "A String", # The URI of the VM. }, ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "vpcNetwork": "A String", # Output only. The VPC network where these router appliance instances are located. }, @@ -820,6 +952,18 @@

Method Details

"includeImportRanges": [ # Optional. Hub routes fully encompassed by include import ranges are included during import from hub. "A String", ], + "proposedExcludeExportRanges": [ # Output only. The proposed exclude export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedExcludeImportRanges": [ # Output only. The proposed exclude import IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeExportRanges": [ # Output only. The proposed include export IP ranges waiting for hub administrator's approval. + "A String", + ], + "proposedIncludeImportRanges": [ # Output only. The proposed include import IP ranges waiting for hub administrator's approval. + "A String", + ], "siteToSiteDataTransfer": True or False, # A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). "uris": [ # The URIs of linked VPN tunnel resources. "A String", diff --git a/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json b/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json index aab63e7b18..8b6a07588f 100644 --- a/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json +++ b/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json @@ -15,6 +15,68 @@ "description": "This API enables connectivity with and between Google Cloud resources.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west4.rep.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west8.rep.googleapis.com/", +"location": "us-west8" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -4046,7 +4108,7 @@ } } }, -"revision": "20261022", +"revision": "20261029", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AcceptHubSpokeRequest": { @@ -5569,6 +5631,38 @@ }, "type": "array" }, +"proposedExcludeExportRanges": { +"description": "Output only. The proposed exclude export IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedExcludeImportRanges": { +"description": "Output only. The proposed exclude import IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedIncludeExportRanges": { +"description": "Output only. The proposed include export IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedIncludeImportRanges": { +"description": "Output only. The proposed include import IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, "siteToSiteDataTransfer": { "description": "A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).", "type": "boolean" @@ -5681,6 +5775,38 @@ }, "type": "array" }, +"proposedExcludeExportRanges": { +"description": "Output only. The proposed exclude export IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedExcludeImportRanges": { +"description": "Output only. The proposed exclude import IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedIncludeExportRanges": { +"description": "Output only. The proposed include export IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedIncludeImportRanges": { +"description": "Output only. The proposed include import IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, "siteToSiteDataTransfer": { "description": "A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).", "type": "boolean" @@ -5774,6 +5900,38 @@ }, "type": "array" }, +"proposedExcludeExportRanges": { +"description": "Output only. The proposed exclude export IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedExcludeImportRanges": { +"description": "Output only. The proposed exclude import IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedIncludeExportRanges": { +"description": "Output only. The proposed include export IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"proposedIncludeImportRanges": { +"description": "Output only. The proposed include import IP ranges waiting for hub administrator's approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, "siteToSiteDataTransfer": { "description": "A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).", "type": "boolean" diff --git a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json index 26327b86c4..e7fbb7870e 100644 --- a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json @@ -15,6 +15,68 @@ "description": "This API enables connectivity with and between Google Cloud resources.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west4.rep.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://networkconnectivity.us-west8.rep.googleapis.com/", +"location": "us-west8" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -1127,7 +1189,7 @@ } } }, -"revision": "20260929", +"revision": "20261029", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AllocationOptions": { From 104345f37dca50817c538dc8da578ab6fab5eede Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 42/57] feat(networkmanagement): update the api #### networkmanagement:v1 The following keys were added: - schemas.Endpoint.properties.datastreamPrivateConnection.type (Total Keys: 1) --- ...t_v1.projects.locations.global_.connectivityTests.html | 8 ++++++++ .../discovery_cache/documents/networkmanagement.v1.json | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html b/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html index e827329f5a..52e52bf40f 100644 --- a/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html +++ b/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html @@ -139,6 +139,7 @@

Method Details

"uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} }, "cloudSqlInstance": "A String", # A [Cloud SQL](https://cloud.google.com/sql) instance URI. + "datastreamPrivateConnection": "A String", # A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "dmsPrivateConnection": "A String", # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "forwardingRule": "A String", # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}` "forwardingRuleTarget": "A String", # Output only. Specifies the type of the target of the forwarding rule. @@ -980,6 +981,7 @@

Method Details

"uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} }, "cloudSqlInstance": "A String", # A [Cloud SQL](https://cloud.google.com/sql) instance URI. + "datastreamPrivateConnection": "A String", # A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "dmsPrivateConnection": "A String", # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "forwardingRule": "A String", # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}` "forwardingRuleTarget": "A String", # Output only. Specifies the type of the target of the forwarding rule. @@ -1096,6 +1098,7 @@

Method Details

"uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} }, "cloudSqlInstance": "A String", # A [Cloud SQL](https://cloud.google.com/sql) instance URI. + "datastreamPrivateConnection": "A String", # A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "dmsPrivateConnection": "A String", # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "forwardingRule": "A String", # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}` "forwardingRuleTarget": "A String", # Output only. Specifies the type of the target of the forwarding rule. @@ -1937,6 +1940,7 @@

Method Details

"uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} }, "cloudSqlInstance": "A String", # A [Cloud SQL](https://cloud.google.com/sql) instance URI. + "datastreamPrivateConnection": "A String", # A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "dmsPrivateConnection": "A String", # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "forwardingRule": "A String", # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}` "forwardingRuleTarget": "A String", # Output only. Specifies the type of the target of the forwarding rule. @@ -2044,6 +2048,7 @@

Method Details

"uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} }, "cloudSqlInstance": "A String", # A [Cloud SQL](https://cloud.google.com/sql) instance URI. + "datastreamPrivateConnection": "A String", # A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "dmsPrivateConnection": "A String", # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "forwardingRule": "A String", # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}` "forwardingRuleTarget": "A String", # Output only. Specifies the type of the target of the forwarding rule. @@ -2885,6 +2890,7 @@

Method Details

"uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} }, "cloudSqlInstance": "A String", # A [Cloud SQL](https://cloud.google.com/sql) instance URI. + "datastreamPrivateConnection": "A String", # A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "dmsPrivateConnection": "A String", # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "forwardingRule": "A String", # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}` "forwardingRuleTarget": "A String", # Output only. Specifies the type of the target of the forwarding rule. @@ -2951,6 +2957,7 @@

Method Details

"uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} }, "cloudSqlInstance": "A String", # A [Cloud SQL](https://cloud.google.com/sql) instance URI. + "datastreamPrivateConnection": "A String", # A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "dmsPrivateConnection": "A String", # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "forwardingRule": "A String", # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}` "forwardingRuleTarget": "A String", # Output only. Specifies the type of the target of the forwarding rule. @@ -3792,6 +3799,7 @@

Method Details

"uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} }, "cloudSqlInstance": "A String", # A [Cloud SQL](https://cloud.google.com/sql) instance URI. + "datastreamPrivateConnection": "A String", # A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "dmsPrivateConnection": "A String", # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}. "forwardingRule": "A String", # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}` "forwardingRuleTarget": "A String", # Output only. Specifies the type of the target of the forwarding rule. diff --git a/googleapiclient/discovery_cache/documents/networkmanagement.v1.json b/googleapiclient/discovery_cache/documents/networkmanagement.v1.json index 21255cd10a..aaf913bb73 100644 --- a/googleapiclient/discovery_cache/documents/networkmanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/networkmanagement.v1.json @@ -1814,7 +1814,7 @@ } } }, -"revision": "20261021", +"revision": "20261028", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -2887,6 +2887,10 @@ false "description": "A [Cloud SQL](https://cloud.google.com/sql) instance URI.", "type": "string" }, +"datastreamPrivateConnection": { +"description": "A [Datastream Private Connection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.", +"type": "string" +}, "dmsPrivateConnection": { "description": "A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.", "type": "string" From 704165571d2f11f43f05f69e702396819adbe9b1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 43/57] feat(networkservices): update the api #### networkservices:v1beta1 The following keys were added: - resources.projects.resources.locations.resources.expressLinks.methods.create (Total Keys: 14) - resources.projects.resources.locations.resources.expressLinks.methods.delete (Total Keys: 11) - resources.projects.resources.locations.resources.expressLinks.methods.get (Total Keys: 13) - resources.projects.resources.locations.resources.expressLinks.methods.list (Total Keys: 18) - resources.projects.resources.locations.resources.expressLinks.methods.patch (Total Keys: 15) - schemas.ExpressLink (Total Keys: 104) - schemas.ListExpressLinksResponse (Total Keys: 7) --- ...beta1.projects.locations.expressLinks.html | 590 +++++++++++++++++ ...rkservices_v1beta1.projects.locations.html | 5 + .../documents/networkservices.v1beta1.json | 605 +++++++++++++++++- 3 files changed, 1199 insertions(+), 1 deletion(-) create mode 100644 docs/dyn/networkservices_v1beta1.projects.locations.expressLinks.html diff --git a/docs/dyn/networkservices_v1beta1.projects.locations.expressLinks.html b/docs/dyn/networkservices_v1beta1.projects.locations.expressLinks.html new file mode 100644 index 0000000000..f39ab10025 --- /dev/null +++ b/docs/dyn/networkservices_v1beta1.projects.locations.expressLinks.html @@ -0,0 +1,590 @@ + + + +

Network Services API . projects . locations . expressLinks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, expressLinkId=None, x__xgafv=None)

+

Creates a new ExpressLink in a given project and location.

+

+ delete(name, etag=None, x__xgafv=None)

+

Deletes a single ExpressLink.

+

+ get(name, view=None, x__xgafv=None)

+

Gets details of a single ExpressLink.

+

+ list(parent, pageSize=None, pageToken=None, view=None, x__xgafv=None)

+

Lists ExpressLinks in a given project and location.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates the parameters of a single ExpressLink.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, expressLinkId=None, x__xgafv=None) +
Creates a new ExpressLink in a given project and location.
+
+Args:
+  parent: string, Required. The parent resource of the ExpressLink. Must be in the format `projects/*/locations/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # ExpressLink provides automated, zero-friction service-to-service secure connectivity across network boundaries without manual infrastructure configuration toil.
+  "cloudRunSecurityInfo": { # CloudRunSecurityInfo provides security details for Cloud Run to Cloud Run ExpressLinks. # Output only. Cloud Run security information if the ExpressLink destination is a Cloud Run service.
+    "mtlsTier": "A String", # Output only. Identifies the level of mTLS transport security in use.
+    "serverAuthenticationMethods": [ # Output only. The inbound server authentication methods required by the destination Cloud Run service.
+      { # AuthenticationMethod specifies identity type and credential type pair.
+        "credentialType": "A String", # Output only. Credential type supported or used.
+        "identityType": "A String", # Output only. Identity type supported or used.
+      },
+    ],
+  },
+  "cloudRunSourceInfo": { # CloudRunSourceInfo provides observability details for Cloud Run source services. # Output only. Cloud Run source observability details.
+    "workloads": [ # Output only. Observability details for Cloud Run source workloads.
+      { # WorkloadInfo provides observability details for a single Cloud Run source workload.
+        "clientAuthenticationMethods": [ # Output only. The outbound authentication methods the workload is capable of.
+          { # AuthenticationMethod specifies identity type and credential type pair.
+            "credentialType": "A String", # Output only. Credential type supported or used.
+            "identityType": "A String", # Output only. Identity type supported or used.
+          },
+        ],
+        "vpcNetwork": "A String", # Output only. Consumer VPC network resource name.
+        "workloadUri": "A String", # Output only. The URI of the source workload (e.g. Cloud Run revision).
+      },
+    ],
+  },
+  "connectionStatus": [ # Output only. The connection status and negotiated parameters.
+    { # ConnectionStatus details the resolved state, error status, and negotiated configuration of the ExpressLink resource.
+      "credentialType": "A String", # Output only. The negotiated credential type.
+      "error": "A String", # Output only. Code representing the type of error encountered.
+      "errorMessage": "A String", # Output only. Detailed error message explaining the binding failure.
+      "hostnames": [ # Output only. The list of hostnames that will route to this destination.
+        { # HostnameInfo provides details about a hostname that routes to this destination.
+          "hostname": "A String", # Output only. The hostname string.
+        },
+      ],
+      "routeType": "A String", # Output only. The route type of the connection (e.g. HTTP).
+      "workloadUri": "A String", # Output only. The URI of the source workload this status applies to.
+    },
+  ],
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "description": "A String", # Optional. A free-text description of the resource. Max length 1024 characters.
+  "destination": { # The destination of the traffic. This defines the service that the source wants to connect to. # Optional. The destination service(s) for this binding.
+    "services": [ # Optional. The service URIs to which the ExpressLink resource is bound. Can be one of the following (all the service URIs should have the same type): `//compute.googleapis.com/projects/*/regions/*/serviceAttachments/`; `//compute.googleapis.com/projects/*/regions/*/forwardingRules/`; `//run.googleapis.com/projects/*/locations/*/services/`.
+      "A String",
+    ],
+  },
+  "etag": "A String", # Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
+  "forwardingRuleInfo": { # ForwardingRuleInfo provides operational details when the ExpressLink destination is a Forwarding Rule. # Output only. Forwarding Rule information if the ExpressLink destination is a Forwarding Rule.
+    "ipAddress": "A String", # Output only. The IP address of the forwarding rule.
+    "port": "A String", # Output only. The port or port range of the forwarding rule.
+  },
+  "labels": { # Optional. Set of label tags associated with the ExpressLink resource.
+    "a_key": "A String",
+  },
+  "matches": [ # Optional. A list of matches define conditions used to match requests to destination services. Each match is independent with the OR semantic, i.e. we consider it matched if ANY one of the matches is satisfied. If an ExpressLink has only one Cloud Run service, Match is optional. If not specified, only the default hostname `-..run.app` can be used. If an ExpressLink has multiple Cloud Run services, at least one Match with valid hostname is required.
+    { # Match defines the predicate used to match requests to destination services.
+      "hostname": "A String", # Optional. Specifies the hostname to match against the HTTP request host header. Hostname is the fully qualified domain name of a network host, as defined by RFC1123 with the exception that: - IPs are not allowed. - Wildcard labels (`*.`) are not allowed. Hostname must be "precise" which is a domain name without the terminating dot of a network host (e.g. `foo.example.com`). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed.
+    },
+  ],
+  "name": "A String", # Identifier. Name of the ExpressLink resource. It matches pattern `projects/*/locations/*/expressLinks/`.
+  "pscEndpointInfo": { # Private Service Connect (PSC) endpoint information populated in the Get API responses if the ExpressLink resource is bound to a PSC service. # Output only. Private Service Connect (PSC) endpoint information if the ExpressLink destination is a PSC service.
+    "pscEndpoints": [ # Output only. A list of PSC endpoints mapped to the PSC producer service.
+      { # Private Service Connect (PSC) endpoint details.
+        "allowGlobalAccess": True or False, # Output only. Whether the PSC endpoint is accessible from all regions.
+        "forwardingRule": "A String", # Output only. The ForwardingRule resource name of the PSC endpoint. Should match the pattern: `projects/*/regions/*/forwardingRules/`.
+        "pscEndpointAddress": "A String", # Output only. The IP address of the PSC endpoint.
+        "vpcNetwork": "A String", # Output only. The resource name of the consumer VPC network. Should match the pattern: `projects/*/global/networks/`.
+      },
+    ],
+  },
+  "source": { # The source of the traffic. This defines where the connection originates from. # Optional. The source service(s) for this binding.
+    "services": [ # Optional. A list of resources attached to the ExpressLink. The resources can be Cloud Run services of the format: `//run.googleapis.com/projects/*/locations/*/services/`. The location of the resources must match the location of the ExpressLink (unless the ExpressLink is global).
+      "A String",
+    ],
+  },
+  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
+}
+
+  expressLinkId: string, Required. Short name of the ExpressLink resource to be created.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, etag=None, x__xgafv=None) +
Deletes a single ExpressLink.
+
+Args:
+  name: string, Required. A name of the ExpressLink to delete. Must be in the format `projects/*/locations/*/expressLinks/*`. (required)
+  etag: string, Optional. The etag of the ExpressLink to delete.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ get(name, view=None, x__xgafv=None) +
Gets details of a single ExpressLink.
+
+Args:
+  name: string, Required. A name of the ExpressLink to get. Must be in the format `projects/*/locations/*/expressLinks/*`. (required)
+  view: string, Optional. Determines the information level of the ExpressLink resource returned in the API response.
+    Allowed values
+      EXPRESS_LINK_VIEW_UNSPECIFIED - The unset value. The API will default to `EXPRESS_LINK_VIEW_BASIC`.
+      EXPRESS_LINK_VIEW_BASIC - Includes the configuration of an ExpressLink resource, but not the debug information (e.g. PSC endpoints) of the bound service. This is the default value for the Get and List APIs.
+      EXPRESS_LINK_VIEW_FULL - Includes the configuration of an ExpressLink resource and all the debug information (e.g. PSC endpoints) of the bound service. This is available only for the Get API.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # ExpressLink provides automated, zero-friction service-to-service secure connectivity across network boundaries without manual infrastructure configuration toil.
+  "cloudRunSecurityInfo": { # CloudRunSecurityInfo provides security details for Cloud Run to Cloud Run ExpressLinks. # Output only. Cloud Run security information if the ExpressLink destination is a Cloud Run service.
+    "mtlsTier": "A String", # Output only. Identifies the level of mTLS transport security in use.
+    "serverAuthenticationMethods": [ # Output only. The inbound server authentication methods required by the destination Cloud Run service.
+      { # AuthenticationMethod specifies identity type and credential type pair.
+        "credentialType": "A String", # Output only. Credential type supported or used.
+        "identityType": "A String", # Output only. Identity type supported or used.
+      },
+    ],
+  },
+  "cloudRunSourceInfo": { # CloudRunSourceInfo provides observability details for Cloud Run source services. # Output only. Cloud Run source observability details.
+    "workloads": [ # Output only. Observability details for Cloud Run source workloads.
+      { # WorkloadInfo provides observability details for a single Cloud Run source workload.
+        "clientAuthenticationMethods": [ # Output only. The outbound authentication methods the workload is capable of.
+          { # AuthenticationMethod specifies identity type and credential type pair.
+            "credentialType": "A String", # Output only. Credential type supported or used.
+            "identityType": "A String", # Output only. Identity type supported or used.
+          },
+        ],
+        "vpcNetwork": "A String", # Output only. Consumer VPC network resource name.
+        "workloadUri": "A String", # Output only. The URI of the source workload (e.g. Cloud Run revision).
+      },
+    ],
+  },
+  "connectionStatus": [ # Output only. The connection status and negotiated parameters.
+    { # ConnectionStatus details the resolved state, error status, and negotiated configuration of the ExpressLink resource.
+      "credentialType": "A String", # Output only. The negotiated credential type.
+      "error": "A String", # Output only. Code representing the type of error encountered.
+      "errorMessage": "A String", # Output only. Detailed error message explaining the binding failure.
+      "hostnames": [ # Output only. The list of hostnames that will route to this destination.
+        { # HostnameInfo provides details about a hostname that routes to this destination.
+          "hostname": "A String", # Output only. The hostname string.
+        },
+      ],
+      "routeType": "A String", # Output only. The route type of the connection (e.g. HTTP).
+      "workloadUri": "A String", # Output only. The URI of the source workload this status applies to.
+    },
+  ],
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "description": "A String", # Optional. A free-text description of the resource. Max length 1024 characters.
+  "destination": { # The destination of the traffic. This defines the service that the source wants to connect to. # Optional. The destination service(s) for this binding.
+    "services": [ # Optional. The service URIs to which the ExpressLink resource is bound. Can be one of the following (all the service URIs should have the same type): `//compute.googleapis.com/projects/*/regions/*/serviceAttachments/`; `//compute.googleapis.com/projects/*/regions/*/forwardingRules/`; `//run.googleapis.com/projects/*/locations/*/services/`.
+      "A String",
+    ],
+  },
+  "etag": "A String", # Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
+  "forwardingRuleInfo": { # ForwardingRuleInfo provides operational details when the ExpressLink destination is a Forwarding Rule. # Output only. Forwarding Rule information if the ExpressLink destination is a Forwarding Rule.
+    "ipAddress": "A String", # Output only. The IP address of the forwarding rule.
+    "port": "A String", # Output only. The port or port range of the forwarding rule.
+  },
+  "labels": { # Optional. Set of label tags associated with the ExpressLink resource.
+    "a_key": "A String",
+  },
+  "matches": [ # Optional. A list of matches define conditions used to match requests to destination services. Each match is independent with the OR semantic, i.e. we consider it matched if ANY one of the matches is satisfied. If an ExpressLink has only one Cloud Run service, Match is optional. If not specified, only the default hostname `-..run.app` can be used. If an ExpressLink has multiple Cloud Run services, at least one Match with valid hostname is required.
+    { # Match defines the predicate used to match requests to destination services.
+      "hostname": "A String", # Optional. Specifies the hostname to match against the HTTP request host header. Hostname is the fully qualified domain name of a network host, as defined by RFC1123 with the exception that: - IPs are not allowed. - Wildcard labels (`*.`) are not allowed. Hostname must be "precise" which is a domain name without the terminating dot of a network host (e.g. `foo.example.com`). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed.
+    },
+  ],
+  "name": "A String", # Identifier. Name of the ExpressLink resource. It matches pattern `projects/*/locations/*/expressLinks/`.
+  "pscEndpointInfo": { # Private Service Connect (PSC) endpoint information populated in the Get API responses if the ExpressLink resource is bound to a PSC service. # Output only. Private Service Connect (PSC) endpoint information if the ExpressLink destination is a PSC service.
+    "pscEndpoints": [ # Output only. A list of PSC endpoints mapped to the PSC producer service.
+      { # Private Service Connect (PSC) endpoint details.
+        "allowGlobalAccess": True or False, # Output only. Whether the PSC endpoint is accessible from all regions.
+        "forwardingRule": "A String", # Output only. The ForwardingRule resource name of the PSC endpoint. Should match the pattern: `projects/*/regions/*/forwardingRules/`.
+        "pscEndpointAddress": "A String", # Output only. The IP address of the PSC endpoint.
+        "vpcNetwork": "A String", # Output only. The resource name of the consumer VPC network. Should match the pattern: `projects/*/global/networks/`.
+      },
+    ],
+  },
+  "source": { # The source of the traffic. This defines where the connection originates from. # Optional. The source service(s) for this binding.
+    "services": [ # Optional. A list of resources attached to the ExpressLink. The resources can be Cloud Run services of the format: `//run.googleapis.com/projects/*/locations/*/services/`. The location of the resources must match the location of the ExpressLink (unless the ExpressLink is global).
+      "A String",
+    ],
+  },
+  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, view=None, x__xgafv=None) +
Lists ExpressLinks in a given project and location.
+
+Args:
+  parent: string, Required. The project and location from which the ExpressLinks should be listed, specified in the format `projects/*/locations/*`. (required)
+  pageSize: integer, Maximum number of ExpressLinks to return per call.
+  pageToken: string, The value returned by the last `ListExpressLinksResponse` Indicates that this is a continuation of a prior `ListExpressLinks` call, and that the system should return the next page of data.
+  view: string, Optional. Determines the information level of the ExpressLink resources returned in the API response.
+    Allowed values
+      EXPRESS_LINK_VIEW_UNSPECIFIED - The unset value. The API will default to `EXPRESS_LINK_VIEW_BASIC`.
+      EXPRESS_LINK_VIEW_BASIC - Includes the configuration of an ExpressLink resource, but not the debug information (e.g. PSC endpoints) of the bound service. This is the default value for the Get and List APIs.
+      EXPRESS_LINK_VIEW_FULL - Includes the configuration of an ExpressLink resource and all the debug information (e.g. PSC endpoints) of the bound service. This is available only for the Get API.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response returned by the ListExpressLinks method.
+  "expressLinks": [ # List of ExpressLink resources.
+    { # ExpressLink provides automated, zero-friction service-to-service secure connectivity across network boundaries without manual infrastructure configuration toil.
+      "cloudRunSecurityInfo": { # CloudRunSecurityInfo provides security details for Cloud Run to Cloud Run ExpressLinks. # Output only. Cloud Run security information if the ExpressLink destination is a Cloud Run service.
+        "mtlsTier": "A String", # Output only. Identifies the level of mTLS transport security in use.
+        "serverAuthenticationMethods": [ # Output only. The inbound server authentication methods required by the destination Cloud Run service.
+          { # AuthenticationMethod specifies identity type and credential type pair.
+            "credentialType": "A String", # Output only. Credential type supported or used.
+            "identityType": "A String", # Output only. Identity type supported or used.
+          },
+        ],
+      },
+      "cloudRunSourceInfo": { # CloudRunSourceInfo provides observability details for Cloud Run source services. # Output only. Cloud Run source observability details.
+        "workloads": [ # Output only. Observability details for Cloud Run source workloads.
+          { # WorkloadInfo provides observability details for a single Cloud Run source workload.
+            "clientAuthenticationMethods": [ # Output only. The outbound authentication methods the workload is capable of.
+              { # AuthenticationMethod specifies identity type and credential type pair.
+                "credentialType": "A String", # Output only. Credential type supported or used.
+                "identityType": "A String", # Output only. Identity type supported or used.
+              },
+            ],
+            "vpcNetwork": "A String", # Output only. Consumer VPC network resource name.
+            "workloadUri": "A String", # Output only. The URI of the source workload (e.g. Cloud Run revision).
+          },
+        ],
+      },
+      "connectionStatus": [ # Output only. The connection status and negotiated parameters.
+        { # ConnectionStatus details the resolved state, error status, and negotiated configuration of the ExpressLink resource.
+          "credentialType": "A String", # Output only. The negotiated credential type.
+          "error": "A String", # Output only. Code representing the type of error encountered.
+          "errorMessage": "A String", # Output only. Detailed error message explaining the binding failure.
+          "hostnames": [ # Output only. The list of hostnames that will route to this destination.
+            { # HostnameInfo provides details about a hostname that routes to this destination.
+              "hostname": "A String", # Output only. The hostname string.
+            },
+          ],
+          "routeType": "A String", # Output only. The route type of the connection (e.g. HTTP).
+          "workloadUri": "A String", # Output only. The URI of the source workload this status applies to.
+        },
+      ],
+      "createTime": "A String", # Output only. The timestamp when the resource was created.
+      "description": "A String", # Optional. A free-text description of the resource. Max length 1024 characters.
+      "destination": { # The destination of the traffic. This defines the service that the source wants to connect to. # Optional. The destination service(s) for this binding.
+        "services": [ # Optional. The service URIs to which the ExpressLink resource is bound. Can be one of the following (all the service URIs should have the same type): `//compute.googleapis.com/projects/*/regions/*/serviceAttachments/`; `//compute.googleapis.com/projects/*/regions/*/forwardingRules/`; `//run.googleapis.com/projects/*/locations/*/services/`.
+          "A String",
+        ],
+      },
+      "etag": "A String", # Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
+      "forwardingRuleInfo": { # ForwardingRuleInfo provides operational details when the ExpressLink destination is a Forwarding Rule. # Output only. Forwarding Rule information if the ExpressLink destination is a Forwarding Rule.
+        "ipAddress": "A String", # Output only. The IP address of the forwarding rule.
+        "port": "A String", # Output only. The port or port range of the forwarding rule.
+      },
+      "labels": { # Optional. Set of label tags associated with the ExpressLink resource.
+        "a_key": "A String",
+      },
+      "matches": [ # Optional. A list of matches define conditions used to match requests to destination services. Each match is independent with the OR semantic, i.e. we consider it matched if ANY one of the matches is satisfied. If an ExpressLink has only one Cloud Run service, Match is optional. If not specified, only the default hostname `-..run.app` can be used. If an ExpressLink has multiple Cloud Run services, at least one Match with valid hostname is required.
+        { # Match defines the predicate used to match requests to destination services.
+          "hostname": "A String", # Optional. Specifies the hostname to match against the HTTP request host header. Hostname is the fully qualified domain name of a network host, as defined by RFC1123 with the exception that: - IPs are not allowed. - Wildcard labels (`*.`) are not allowed. Hostname must be "precise" which is a domain name without the terminating dot of a network host (e.g. `foo.example.com`). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed.
+        },
+      ],
+      "name": "A String", # Identifier. Name of the ExpressLink resource. It matches pattern `projects/*/locations/*/expressLinks/`.
+      "pscEndpointInfo": { # Private Service Connect (PSC) endpoint information populated in the Get API responses if the ExpressLink resource is bound to a PSC service. # Output only. Private Service Connect (PSC) endpoint information if the ExpressLink destination is a PSC service.
+        "pscEndpoints": [ # Output only. A list of PSC endpoints mapped to the PSC producer service.
+          { # Private Service Connect (PSC) endpoint details.
+            "allowGlobalAccess": True or False, # Output only. Whether the PSC endpoint is accessible from all regions.
+            "forwardingRule": "A String", # Output only. The ForwardingRule resource name of the PSC endpoint. Should match the pattern: `projects/*/regions/*/forwardingRules/`.
+            "pscEndpointAddress": "A String", # Output only. The IP address of the PSC endpoint.
+            "vpcNetwork": "A String", # Output only. The resource name of the consumer VPC network. Should match the pattern: `projects/*/global/networks/`.
+          },
+        ],
+      },
+      "source": { # The source of the traffic. This defines where the connection originates from. # Optional. The source service(s) for this binding.
+        "services": [ # Optional. A list of resources attached to the ExpressLink. The resources can be Cloud Run services of the format: `//run.googleapis.com/projects/*/locations/*/services/`. The location of the resources must match the location of the ExpressLink (unless the ExpressLink is global).
+          "A String",
+        ],
+      },
+      "updateTime": "A String", # Output only. The timestamp when the resource was updated.
+    },
+  ],
+  "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.
+  "unreachable": [ # Unordered list. Unreachable resources. Populated when the request attempts to list all resources across all supported locations, while some locations are temporarily unavailable.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ patch(name, body=None, updateMask=None, x__xgafv=None) +
Updates the parameters of a single ExpressLink.
+
+Args:
+  name: string, Identifier. Name of the ExpressLink resource. It matches pattern `projects/*/locations/*/expressLinks/`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # ExpressLink provides automated, zero-friction service-to-service secure connectivity across network boundaries without manual infrastructure configuration toil.
+  "cloudRunSecurityInfo": { # CloudRunSecurityInfo provides security details for Cloud Run to Cloud Run ExpressLinks. # Output only. Cloud Run security information if the ExpressLink destination is a Cloud Run service.
+    "mtlsTier": "A String", # Output only. Identifies the level of mTLS transport security in use.
+    "serverAuthenticationMethods": [ # Output only. The inbound server authentication methods required by the destination Cloud Run service.
+      { # AuthenticationMethod specifies identity type and credential type pair.
+        "credentialType": "A String", # Output only. Credential type supported or used.
+        "identityType": "A String", # Output only. Identity type supported or used.
+      },
+    ],
+  },
+  "cloudRunSourceInfo": { # CloudRunSourceInfo provides observability details for Cloud Run source services. # Output only. Cloud Run source observability details.
+    "workloads": [ # Output only. Observability details for Cloud Run source workloads.
+      { # WorkloadInfo provides observability details for a single Cloud Run source workload.
+        "clientAuthenticationMethods": [ # Output only. The outbound authentication methods the workload is capable of.
+          { # AuthenticationMethod specifies identity type and credential type pair.
+            "credentialType": "A String", # Output only. Credential type supported or used.
+            "identityType": "A String", # Output only. Identity type supported or used.
+          },
+        ],
+        "vpcNetwork": "A String", # Output only. Consumer VPC network resource name.
+        "workloadUri": "A String", # Output only. The URI of the source workload (e.g. Cloud Run revision).
+      },
+    ],
+  },
+  "connectionStatus": [ # Output only. The connection status and negotiated parameters.
+    { # ConnectionStatus details the resolved state, error status, and negotiated configuration of the ExpressLink resource.
+      "credentialType": "A String", # Output only. The negotiated credential type.
+      "error": "A String", # Output only. Code representing the type of error encountered.
+      "errorMessage": "A String", # Output only. Detailed error message explaining the binding failure.
+      "hostnames": [ # Output only. The list of hostnames that will route to this destination.
+        { # HostnameInfo provides details about a hostname that routes to this destination.
+          "hostname": "A String", # Output only. The hostname string.
+        },
+      ],
+      "routeType": "A String", # Output only. The route type of the connection (e.g. HTTP).
+      "workloadUri": "A String", # Output only. The URI of the source workload this status applies to.
+    },
+  ],
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "description": "A String", # Optional. A free-text description of the resource. Max length 1024 characters.
+  "destination": { # The destination of the traffic. This defines the service that the source wants to connect to. # Optional. The destination service(s) for this binding.
+    "services": [ # Optional. The service URIs to which the ExpressLink resource is bound. Can be one of the following (all the service URIs should have the same type): `//compute.googleapis.com/projects/*/regions/*/serviceAttachments/`; `//compute.googleapis.com/projects/*/regions/*/forwardingRules/`; `//run.googleapis.com/projects/*/locations/*/services/`.
+      "A String",
+    ],
+  },
+  "etag": "A String", # Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
+  "forwardingRuleInfo": { # ForwardingRuleInfo provides operational details when the ExpressLink destination is a Forwarding Rule. # Output only. Forwarding Rule information if the ExpressLink destination is a Forwarding Rule.
+    "ipAddress": "A String", # Output only. The IP address of the forwarding rule.
+    "port": "A String", # Output only. The port or port range of the forwarding rule.
+  },
+  "labels": { # Optional. Set of label tags associated with the ExpressLink resource.
+    "a_key": "A String",
+  },
+  "matches": [ # Optional. A list of matches define conditions used to match requests to destination services. Each match is independent with the OR semantic, i.e. we consider it matched if ANY one of the matches is satisfied. If an ExpressLink has only one Cloud Run service, Match is optional. If not specified, only the default hostname `-..run.app` can be used. If an ExpressLink has multiple Cloud Run services, at least one Match with valid hostname is required.
+    { # Match defines the predicate used to match requests to destination services.
+      "hostname": "A String", # Optional. Specifies the hostname to match against the HTTP request host header. Hostname is the fully qualified domain name of a network host, as defined by RFC1123 with the exception that: - IPs are not allowed. - Wildcard labels (`*.`) are not allowed. Hostname must be "precise" which is a domain name without the terminating dot of a network host (e.g. `foo.example.com`). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed.
+    },
+  ],
+  "name": "A String", # Identifier. Name of the ExpressLink resource. It matches pattern `projects/*/locations/*/expressLinks/`.
+  "pscEndpointInfo": { # Private Service Connect (PSC) endpoint information populated in the Get API responses if the ExpressLink resource is bound to a PSC service. # Output only. Private Service Connect (PSC) endpoint information if the ExpressLink destination is a PSC service.
+    "pscEndpoints": [ # Output only. A list of PSC endpoints mapped to the PSC producer service.
+      { # Private Service Connect (PSC) endpoint details.
+        "allowGlobalAccess": True or False, # Output only. Whether the PSC endpoint is accessible from all regions.
+        "forwardingRule": "A String", # Output only. The ForwardingRule resource name of the PSC endpoint. Should match the pattern: `projects/*/regions/*/forwardingRules/`.
+        "pscEndpointAddress": "A String", # Output only. The IP address of the PSC endpoint.
+        "vpcNetwork": "A String", # Output only. The resource name of the consumer VPC network. Should match the pattern: `projects/*/global/networks/`.
+      },
+    ],
+  },
+  "source": { # The source of the traffic. This defines where the connection originates from. # Optional. The source service(s) for this binding.
+    "services": [ # Optional. A list of resources attached to the ExpressLink. The resources can be Cloud Run services of the format: `//run.googleapis.com/projects/*/locations/*/services/`. The location of the resources must match the location of the ExpressLink (unless the ExpressLink is global).
+      "A String",
+    ],
+  },
+  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
+}
+
+  updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the ExpressLink resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/networkservices_v1beta1.projects.locations.html b/docs/dyn/networkservices_v1beta1.projects.locations.html index 813b53072b..b966bd7c4f 100644 --- a/docs/dyn/networkservices_v1beta1.projects.locations.html +++ b/docs/dyn/networkservices_v1beta1.projects.locations.html @@ -99,6 +99,11 @@

Instance Methods

Returns the endpointPolicies Resource.

+

+ expressLinks() +

+

Returns the expressLinks Resource.

+

extensionBindings()

diff --git a/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json b/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json index 1b96606d94..72aa7f1b04 100644 --- a/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json @@ -1110,6 +1110,198 @@ } } }, +"expressLinks": { +"methods": { +"create": { +"description": "Creates a new ExpressLink in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/expressLinks", +"httpMethod": "POST", +"id": "networkservices.projects.locations.expressLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"expressLinkId": { +"description": "Required. Short name of the ExpressLink resource to be created.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the ExpressLink. Must be in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/expressLinks", +"request": { +"$ref": "ExpressLink" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single ExpressLink.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/expressLinks/{expressLinksId}", +"httpMethod": "DELETE", +"id": "networkservices.projects.locations.expressLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the ExpressLink to delete.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. A name of the ExpressLink to delete. Must be in the format `projects/*/locations/*/expressLinks/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/expressLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single ExpressLink.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/expressLinks/{expressLinksId}", +"httpMethod": "GET", +"id": "networkservices.projects.locations.expressLinks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. A name of the ExpressLink to get. Must be in the format `projects/*/locations/*/expressLinks/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/expressLinks/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Determines the information level of the ExpressLink resource returned in the API response.", +"enum": [ +"EXPRESS_LINK_VIEW_UNSPECIFIED", +"EXPRESS_LINK_VIEW_BASIC", +"EXPRESS_LINK_VIEW_FULL" +], +"enumDescriptions": [ +"The unset value. The API will default to `EXPRESS_LINK_VIEW_BASIC`.", +"Includes the configuration of an ExpressLink resource, but not the debug information (e.g. PSC endpoints) of the bound service. This is the default value for the Get and List APIs.", +"Includes the configuration of an ExpressLink resource and all the debug information (e.g. PSC endpoints) of the bound service. This is available only for the Get API." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "ExpressLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ExpressLinks in a given project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/expressLinks", +"httpMethod": "GET", +"id": "networkservices.projects.locations.expressLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of ExpressLinks to return per call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListExpressLinksResponse` Indicates that this is a continuation of a prior `ListExpressLinks` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location from which the ExpressLinks should be listed, specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. Determines the information level of the ExpressLink resources returned in the API response.", +"enum": [ +"EXPRESS_LINK_VIEW_UNSPECIFIED", +"EXPRESS_LINK_VIEW_BASIC", +"EXPRESS_LINK_VIEW_FULL" +], +"enumDescriptions": [ +"The unset value. The API will default to `EXPRESS_LINK_VIEW_BASIC`.", +"Includes the configuration of an ExpressLink resource, but not the debug information (e.g. PSC endpoints) of the bound service. This is the default value for the Get and List APIs.", +"Includes the configuration of an ExpressLink resource and all the debug information (e.g. PSC endpoints) of the bound service. This is available only for the Get API." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/expressLinks", +"response": { +"$ref": "ListExpressLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single ExpressLink.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/expressLinks/{expressLinksId}", +"httpMethod": "PATCH", +"id": "networkservices.projects.locations.expressLinks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the ExpressLink resource. It matches pattern `projects/*/locations/*/expressLinks/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/expressLinks/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask is used to specify the fields to be overwritten in the ExpressLink resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "ExpressLink" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "extensionBindings": { "methods": { "create": { @@ -4165,7 +4357,7 @@ } } }, -"revision": "20261027", +"revision": "20261101", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AgentConnectivityTemplate": { @@ -4809,6 +5001,392 @@ }, "type": "object" }, +"ExpressLink": { +"description": "ExpressLink provides automated, zero-friction service-to-service secure connectivity across network boundaries without manual infrastructure configuration toil.", +"id": "ExpressLink", +"properties": { +"cloudRunSecurityInfo": { +"$ref": "ExpressLinkCloudRunSecurityInfo", +"description": "Output only. Cloud Run security information if the ExpressLink destination is a Cloud Run service.", +"readOnly": true +}, +"cloudRunSourceInfo": { +"$ref": "ExpressLinkCloudRunSourceInfo", +"description": "Output only. Cloud Run source observability details.", +"readOnly": true +}, +"connectionStatus": { +"description": "Output only. The connection status and negotiated parameters.", +"items": { +"$ref": "ExpressLinkConnectionStatus" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. A free-text description of the resource. Max length 1024 characters.", +"type": "string" +}, +"destination": { +"$ref": "ExpressLinkDestination", +"description": "Optional. The destination service(s) for this binding." +}, +"etag": { +"description": "Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.", +"type": "string" +}, +"forwardingRuleInfo": { +"$ref": "ExpressLinkForwardingRuleInfo", +"description": "Output only. Forwarding Rule information if the ExpressLink destination is a Forwarding Rule.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Set of label tags associated with the ExpressLink resource.", +"type": "object" +}, +"matches": { +"description": "Optional. A list of matches define conditions used to match requests to destination services. Each match is independent with the OR semantic, i.e. we consider it matched if ANY one of the matches is satisfied. If an ExpressLink has only one Cloud Run service, Match is optional. If not specified, only the default hostname `-..run.app` can be used. If an ExpressLink has multiple Cloud Run services, at least one Match with valid hostname is required.", +"items": { +"$ref": "ExpressLinkMatch" +}, +"type": "array" +}, +"name": { +"description": "Identifier. Name of the ExpressLink resource. It matches pattern `projects/*/locations/*/expressLinks/`.", +"type": "string" +}, +"pscEndpointInfo": { +"$ref": "ExpressLinkPscEndpointInfo", +"description": "Output only. Private Service Connect (PSC) endpoint information if the ExpressLink destination is a PSC service.", +"readOnly": true +}, +"source": { +"$ref": "ExpressLinkSource", +"description": "Optional. The source service(s) for this binding." +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExpressLinkAuthenticationMethod": { +"description": "AuthenticationMethod specifies identity type and credential type pair.", +"id": "ExpressLinkAuthenticationMethod", +"properties": { +"credentialType": { +"description": "Output only. Credential type supported or used.", +"enum": [ +"CREDENTIAL_TYPE_UNSPECIFIED", +"GCP_ACCESS_TOKEN", +"JWT", +"BOUND_GCP_ACCESS_TOKEN", +"BOUND_JWT", +"MTLS" +], +"enumDescriptions": [ +"Unspecified credential type.", +"Google Cloud Access Token credential.", +"JSON Web Token credential.", +"Bound Google Cloud Access Token credential.", +"Bound JSON Web Token credential.", +"Mutual TLS credential." +], +"readOnly": true, +"type": "string" +}, +"identityType": { +"description": "Output only. Identity type supported or used.", +"enum": [ +"IDENTITY_TYPE_UNSPECIFIED", +"SERVICE_ACCOUNT", +"AGENT_IDENTITY", +"WORKLOAD_IDENTITY", +"OAUTH" +], +"enumDescriptions": [ +"Unspecified identity type.", +"Service Account identity.", +"Agent identity.", +"Workload identity.", +"OAuth identity." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExpressLinkCloudRunSecurityInfo": { +"description": "CloudRunSecurityInfo provides security details for Cloud Run to Cloud Run ExpressLinks.", +"id": "ExpressLinkCloudRunSecurityInfo", +"properties": { +"mtlsTier": { +"description": "Output only. Identifies the level of mTLS transport security in use.", +"enum": [ +"MTLS_TIER_UNSPECIFIED", +"STRICT", +"PERMISSIVE" +], +"enumDescriptions": [ +"Unspecified mTLS tier.", +"Strict mTLS transport security.", +"Permissive mTLS transport security." +], +"readOnly": true, +"type": "string" +}, +"serverAuthenticationMethods": { +"description": "Output only. The inbound server authentication methods required by the destination Cloud Run service.", +"items": { +"$ref": "ExpressLinkAuthenticationMethod" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ExpressLinkCloudRunSourceInfo": { +"description": "CloudRunSourceInfo provides observability details for Cloud Run source services.", +"id": "ExpressLinkCloudRunSourceInfo", +"properties": { +"workloads": { +"description": "Output only. Observability details for Cloud Run source workloads.", +"items": { +"$ref": "ExpressLinkCloudRunSourceInfoWorkloadInfo" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ExpressLinkCloudRunSourceInfoWorkloadInfo": { +"description": "WorkloadInfo provides observability details for a single Cloud Run source workload.", +"id": "ExpressLinkCloudRunSourceInfoWorkloadInfo", +"properties": { +"clientAuthenticationMethods": { +"description": "Output only. The outbound authentication methods the workload is capable of.", +"items": { +"$ref": "ExpressLinkAuthenticationMethod" +}, +"readOnly": true, +"type": "array" +}, +"vpcNetwork": { +"description": "Output only. Consumer VPC network resource name.", +"readOnly": true, +"type": "string" +}, +"workloadUri": { +"description": "Output only. The URI of the source workload (e.g. Cloud Run revision).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExpressLinkConnectionStatus": { +"description": "ConnectionStatus details the resolved state, error status, and negotiated configuration of the ExpressLink resource.", +"id": "ExpressLinkConnectionStatus", +"properties": { +"credentialType": { +"description": "Output only. The negotiated credential type.", +"enum": [ +"CREDENTIAL_TYPE_UNSPECIFIED", +"GCP_ACCESS_TOKEN", +"JWT", +"BOUND_GCP_ACCESS_TOKEN", +"BOUND_JWT", +"MTLS" +], +"enumDescriptions": [ +"Unspecified credential type.", +"Google Cloud Access Token credential.", +"JSON Web Token credential.", +"Bound Google Cloud Access Token credential.", +"Bound JSON Web Token credential.", +"Mutual TLS credential." +], +"readOnly": true, +"type": "string" +}, +"error": { +"description": "Output only. Code representing the type of error encountered.", +"enum": [ +"CODE_UNSPECIFIED", +"NOT_FOUND", +"PARTIAL_RESOLUTION_ERROR" +], +"enumDescriptions": [ +"Unspecified error code.", +"The destination service or required endpoint was not found.", +"Partial failure: some destination services were resolved, but others failed." +], +"readOnly": true, +"type": "string" +}, +"errorMessage": { +"description": "Output only. Detailed error message explaining the binding failure.", +"readOnly": true, +"type": "string" +}, +"hostnames": { +"description": "Output only. The list of hostnames that will route to this destination.", +"items": { +"$ref": "ExpressLinkConnectionStatusHostnameInfo" +}, +"readOnly": true, +"type": "array" +}, +"routeType": { +"description": "Output only. The route type of the connection (e.g. HTTP).", +"enum": [ +"ROUTE_TYPE_UNSPECIFIED", +"HTTP", +"TCP", +"GRPC" +], +"enumDescriptions": [ +"Unspecified route type.", +"HTTP route type.", +"TCP route type.", +"GRPC route type." +], +"readOnly": true, +"type": "string" +}, +"workloadUri": { +"description": "Output only. The URI of the source workload this status applies to.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExpressLinkConnectionStatusHostnameInfo": { +"description": "HostnameInfo provides details about a hostname that routes to this destination.", +"id": "ExpressLinkConnectionStatusHostnameInfo", +"properties": { +"hostname": { +"description": "Output only. The hostname string.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExpressLinkDestination": { +"description": "The destination of the traffic. This defines the service that the source wants to connect to.", +"id": "ExpressLinkDestination", +"properties": { +"services": { +"description": "Optional. The service URIs to which the ExpressLink resource is bound. Can be one of the following (all the service URIs should have the same type): `//compute.googleapis.com/projects/*/regions/*/serviceAttachments/`; `//compute.googleapis.com/projects/*/regions/*/forwardingRules/`; `//run.googleapis.com/projects/*/locations/*/services/`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExpressLinkForwardingRuleInfo": { +"description": "ForwardingRuleInfo provides operational details when the ExpressLink destination is a Forwarding Rule.", +"id": "ExpressLinkForwardingRuleInfo", +"properties": { +"ipAddress": { +"description": "Output only. The IP address of the forwarding rule.", +"readOnly": true, +"type": "string" +}, +"port": { +"description": "Output only. The port or port range of the forwarding rule.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExpressLinkMatch": { +"description": "Match defines the predicate used to match requests to destination services.", +"id": "ExpressLinkMatch", +"properties": { +"hostname": { +"description": "Optional. Specifies the hostname to match against the HTTP request host header. Hostname is the fully qualified domain name of a network host, as defined by RFC1123 with the exception that: - IPs are not allowed. - Wildcard labels (`*.`) are not allowed. Hostname must be \"precise\" which is a domain name without the terminating dot of a network host (e.g. `foo.example.com`). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed.", +"type": "string" +} +}, +"type": "object" +}, +"ExpressLinkPscEndpointInfo": { +"description": "Private Service Connect (PSC) endpoint information populated in the Get API responses if the ExpressLink resource is bound to a PSC service.", +"id": "ExpressLinkPscEndpointInfo", +"properties": { +"pscEndpoints": { +"description": "Output only. A list of PSC endpoints mapped to the PSC producer service.", +"items": { +"$ref": "ExpressLinkPscEndpointInfoPscEndpoint" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ExpressLinkPscEndpointInfoPscEndpoint": { +"description": "Private Service Connect (PSC) endpoint details.", +"id": "ExpressLinkPscEndpointInfoPscEndpoint", +"properties": { +"allowGlobalAccess": { +"description": "Output only. Whether the PSC endpoint is accessible from all regions.", +"readOnly": true, +"type": "boolean" +}, +"forwardingRule": { +"description": "Output only. The ForwardingRule resource name of the PSC endpoint. Should match the pattern: `projects/*/regions/*/forwardingRules/`.", +"readOnly": true, +"type": "string" +}, +"pscEndpointAddress": { +"description": "Output only. The IP address of the PSC endpoint.", +"readOnly": true, +"type": "string" +}, +"vpcNetwork": { +"description": "Output only. The resource name of the consumer VPC network. Should match the pattern: `projects/*/global/networks/`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ExpressLinkSource": { +"description": "The source of the traffic. This defines where the connection originates from.", +"id": "ExpressLinkSource", +"properties": { +"services": { +"description": "Optional. A list of resources attached to the ExpressLink. The resources can be Cloud Run services of the format: `//run.googleapis.com/projects/*/locations/*/services/`. The location of the resources must match the location of the ExpressLink (unless the ExpressLink is global).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ExtensionBinding": { "description": "`ExtensionBinding` is a resource representing the attachment of an extension to a service.", "id": "ExtensionBinding", @@ -6604,6 +7182,31 @@ }, "type": "object" }, +"ListExpressLinksResponse": { +"description": "Response returned by the ListExpressLinks method.", +"id": "ListExpressLinksResponse", +"properties": { +"expressLinks": { +"description": "List of ExpressLink resources.", +"items": { +"$ref": "ExpressLink" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", +"type": "string" +}, +"unreachable": { +"description": "Unordered list. Unreachable resources. Populated when the request attempts to list all resources across all supported locations, while some locations are temporarily unavailable.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ListExtensionBindingsResponse": { "description": "Response returned by the `ListExtensionBindings` method.", "id": "ListExtensionBindingsResponse", From 8c754bd508214c4928bd92cbe342548ed1b384be Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 44/57] feat(observability): update the api #### observability:v1 The following keys were added: - resources.projects.resources.locations.resources.buckets.methods.reprovision (Total Keys: 12) - schemas.ReprovisionBucketRequest (Total Keys: 2) --- ...ability_v1.projects.locations.buckets.html | 44 +++++++++++++++++++ .../documents/observability.v1.json | 36 ++++++++++++++- 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/docs/dyn/observability_v1.projects.locations.buckets.html b/docs/dyn/observability_v1.projects.locations.buckets.html index b8a4cc9de6..2be771ce75 100644 --- a/docs/dyn/observability_v1.projects.locations.buckets.html +++ b/docs/dyn/observability_v1.projects.locations.buckets.html @@ -97,6 +97,9 @@

Instance Methods

patch(name, body=None, updateMask=None, x__xgafv=None)

Update a bucket.

+

+ reprovision(name, body=None, x__xgafv=None)

+

Initiates reprovisioning of a bucket. This is allowed only a single time for a bucket and results in data loss. Subsequent calls to this method for the same bucket will result in a FAILED_PRECONDITION (400 Bad Request) error.

Method Details

close() @@ -293,4 +296,45 @@

Method Details

}
+
+ reprovision(name, body=None, x__xgafv=None) +
Initiates reprovisioning of a bucket. This is allowed only a single time for a bucket and results in data loss. Subsequent calls to this method for the same bucket will result in a FAILED_PRECONDITION (400 Bad Request) error.
+
+Args:
+  name: string, Required. Name of the bucket to reprovision. The format is: projects/[PROJECT_ID]/locations/[LOCATION]/buckets/[BUCKET_ID] (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for reprovisioning a bucket, replaces configuration with that of the configured Observability settings.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/observability.v1.json b/googleapiclient/discovery_cache/documents/observability.v1.json index 353c8354f0..5654ce9958 100644 --- a/googleapiclient/discovery_cache/documents/observability.v1.json +++ b/googleapiclient/discovery_cache/documents/observability.v1.json @@ -1141,6 +1141,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"reprovision": { +"description": "Initiates reprovisioning of a bucket. This is allowed only a single time for a bucket and results in data loss. Subsequent calls to this method for the same bucket will result in a FAILED_PRECONDITION (400 Bad Request) error.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}:reprovision", +"httpMethod": "POST", +"id": "observability.projects.locations.buckets.reprovision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the bucket to reprovision. The format is: projects/[PROJECT_ID]/locations/[LOCATION]/buckets/[BUCKET_ID]", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:reprovision", +"request": { +"$ref": "ReprovisionBucketRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } }, "resources": { @@ -1793,7 +1821,7 @@ } } }, -"revision": "20261022", +"revision": "20261029", "rootUrl": "https://observability.googleapis.com/", "schemas": { "Bucket": { @@ -2184,6 +2212,12 @@ }, "type": "object" }, +"ReprovisionBucketRequest": { +"description": "Request for reprovisioning a bucket, replaces configuration with that of the configured Observability settings.", +"id": "ReprovisionBucketRequest", +"properties": {}, +"type": "object" +}, "Scope": { "description": "Message describing Scope object", "id": "Scope", From fde8735d32aecc6e232449cf446641818857e9c8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 45/57] feat(ondemandscanning): update the api #### ondemandscanning:v1 The following keys were added: - schemas.GrafeasV1LayerAttribute (Total Keys: 4) - schemas.GrafeasV1LayerDetails.properties.attributes (Total Keys: 2) #### ondemandscanning:v1beta1 The following keys were added: - schemas.GrafeasV1LayerAttribute (Total Keys: 4) - schemas.GrafeasV1LayerDetails.properties.attributes (Total Keys: 2) --- ...jects.locations.scans.vulnerabilities.html | 12 ++++++++++ ...jects.locations.scans.vulnerabilities.html | 12 ++++++++++ .../documents/ondemandscanning.v1.json | 24 ++++++++++++++++++- .../documents/ondemandscanning.v1beta1.json | 24 ++++++++++++++++++- 4 files changed, 70 insertions(+), 2 deletions(-) diff --git a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html index fd29c19970..b887ff825e 100644 --- a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html +++ b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html @@ -834,6 +834,12 @@

Method Details

"fileLocation": { # Indicates the location at which a package was found. # The secret is found from a file. "filePath": "A String", # For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file. "layerDetails": { # Details about the layer a package was found in. # Each package found in a file should have its own layer metadata (that is, information from the origin layer of the package). + "attributes": [ # Attributes that apply to the layer, such as buildpacks metadata. + { # LayerAttribute represents a single attribute (such as a tag) that applies to a layer, along with the plugin that generated it. + "plugin": "A String", # The name of the plugin that generated this attribute. + "value": "A String", # The value of the attribute, with a meaning defined by the plugin. + }, + ], "baseImages": [ # The base images the layer is found within. { # BaseImage describes a base image of a container image. "layerCount": 42, # The number of layers that the base image is composed of. @@ -1016,6 +1022,12 @@

Method Details

{ # Indicates the location at which a package was found. "filePath": "A String", # For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file. "layerDetails": { # Details about the layer a package was found in. # Each package found in a file should have its own layer metadata (that is, information from the origin layer of the package). + "attributes": [ # Attributes that apply to the layer, such as buildpacks metadata. + { # LayerAttribute represents a single attribute (such as a tag) that applies to a layer, along with the plugin that generated it. + "plugin": "A String", # The name of the plugin that generated this attribute. + "value": "A String", # The value of the attribute, with a meaning defined by the plugin. + }, + ], "baseImages": [ # The base images the layer is found within. { # BaseImage describes a base image of a container image. "layerCount": 42, # The number of layers that the base image is composed of. diff --git a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html index 09b8e10af7..45d00537ba 100644 --- a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html +++ b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html @@ -834,6 +834,12 @@

Method Details

"fileLocation": { # Indicates the location at which a package was found. # The secret is found from a file. "filePath": "A String", # For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file. "layerDetails": { # Details about the layer a package was found in. # Each package found in a file should have its own layer metadata (that is, information from the origin layer of the package). + "attributes": [ # Attributes that apply to the layer, such as buildpacks metadata. + { # LayerAttribute represents a single attribute (such as a tag) that applies to a layer, along with the plugin that generated it. + "plugin": "A String", # The name of the plugin that generated this attribute. + "value": "A String", # The value of the attribute, with a meaning defined by the plugin. + }, + ], "baseImages": [ # The base images the layer is found within. { # BaseImage describes a base image of a container image. "layerCount": 42, # The number of layers that the base image is composed of. @@ -1016,6 +1022,12 @@

Method Details

{ # Indicates the location at which a package was found. "filePath": "A String", # For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file. "layerDetails": { # Details about the layer a package was found in. # Each package found in a file should have its own layer metadata (that is, information from the origin layer of the package). + "attributes": [ # Attributes that apply to the layer, such as buildpacks metadata. + { # LayerAttribute represents a single attribute (such as a tag) that applies to a layer, along with the plugin that generated it. + "plugin": "A String", # The name of the plugin that generated this attribute. + "value": "A String", # The value of the attribute, with a meaning defined by the plugin. + }, + ], "baseImages": [ # The base images the layer is found within. { # BaseImage describes a base image of a container image. "layerCount": 42, # The number of layers that the base image is composed of. diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json index b2115365ec..770bde587a 100644 --- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json +++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json @@ -344,7 +344,7 @@ } } }, -"revision": "20261023", +"revision": "20261030", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AISkillAnalysisOccurrence": { @@ -1739,10 +1739,32 @@ }, "type": "object" }, +"GrafeasV1LayerAttribute": { +"description": "LayerAttribute represents a single attribute (such as a tag) that applies to a layer, along with the plugin that generated it.", +"id": "GrafeasV1LayerAttribute", +"properties": { +"plugin": { +"description": "The name of the plugin that generated this attribute.", +"type": "string" +}, +"value": { +"description": "The value of the attribute, with a meaning defined by the plugin.", +"type": "string" +} +}, +"type": "object" +}, "GrafeasV1LayerDetails": { "description": "Details about the layer a package was found in.", "id": "GrafeasV1LayerDetails", "properties": { +"attributes": { +"description": "Attributes that apply to the layer, such as buildpacks metadata.", +"items": { +"$ref": "GrafeasV1LayerAttribute" +}, +"type": "array" +}, "baseImages": { "description": "The base images the layer is found within.", "items": { diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json index 2e59ca52ed..f36c8870e7 100644 --- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json @@ -344,7 +344,7 @@ } } }, -"revision": "20261023", +"revision": "20261030", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AISkillAnalysisOccurrence": { @@ -1734,10 +1734,32 @@ }, "type": "object" }, +"GrafeasV1LayerAttribute": { +"description": "LayerAttribute represents a single attribute (such as a tag) that applies to a layer, along with the plugin that generated it.", +"id": "GrafeasV1LayerAttribute", +"properties": { +"plugin": { +"description": "The name of the plugin that generated this attribute.", +"type": "string" +}, +"value": { +"description": "The value of the attribute, with a meaning defined by the plugin.", +"type": "string" +} +}, +"type": "object" +}, "GrafeasV1LayerDetails": { "description": "Details about the layer a package was found in.", "id": "GrafeasV1LayerDetails", "properties": { +"attributes": { +"description": "Attributes that apply to the layer, such as buildpacks metadata.", +"items": { +"$ref": "GrafeasV1LayerAttribute" +}, +"type": "array" +}, "baseImages": { "description": "The base images the layer is found within.", "items": { From abb6edc7b5451f626bdbeb8cc795752feb2ca5fe Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 46/57] feat(oracledatabase): update the api #### oracledatabase:v1 The following keys were added: - resources.projects.resources.locations.resources.cloudVmClusters.methods.disableIdentityConnector (Total Keys: 12) - resources.projects.resources.locations.resources.cloudVmClusters.methods.enableIdentityConnector (Total Keys: 12) - resources.projects.resources.locations.resources.dbSystemComputePerformances.methods.list (Total Keys: 18) - resources.projects.resources.locations.resources.exadbVmClusters.methods.disableIdentityConnector (Total Keys: 12) - resources.projects.resources.locations.resources.exadbVmClusters.methods.enableIdentityConnector (Total Keys: 12) - resources.projects.resources.locations.resources.flexComponents.methods.list (Total Keys: 18) - schemas.CloudVmCluster.properties.identityConnectorDisabled.type (Total Keys: 1) - schemas.ComputePerformance (Total Keys: 13) - schemas.DbSystemComputePerformance (Total Keys: 8) - schemas.DisableCloudVmClusterIdentityConnectorRequest (Total Keys: 2) - schemas.DisableExadbVmClusterIdentityConnectorRequest (Total Keys: 2) - schemas.EnableCloudVmClusterIdentityConnectorRequest (Total Keys: 2) - schemas.EnableExadbVmClusterIdentityConnectorRequest (Total Keys: 2) - schemas.ExadbVmCluster.properties.identityConnectorDisabled.type (Total Keys: 1) - schemas.FlexComponent (Total Keys: 33) - schemas.IdentityConnector.properties.identityConnectorId (Total Keys: 2) - schemas.IdentityConnector.properties.lifecycleStateDetails (Total Keys: 2) - schemas.IdentityConnector.properties.workloadIdentityPool (Total Keys: 2) - schemas.ListDbSystemComputePerformancesResponse (Total Keys: 7) - schemas.ListFlexComponentsResponse (Total Keys: 7) --- ...v1.projects.locations.cloudVmClusters.html | 104 ++++ ...locations.dbSystemComputePerformances.html | 145 ++++++ ...v1.projects.locations.exadbVmClusters.html | 104 ++++ ..._v1.projects.locations.flexComponents.html | 149 ++++++ .../oracledatabase_v1.projects.locations.html | 10 + ...ase_v1.projects.locations.odbNetworks.html | 16 +- .../documents/oracledatabase.v1.json | 473 +++++++++++++++++- 7 files changed, 990 insertions(+), 11 deletions(-) create mode 100644 docs/dyn/oracledatabase_v1.projects.locations.dbSystemComputePerformances.html create mode 100644 docs/dyn/oracledatabase_v1.projects.locations.flexComponents.html diff --git a/docs/dyn/oracledatabase_v1.projects.locations.cloudVmClusters.html b/docs/dyn/oracledatabase_v1.projects.locations.cloudVmClusters.html index 6d0554c8c1..8961bcca82 100644 --- a/docs/dyn/oracledatabase_v1.projects.locations.cloudVmClusters.html +++ b/docs/dyn/oracledatabase_v1.projects.locations.cloudVmClusters.html @@ -88,6 +88,12 @@

Instance Methods

delete(name, force=None, requestId=None, x__xgafv=None)

Deletes a single VM Cluster.

+

+ disableIdentityConnector(name, body=None, x__xgafv=None)

+

Disables the Workload Identity Connector for a Cloud VM Cluster.

+

+ enableIdentityConnector(name, body=None, x__xgafv=None)

+

Enables the Workload Identity Connector for a Cloud VM Cluster.

get(name, x__xgafv=None)

Gets details of a single VM Cluster.

@@ -126,8 +132,12 @@

Method Details

"gcpOracleZone": "A String", # Output only. The GCP Oracle zone where Oracle CloudVmCluster is hosted. This will be the same as the gcp_oracle_zone of the CloudExadataInfrastructure. Example: us-east4-b-r2. "identityConnector": { # The identity connector details which will allow OCI to securely access the resources in the customer project. # Output only. The identity connector details which will allow OCI to securely access the resources in the customer project. "connectionState": "A String", # Output only. The connection state of the identity connector. + "identityConnectorId": "A String", # Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI). + "lifecycleStateDetails": "A String", # Output only. Additional information about the current lifecycle state. "serviceAgentEmail": "A String", # Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com` + "workloadIdentityPool": "A String", # Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}` }, + "identityConnectorDisabled": True or False, # Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK. "labels": { # Optional. Labels or tags associated with the VM Cluster. "a_key": "A String", }, @@ -257,6 +267,88 @@

Method Details

}
+
+ disableIdentityConnector(name, body=None, x__xgafv=None) +
Disables the Workload Identity Connector for a Cloud VM Cluster.
+
+Args:
+  name: string, Required. The name of the Cloud VM Cluster in the following format: projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for `CloudVmCluster.DisableCloudVmClusterIdentityConnector`.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ enableIdentityConnector(name, body=None, x__xgafv=None) +
Enables the Workload Identity Connector for a Cloud VM Cluster.
+
+Args:
+  name: string, Required. The name of the Cloud VM Cluster in the following format: projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for `CloudVmCluster.EnableCloudVmClusterIdentityConnector`.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+
get(name, x__xgafv=None)
Gets details of a single VM Cluster.
@@ -282,8 +374,12 @@ 

Method Details

"gcpOracleZone": "A String", # Output only. The GCP Oracle zone where Oracle CloudVmCluster is hosted. This will be the same as the gcp_oracle_zone of the CloudExadataInfrastructure. Example: us-east4-b-r2. "identityConnector": { # The identity connector details which will allow OCI to securely access the resources in the customer project. # Output only. The identity connector details which will allow OCI to securely access the resources in the customer project. "connectionState": "A String", # Output only. The connection state of the identity connector. + "identityConnectorId": "A String", # Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI). + "lifecycleStateDetails": "A String", # Output only. Additional information about the current lifecycle state. "serviceAgentEmail": "A String", # Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com` + "workloadIdentityPool": "A String", # Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}` }, + "identityConnectorDisabled": True or False, # Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK. "labels": { # Optional. Labels or tags associated with the VM Cluster. "a_key": "A String", }, @@ -376,8 +472,12 @@

Method Details

"gcpOracleZone": "A String", # Output only. The GCP Oracle zone where Oracle CloudVmCluster is hosted. This will be the same as the gcp_oracle_zone of the CloudExadataInfrastructure. Example: us-east4-b-r2. "identityConnector": { # The identity connector details which will allow OCI to securely access the resources in the customer project. # Output only. The identity connector details which will allow OCI to securely access the resources in the customer project. "connectionState": "A String", # Output only. The connection state of the identity connector. + "identityConnectorId": "A String", # Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI). + "lifecycleStateDetails": "A String", # Output only. Additional information about the current lifecycle state. "serviceAgentEmail": "A String", # Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com` + "workloadIdentityPool": "A String", # Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}` }, + "identityConnectorDisabled": True or False, # Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK. "labels": { # Optional. Labels or tags associated with the VM Cluster. "a_key": "A String", }, @@ -480,8 +580,12 @@

Method Details

"gcpOracleZone": "A String", # Output only. The GCP Oracle zone where Oracle CloudVmCluster is hosted. This will be the same as the gcp_oracle_zone of the CloudExadataInfrastructure. Example: us-east4-b-r2. "identityConnector": { # The identity connector details which will allow OCI to securely access the resources in the customer project. # Output only. The identity connector details which will allow OCI to securely access the resources in the customer project. "connectionState": "A String", # Output only. The connection state of the identity connector. + "identityConnectorId": "A String", # Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI). + "lifecycleStateDetails": "A String", # Output only. Additional information about the current lifecycle state. "serviceAgentEmail": "A String", # Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com` + "workloadIdentityPool": "A String", # Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}` }, + "identityConnectorDisabled": True or False, # Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK. "labels": { # Optional. Labels or tags associated with the VM Cluster. "a_key": "A String", }, diff --git a/docs/dyn/oracledatabase_v1.projects.locations.dbSystemComputePerformances.html b/docs/dyn/oracledatabase_v1.projects.locations.dbSystemComputePerformances.html new file mode 100644 index 0000000000..6d41584e99 --- /dev/null +++ b/docs/dyn/oracledatabase_v1.projects.locations.dbSystemComputePerformances.html @@ -0,0 +1,145 @@ + + + +

Oracle Database@Google Cloud API . projects . locations . dbSystemComputePerformances

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists all the DbSystemComputePerformances for the given project and location.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists all the DbSystemComputePerformances for the given project and location.
+
+Args:
+  parent: string, Required. Parent value for ListDbSystemComputePerformancesRequest Format: projects/{project}/locations/{location} (required)
+  filter: string, Optional. An expression for filtering the results of the request. Only the `db_system_shape` field is supported in the following format: `db_system_shape="{db_system_shape}"`.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing DbSystemComputePerformances
+  "dbSystemComputePerformances": [ # The list of DbSystemComputePerformance.
+    { # Details of the DbSystem compute performance resource.
+      "computePerformances": [ # Output only. List of Compute performance details for the specified DB system shape.
+        { # Parameters detailing the compute performance for a specified DB system shape.
+          "computeCount": 42, # Output only. The number of compute servers for the DB system.
+          "computeModel": "A String", # Output only. The compute model for Base Database Service.
+          "cpuCoreCount": 42, # Output only. The number of CPU cores available.
+          "memoryInGbs": 3.14, # Output only. The amount of memory allocated for the VMDB System in GBs.
+        },
+      ],
+      "name": "A String", # Identifier. The name of the DbSystemComputePerformance resource with the format: projects/{project}/locations/{location}/dbSystemComputePerformances/{db_system_compute_performance}
+      "shape": "A String", # Output only. The shape of the DB system.
+    },
+  ],
+  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+  "unreachable": [ # Unordered list. Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/oracledatabase_v1.projects.locations.exadbVmClusters.html b/docs/dyn/oracledatabase_v1.projects.locations.exadbVmClusters.html index 25ec63e7f9..7d008336c9 100644 --- a/docs/dyn/oracledatabase_v1.projects.locations.exadbVmClusters.html +++ b/docs/dyn/oracledatabase_v1.projects.locations.exadbVmClusters.html @@ -88,6 +88,12 @@

Instance Methods

delete(name, requestId=None, x__xgafv=None)

Deletes a single Exadb (Exascale) VM Cluster.

+

+ disableIdentityConnector(name, body=None, x__xgafv=None)

+

Disables the Workload Identity Connector for an Exadb VM Cluster.

+

+ enableIdentityConnector(name, body=None, x__xgafv=None)

+

Enables the Workload Identity Connector for an Exadb VM Cluster.

get(name, x__xgafv=None)

Gets details of a single Exadb (Exascale) VM Cluster.

@@ -126,8 +132,12 @@

Method Details

"gcpOracleZone": "A String", # Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault. "identityConnector": { # The identity connector details which will allow OCI to securely access the resources in the customer project. # Output only. The identity connector details which will allow OCI to securely access the resources in the customer project. "connectionState": "A String", # Output only. The connection state of the identity connector. + "identityConnectorId": "A String", # Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI). + "lifecycleStateDetails": "A String", # Output only. Additional information about the current lifecycle state. "serviceAgentEmail": "A String", # Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com` + "workloadIdentityPool": "A String", # Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}` }, + "identityConnectorDisabled": True or False, # Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK. "labels": { # Optional. The labels or tags associated with the ExadbVmCluster. "a_key": "A String", }, @@ -235,6 +245,88 @@

Method Details

}
+
+ disableIdentityConnector(name, body=None, x__xgafv=None) +
Disables the Workload Identity Connector for an Exadb VM Cluster.
+
+Args:
+  name: string, Required. The name of the Exadb VM Cluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for `ExadbVmCluster.DisableExadbVmClusterIdentityConnector`.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ enableIdentityConnector(name, body=None, x__xgafv=None) +
Enables the Workload Identity Connector for an Exadb VM Cluster.
+
+Args:
+  name: string, Required. The name of the Exadb VM Cluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for `ExadbVmCluster.EnableExadbVmClusterIdentityConnector`.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+
get(name, x__xgafv=None)
Gets details of a single Exadb (Exascale) VM Cluster.
@@ -257,8 +349,12 @@ 

Method Details

"gcpOracleZone": "A String", # Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault. "identityConnector": { # The identity connector details which will allow OCI to securely access the resources in the customer project. # Output only. The identity connector details which will allow OCI to securely access the resources in the customer project. "connectionState": "A String", # Output only. The connection state of the identity connector. + "identityConnectorId": "A String", # Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI). + "lifecycleStateDetails": "A String", # Output only. Additional information about the current lifecycle state. "serviceAgentEmail": "A String", # Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com` + "workloadIdentityPool": "A String", # Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}` }, + "identityConnectorDisabled": True or False, # Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK. "labels": { # Optional. The labels or tags associated with the ExadbVmCluster. "a_key": "A String", }, @@ -328,8 +424,12 @@

Method Details

"gcpOracleZone": "A String", # Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault. "identityConnector": { # The identity connector details which will allow OCI to securely access the resources in the customer project. # Output only. The identity connector details which will allow OCI to securely access the resources in the customer project. "connectionState": "A String", # Output only. The connection state of the identity connector. + "identityConnectorId": "A String", # Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI). + "lifecycleStateDetails": "A String", # Output only. Additional information about the current lifecycle state. "serviceAgentEmail": "A String", # Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com` + "workloadIdentityPool": "A String", # Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}` }, + "identityConnectorDisabled": True or False, # Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK. "labels": { # Optional. The labels or tags associated with the ExadbVmCluster. "a_key": "A String", }, @@ -408,8 +508,12 @@

Method Details

"gcpOracleZone": "A String", # Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault. "identityConnector": { # The identity connector details which will allow OCI to securely access the resources in the customer project. # Output only. The identity connector details which will allow OCI to securely access the resources in the customer project. "connectionState": "A String", # Output only. The connection state of the identity connector. + "identityConnectorId": "A String", # Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI). + "lifecycleStateDetails": "A String", # Output only. Additional information about the current lifecycle state. "serviceAgentEmail": "A String", # Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com` + "workloadIdentityPool": "A String", # Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}` }, + "identityConnectorDisabled": True or False, # Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK. "labels": { # Optional. The labels or tags associated with the ExadbVmCluster. "a_key": "A String", }, diff --git a/docs/dyn/oracledatabase_v1.projects.locations.flexComponents.html b/docs/dyn/oracledatabase_v1.projects.locations.flexComponents.html new file mode 100644 index 0000000000..e982cfc33b --- /dev/null +++ b/docs/dyn/oracledatabase_v1.projects.locations.flexComponents.html @@ -0,0 +1,149 @@ + + + +

Oracle Database@Google Cloud API . projects . locations . flexComponents

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists Flex Components in a given project and location.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists Flex Components in a given project and location.
+
+Args:
+  parent: string, Required. Parent value for ListFlexComponentsRequest Format: projects/{project}/locations/{location} (required)
+  filter: string, Optional. An expression for filtering the results of the request. Only the `shape` field is supported in the following format: `shape="{shape}"`.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing FlexComponents
+  "flexComponents": [ # The list of FlexComponent
+    { # Details of the Flex Component resource.
+      "name": "A String", # Identifier. Specifies the name of the Flex Component resource with the format: projects/{project}/locations/{region}/flexComponents/{flex_component}
+      "properties": { # The properties of the Flex Component. # Output only. The properties of the Flex Component.
+        "availableCoreCount": 42, # Output only. The maximum number of CPU cores that can be enabled on the DB system for this shape.
+        "availableDbNodeStoragePerNodeGb": 42, # Output only. The maximum storage that can be enabled on the Storage Server for this Flex Component.
+        "availableLocalStorageGb": 42, # Output only. The maximum local storage that can be enabled on the DB Server for this Flex Component.
+        "availableMemoryGb": 42, # Output only. The maximum memory size that can be enabled on the DB Server for this Flex Component.
+        "computeModel": "A String", # Output only. The compute model of the DB Server for this Flex Component.
+        "descriptionSummary": "A String", # Output only. The description summary for this Flex Component.
+        "hardwareType": "A String", # Output only. The hardware type of the DB (Compute) or Storage (Cell) Server for this Flex Component.
+        "minimumCoreCount": 42, # Output only. The minimum number of CPU cores that can be enabled on the DB Server for this Flex Component.
+        "name": "A String", # Output only. The name of the Flex Component used for the DB system.
+        "runtimeMinimumCoreCount": 42, # Output only. The runtime minimum number of CPU cores that can be enabled for this Flex Component.
+        "shape": "A String", # Output only. The name of the DB system shape for this Flex Component.
+      },
+    },
+  ],
+  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+  "unreachable": [ # Unordered list. Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/oracledatabase_v1.projects.locations.html b/docs/dyn/oracledatabase_v1.projects.locations.html index b42eea7eca..1133fe9b1b 100644 --- a/docs/dyn/oracledatabase_v1.projects.locations.html +++ b/docs/dyn/oracledatabase_v1.projects.locations.html @@ -119,6 +119,11 @@

Instance Methods

Returns the databases Resource.

+

+ dbSystemComputePerformances() +

+

Returns the dbSystemComputePerformances Resource.

+

dbSystemInitialStorageSizes()

@@ -154,6 +159,11 @@

Instance Methods

Returns the exascaleDbStorageVaults Resource.

+

+ flexComponents() +

+

Returns the flexComponents Resource.

+

giVersions()

diff --git a/docs/dyn/oracledatabase_v1.projects.locations.odbNetworks.html b/docs/dyn/oracledatabase_v1.projects.locations.odbNetworks.html index 268d61fe28..7622e70bfb 100644 --- a/docs/dyn/oracledatabase_v1.projects.locations.odbNetworks.html +++ b/docs/dyn/oracledatabase_v1.projects.locations.odbNetworks.html @@ -123,12 +123,12 @@

Method Details

{ # Represents OdbNetwork resource. "createTime": "A String", # Output only. The date and time that the OdbNetwork was created. "entitlementId": "A String", # Output only. The ID of the subscription entitlement associated with the OdbNetwork. - "gcpOracleZone": "A String", # Optional. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability. + "gcpOracleZone": "A String", # Optional. Immutable. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability. "labels": { # Optional. Labels or tags associated with the resource. "a_key": "A String", }, "name": "A String", # Identifier. The name of the OdbNetwork resource in the following format: projects/{project}/locations/{region}/odbNetworks/{odb_network} - "network": "A String", # Required. The name of the VPC network in the following format: projects/{project}/global/networks/{network} + "network": "A String", # Required. Immutable. The name of the VPC network in the following format: projects/{project}/global/networks/{network} "reconciling": True or False, # Output only. Indicates whether the OdbNetwork is currently reconciling changes. "serviceConnectivityConfig": { # Configuration to enable the service (Oracledatabase@Google Cloud) to establish connectivity to the database. This should be specified if you intend to associate this OdbNetwork with a DatabaseConnection resource to `ExecuteSQL` on the database, or to create a ServiceIntegration with the Database. Please don't specify it otherwise to avoid complicating the network setup. # Optional. Configuration to enable the service (Oracledatabase@Google Cloud) to establish connectivity to the database. This should be specified if you intend to associate this OdbNetwork with a DatabaseConnection resource to `ExecuteSQL` on the database, or to create a ServiceIntegration with the Database. Please don't specify it otherwise to avoid complicating the network setup. "pscInterfaceConfig": { # Configuration for a Private Service Connect (PSC) interface used by Oracledatabase@Google Cloud to establish private connectivity to the database. # Optional. Configuration for Private Service Connect (PSC) interface. @@ -222,12 +222,12 @@

Method Details

{ # Represents OdbNetwork resource. "createTime": "A String", # Output only. The date and time that the OdbNetwork was created. "entitlementId": "A String", # Output only. The ID of the subscription entitlement associated with the OdbNetwork. - "gcpOracleZone": "A String", # Optional. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability. + "gcpOracleZone": "A String", # Optional. Immutable. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability. "labels": { # Optional. Labels or tags associated with the resource. "a_key": "A String", }, "name": "A String", # Identifier. The name of the OdbNetwork resource in the following format: projects/{project}/locations/{region}/odbNetworks/{odb_network} - "network": "A String", # Required. The name of the VPC network in the following format: projects/{project}/global/networks/{network} + "network": "A String", # Required. Immutable. The name of the VPC network in the following format: projects/{project}/global/networks/{network} "reconciling": True or False, # Output only. Indicates whether the OdbNetwork is currently reconciling changes. "serviceConnectivityConfig": { # Configuration to enable the service (Oracledatabase@Google Cloud) to establish connectivity to the database. This should be specified if you intend to associate this OdbNetwork with a DatabaseConnection resource to `ExecuteSQL` on the database, or to create a ServiceIntegration with the Database. Please don't specify it otherwise to avoid complicating the network setup. # Optional. Configuration to enable the service (Oracledatabase@Google Cloud) to establish connectivity to the database. This should be specified if you intend to associate this OdbNetwork with a DatabaseConnection resource to `ExecuteSQL` on the database, or to create a ServiceIntegration with the Database. Please don't specify it otherwise to avoid complicating the network setup. "pscInterfaceConfig": { # Configuration for a Private Service Connect (PSC) interface used by Oracledatabase@Google Cloud to establish private connectivity to the database. # Optional. Configuration for Private Service Connect (PSC) interface. @@ -262,12 +262,12 @@

Method Details

{ # Represents OdbNetwork resource. "createTime": "A String", # Output only. The date and time that the OdbNetwork was created. "entitlementId": "A String", # Output only. The ID of the subscription entitlement associated with the OdbNetwork. - "gcpOracleZone": "A String", # Optional. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability. + "gcpOracleZone": "A String", # Optional. Immutable. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability. "labels": { # Optional. Labels or tags associated with the resource. "a_key": "A String", }, "name": "A String", # Identifier. The name of the OdbNetwork resource in the following format: projects/{project}/locations/{region}/odbNetworks/{odb_network} - "network": "A String", # Required. The name of the VPC network in the following format: projects/{project}/global/networks/{network} + "network": "A String", # Required. Immutable. The name of the VPC network in the following format: projects/{project}/global/networks/{network} "reconciling": True or False, # Output only. Indicates whether the OdbNetwork is currently reconciling changes. "serviceConnectivityConfig": { # Configuration to enable the service (Oracledatabase@Google Cloud) to establish connectivity to the database. This should be specified if you intend to associate this OdbNetwork with a DatabaseConnection resource to `ExecuteSQL` on the database, or to create a ServiceIntegration with the Database. Please don't specify it otherwise to avoid complicating the network setup. # Optional. Configuration to enable the service (Oracledatabase@Google Cloud) to establish connectivity to the database. This should be specified if you intend to associate this OdbNetwork with a DatabaseConnection resource to `ExecuteSQL` on the database, or to create a ServiceIntegration with the Database. Please don't specify it otherwise to avoid complicating the network setup. "pscInterfaceConfig": { # Configuration for a Private Service Connect (PSC) interface used by Oracledatabase@Google Cloud to establish private connectivity to the database. # Optional. Configuration for Private Service Connect (PSC) interface. @@ -309,12 +309,12 @@

Method Details

{ # Represents OdbNetwork resource. "createTime": "A String", # Output only. The date and time that the OdbNetwork was created. "entitlementId": "A String", # Output only. The ID of the subscription entitlement associated with the OdbNetwork. - "gcpOracleZone": "A String", # Optional. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability. + "gcpOracleZone": "A String", # Optional. Immutable. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability. "labels": { # Optional. Labels or tags associated with the resource. "a_key": "A String", }, "name": "A String", # Identifier. The name of the OdbNetwork resource in the following format: projects/{project}/locations/{region}/odbNetworks/{odb_network} - "network": "A String", # Required. The name of the VPC network in the following format: projects/{project}/global/networks/{network} + "network": "A String", # Required. Immutable. The name of the VPC network in the following format: projects/{project}/global/networks/{network} "reconciling": True or False, # Output only. Indicates whether the OdbNetwork is currently reconciling changes. "serviceConnectivityConfig": { # Configuration to enable the service (Oracledatabase@Google Cloud) to establish connectivity to the database. This should be specified if you intend to associate this OdbNetwork with a DatabaseConnection resource to `ExecuteSQL` on the database, or to create a ServiceIntegration with the Database. Please don't specify it otherwise to avoid complicating the network setup. # Optional. Configuration to enable the service (Oracledatabase@Google Cloud) to establish connectivity to the database. This should be specified if you intend to associate this OdbNetwork with a DatabaseConnection resource to `ExecuteSQL` on the database, or to create a ServiceIntegration with the Database. Please don't specify it otherwise to avoid complicating the network setup. "pscInterfaceConfig": { # Configuration for a Private Service Connect (PSC) interface used by Oracledatabase@Google Cloud to establish private connectivity to the database. # Optional. Configuration for Private Service Connect (PSC) interface. diff --git a/googleapiclient/discovery_cache/documents/oracledatabase.v1.json b/googleapiclient/discovery_cache/documents/oracledatabase.v1.json index cadf70a6c1..abcb487797 100644 --- a/googleapiclient/discovery_cache/documents/oracledatabase.v1.json +++ b/googleapiclient/discovery_cache/documents/oracledatabase.v1.json @@ -1108,6 +1108,62 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"disableIdentityConnector": { +"description": "Disables the Workload Identity Connector for a Cloud VM Cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cloudVmClusters/{cloudVmClustersId}:disableIdentityConnector", +"httpMethod": "POST", +"id": "oracledatabase.projects.locations.cloudVmClusters.disableIdentityConnector", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Cloud VM Cluster in the following format: projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cloudVmClusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:disableIdentityConnector", +"request": { +"$ref": "DisableCloudVmClusterIdentityConnectorRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableIdentityConnector": { +"description": "Enables the Workload Identity Connector for a Cloud VM Cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cloudVmClusters/{cloudVmClustersId}:enableIdentityConnector", +"httpMethod": "POST", +"id": "oracledatabase.projects.locations.cloudVmClusters.enableIdentityConnector", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Cloud VM Cluster in the following format: projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cloudVmClusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:enableIdentityConnector", +"request": { +"$ref": "EnableCloudVmClusterIdentityConnectorRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "get": { "description": "Gets details of a single VM Cluster.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cloudVmClusters/{cloudVmClustersId}", @@ -1610,6 +1666,51 @@ } } }, +"dbSystemComputePerformances": { +"methods": { +"list": { +"description": "Lists all the DbSystemComputePerformances for the given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dbSystemComputePerformances", +"httpMethod": "GET", +"id": "oracledatabase.projects.locations.dbSystemComputePerformances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. Only the `db_system_shape` field is supported in the following format: `db_system_shape=\"{db_system_shape}\"`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListDbSystemComputePerformancesRequest Format: projects/{project}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/dbSystemComputePerformances", +"response": { +"$ref": "ListDbSystemComputePerformancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "dbSystemInitialStorageSizes": { "methods": { "list": { @@ -2032,6 +2133,62 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"disableIdentityConnector": { +"description": "Disables the Workload Identity Connector for an Exadb VM Cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/exadbVmClusters/{exadbVmClustersId}:disableIdentityConnector", +"httpMethod": "POST", +"id": "oracledatabase.projects.locations.exadbVmClusters.disableIdentityConnector", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Exadb VM Cluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exadbVmClusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:disableIdentityConnector", +"request": { +"$ref": "DisableExadbVmClusterIdentityConnectorRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableIdentityConnector": { +"description": "Enables the Workload Identity Connector for an Exadb VM Cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/exadbVmClusters/{exadbVmClustersId}:enableIdentityConnector", +"httpMethod": "POST", +"id": "oracledatabase.projects.locations.exadbVmClusters.enableIdentityConnector", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Exadb VM Cluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/exadbVmClusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:enableIdentityConnector", +"request": { +"$ref": "EnableExadbVmClusterIdentityConnectorRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "get": { "description": "Gets details of a single Exadb (Exascale) VM Cluster.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/exadbVmClusters/{exadbVmClustersId}", @@ -2396,6 +2553,51 @@ } } }, +"flexComponents": { +"methods": { +"list": { +"description": "Lists Flex Components in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/flexComponents", +"httpMethod": "GET", +"id": "oracledatabase.projects.locations.flexComponents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. Only the `shape` field is supported in the following format: `shape=\"{shape}\"`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListFlexComponentsRequest Format: projects/{project}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/flexComponents", +"response": { +"$ref": "ListFlexComponentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "giVersions": { "methods": { "list": { @@ -4010,7 +4212,7 @@ } } }, -"revision": "20261024", +"revision": "20261104", "rootUrl": "https://oracledatabase.googleapis.com/", "schemas": { "AllConnectionStrings": { @@ -5558,6 +5760,10 @@ "description": "Output only. The identity connector details which will allow OCI to securely access the resources in the customer project.", "readOnly": true }, +"identityConnectorDisabled": { +"description": "Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK.", +"type": "boolean" +}, "labels": { "additionalProperties": { "type": "string" @@ -5870,6 +6076,46 @@ }, "type": "object" }, +"ComputePerformance": { +"description": "Parameters detailing the compute performance for a specified DB system shape.", +"id": "ComputePerformance", +"properties": { +"computeCount": { +"description": "Output only. The number of compute servers for the DB system.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"computeModel": { +"description": "Output only. The compute model for Base Database Service.", +"enum": [ +"COMPUTE_MODEL_UNSPECIFIED", +"COMPUTE_MODEL_ECPU", +"COMPUTE_MODEL_OCPU" +], +"enumDescriptions": [ +"Unspecified compute model.", +"Abstract measure of compute resources. ECPUs are based on the number of cores elastically allocated from a pool of compute and storage servers.", +"Physical measure of compute resources. OCPUs are based on the physical core of a processor." +], +"readOnly": true, +"type": "string" +}, +"cpuCoreCount": { +"description": "Output only. The number of CPU cores available.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"memoryInGbs": { +"description": "Output only. The amount of memory allocated for the VMDB System in GBs.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, "ConfigureExascaleCloudExadataInfrastructureRequest": { "description": "The request for `CloudExadataInfrastructure.ConfigureExascale`.", "id": "ConfigureExascaleCloudExadataInfrastructureRequest", @@ -6777,6 +7023,30 @@ }, "type": "object" }, +"DbSystemComputePerformance": { +"description": "Details of the DbSystem compute performance resource.", +"id": "DbSystemComputePerformance", +"properties": { +"computePerformances": { +"description": "Output only. List of Compute performance details for the specified DB system shape.", +"items": { +"$ref": "ComputePerformance" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Identifier. The name of the DbSystemComputePerformance resource with the format: projects/{project}/locations/{location}/dbSystemComputePerformances/{db_system_compute_performance}", +"type": "string" +}, +"shape": { +"description": "Output only. The shape of the DB system.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "DbSystemInitialStorageSize": { "description": "Summary of the DbSystem initial storage size.", "id": "DbSystemInitialStorageSize", @@ -7226,12 +7496,36 @@ true }, "type": "object" }, +"DisableCloudVmClusterIdentityConnectorRequest": { +"description": "The request for `CloudVmCluster.DisableCloudVmClusterIdentityConnector`.", +"id": "DisableCloudVmClusterIdentityConnectorRequest", +"properties": {}, +"type": "object" +}, +"DisableExadbVmClusterIdentityConnectorRequest": { +"description": "The request for `ExadbVmCluster.DisableExadbVmClusterIdentityConnector`.", +"id": "DisableExadbVmClusterIdentityConnectorRequest", +"properties": {}, +"type": "object" +}, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" }, +"EnableCloudVmClusterIdentityConnectorRequest": { +"description": "The request for `CloudVmCluster.EnableCloudVmClusterIdentityConnector`.", +"id": "EnableCloudVmClusterIdentityConnectorRequest", +"properties": {}, +"type": "object" +}, +"EnableExadbVmClusterIdentityConnectorRequest": { +"description": "The request for `ExadbVmCluster.EnableExadbVmClusterIdentityConnector`.", +"id": "EnableExadbVmClusterIdentityConnectorRequest", +"properties": {}, +"type": "object" +}, "EncryptionKey": { "description": "The encryption key used to encrypt the Autonomous Database.", "id": "EncryptionKey", @@ -7349,6 +7643,10 @@ true "description": "Output only. The identity connector details which will allow OCI to securely access the resources in the customer project.", "readOnly": true }, +"identityConnectorDisabled": { +"description": "Optional. Input only. Immutable. If set to true, disables the automatic provisioning of the Workload Identity Connector during creation. If set to false or omitted, the Workload Identity Connector will be automatically provisioned by default. Note: Provisioning the Workload Identity Connector is a prerequisite for enabling Google Cloud CMEK.", +"type": "boolean" +}, "labels": { "additionalProperties": { "type": "string" @@ -7809,6 +8107,110 @@ true }, "type": "object" }, +"FlexComponent": { +"description": "Details of the Flex Component resource.", +"id": "FlexComponent", +"properties": { +"name": { +"description": "Identifier. Specifies the name of the Flex Component resource with the format: projects/{project}/locations/{region}/flexComponents/{flex_component}", +"type": "string" +}, +"properties": { +"$ref": "FlexComponentProperties", +"description": "Output only. The properties of the Flex Component.", +"readOnly": true +} +}, +"type": "object" +}, +"FlexComponentProperties": { +"description": "The properties of the Flex Component.", +"id": "FlexComponentProperties", +"properties": { +"availableCoreCount": { +"description": "Output only. The maximum number of CPU cores that can be enabled on the DB system for this shape.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"availableDbNodeStoragePerNodeGb": { +"description": "Output only. The maximum storage that can be enabled on the Storage Server for this Flex Component.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"availableLocalStorageGb": { +"description": "Output only. The maximum local storage that can be enabled on the DB Server for this Flex Component.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"availableMemoryGb": { +"description": "Output only. The maximum memory size that can be enabled on the DB Server for this Flex Component.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"computeModel": { +"description": "Output only. The compute model of the DB Server for this Flex Component.", +"enum": [ +"COMPUTE_MODEL_UNSPECIFIED", +"COMPUTE_MODEL_ECPU", +"COMPUTE_MODEL_OCPU" +], +"enumDescriptions": [ +"Unspecified compute model.", +"Abstract measure of compute resources. ECPUs are based on the number of cores elastically allocated from a pool of compute and storage servers.", +"Physical measure of compute resources. OCPUs are based on the physical core of a processor." +], +"readOnly": true, +"type": "string" +}, +"descriptionSummary": { +"description": "Output only. The description summary for this Flex Component.", +"readOnly": true, +"type": "string" +}, +"hardwareType": { +"description": "Output only. The hardware type of the DB (Compute) or Storage (Cell) Server for this Flex Component.", +"enum": [ +"HARDWARE_TYPE_UNSPECIFIED", +"COMPUTE", +"CELL" +], +"enumDescriptions": [ +"Unspecified default", +"COMPUTE", +"CELL" +], +"readOnly": true, +"type": "string" +}, +"minimumCoreCount": { +"description": "Output only. The minimum number of CPU cores that can be enabled on the DB Server for this Flex Component.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"name": { +"description": "Output only. The name of the Flex Component used for the DB system.", +"readOnly": true, +"type": "string" +}, +"runtimeMinimumCoreCount": { +"description": "Output only. The runtime minimum number of CPU cores that can be enabled for this Flex Component.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"shape": { +"description": "Output only. The name of the DB system shape for this Flex Component.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GenerateAutonomousDatabaseWalletRequest": { "description": "The request for `AutonomousDatabase.GenerateWallet`.", "id": "GenerateAutonomousDatabaseWalletRequest", @@ -10846,10 +11248,25 @@ true "readOnly": true, "type": "string" }, +"identityConnectorId": { +"description": "Output only. The unique partner identifier for the Identity Connector, used to establish secure cross-cloud access between Google Cloud and OCI. This corresponds directly to the ID of the OracleDbGcpIdentityConnector resource in Oracle Cloud Infrastructure (OCI).", +"readOnly": true, +"type": "string" +}, +"lifecycleStateDetails": { +"description": "Output only. Additional information about the current lifecycle state.", +"readOnly": true, +"type": "string" +}, "serviceAgentEmail": { "description": "Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com`", "readOnly": true, "type": "string" +}, +"workloadIdentityPool": { +"description": "Output only. The resource name of the Workload Identity Pool configured for identity federation with OCI. This exact pool name can be used to configure VPC Service Controls (VPC-SC) egress rules. Format: `projects/{project}/locations/global/workloadIdentityPools/{workload_identity_pool}`", +"readOnly": true, +"type": "string" } }, "type": "object" @@ -11112,6 +11529,31 @@ true }, "type": "object" }, +"ListDbSystemComputePerformancesResponse": { +"description": "Message for response to listing DbSystemComputePerformances", +"id": "ListDbSystemComputePerformancesResponse", +"properties": { +"dbSystemComputePerformances": { +"description": "The list of DbSystemComputePerformance.", +"items": { +"$ref": "DbSystemComputePerformance" +}, +"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" +}, "ListDbSystemInitialStorageSizesResponse": { "description": "The response for `DbSystemInitialStorageSizes.List`.", "id": "ListDbSystemInitialStorageSizesResponse", @@ -11259,6 +11701,31 @@ true }, "type": "object" }, +"ListFlexComponentsResponse": { +"description": "Message for response to listing FlexComponents", +"id": "ListFlexComponentsResponse", +"properties": { +"flexComponents": { +"description": "The list of FlexComponent", +"items": { +"$ref": "FlexComponent" +}, +"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" +}, "ListGiVersionsResponse": { "description": "The response for `GiVersion.List`.", "id": "ListGiVersionsResponse", @@ -11898,7 +12365,7 @@ true "type": "string" }, "gcpOracleZone": { -"description": "Optional. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability.", +"description": "Optional. Immutable. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability.", "type": "string" }, "labels": { @@ -11913,7 +12380,7 @@ true "type": "string" }, "network": { -"description": "Required. The name of the VPC network in the following format: projects/{project}/global/networks/{network}", +"description": "Required. Immutable. The name of the VPC network in the following format: projects/{project}/global/networks/{network}", "type": "string" }, "reconciling": { From 24badcd951cd9d00c2bdf8168fdc1109478e522e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:28 +0000 Subject: [PATCH 47/57] fix(pubsub): update the api #### pubsub:v1 The following keys were changed: - endpoints (Total Keys: 1) #### pubsub:v1beta1a The following keys were changed: - endpoints (Total Keys: 1) #### pubsub:v1beta2 The following keys were changed: - endpoints (Total Keys: 1) --- googleapiclient/discovery_cache/documents/pubsub.v1.json | 7 ++++++- .../discovery_cache/documents/pubsub.v1beta1a.json | 7 ++++++- .../discovery_cache/documents/pubsub.v1beta2.json | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1.json b/googleapiclient/discovery_cache/documents/pubsub.v1.json index d845bae9c4..f04e6f50e8 100644 --- a/googleapiclient/discovery_cache/documents/pubsub.v1.json +++ b/googleapiclient/discovery_cache/documents/pubsub.v1.json @@ -151,6 +151,11 @@ }, { "description": "Regional Endpoint", +"endpointUrl": "https://pubsub.europe-west15.rep.googleapis.com/", +"location": "europe-west15" +}, +{ +"description": "Regional Endpoint", "endpointUrl": "https://pubsub.me-central1.rep.googleapis.com/", "location": "me-central1" }, @@ -1798,7 +1803,7 @@ } } }, -"revision": "20261013", +"revision": "20261027", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AIInference": { diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json index 201fefddee..b96c70779c 100644 --- a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json +++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json @@ -151,6 +151,11 @@ }, { "description": "Regional Endpoint", +"endpointUrl": "https://pubsub.europe-west15.rep.googleapis.com/", +"location": "europe-west15" +}, +{ +"description": "Regional Endpoint", "endpointUrl": "https://pubsub.me-central1.rep.googleapis.com/", "location": "me-central1" }, @@ -689,7 +694,7 @@ } } }, -"revision": "20260915", +"revision": "20261027", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json index 69ae5040ce..07b0cfa66c 100644 --- a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json @@ -151,6 +151,11 @@ }, { "description": "Regional Endpoint", +"endpointUrl": "https://pubsub.europe-west15.rep.googleapis.com/", +"location": "europe-west15" +}, +{ +"description": "Regional Endpoint", "endpointUrl": "https://pubsub.me-central1.rep.googleapis.com/", "location": "me-central1" }, @@ -956,7 +961,7 @@ } } }, -"revision": "20260915", +"revision": "20261027", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { From 719cbad18a5e6b1971268e01cbc016ff3f315896 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 48/57] feat(run): update the api #### run:v1 The following keys were added: - schemas.BuildStatus (Total Keys: 4) - schemas.ContainerStatus (Total Keys: 6) - schemas.FilestoreVolumeSource (Total Keys: 3) - schemas.Volume.properties.filestore.$ref (Total Keys: 1) #### run:v2 The following keys were added: - schemas.GoogleCloudRunV2BuildConfiguration (Total Keys: 17) - schemas.GoogleCloudRunV2BuildStatus (Total Keys: 4) - schemas.GoogleCloudRunV2CloudBuildWorkerConfiguration (Total Keys: 4) - schemas.GoogleCloudRunV2Container.properties.buildConfig.$ref (Total Keys: 1) - schemas.GoogleCloudRunV2ContainerStatus.properties.buildStatus (Total Keys: 2) - schemas.GoogleCloudRunV2FilestoreVolumeSource (Total Keys: 3) - schemas.GoogleCloudRunV2Volume.properties.filestore.$ref (Total Keys: 1) - schemas.GoogleCloudRunV2WorkerConfiguration (Total Keys: 3) --- .../dyn/run_v1.namespaces.configurations.html | 6 + docs/dyn/run_v1.namespaces.executions.html | 9 ++ docs/dyn/run_v1.namespaces.instances.html | 24 +++ docs/dyn/run_v1.namespaces.jobs.html | 21 +++ docs/dyn/run_v1.namespaces.revisions.html | 28 ++++ docs/dyn/run_v1.namespaces.services.html | 18 +++ docs/dyn/run_v1.namespaces.tasks.html | 6 + docs/dyn/run_v1.namespaces.workerpools.html | 18 +++ ..._v1.projects.locations.configurations.html | 6 + .../run_v1.projects.locations.revisions.html | 28 ++++ .../run_v1.projects.locations.services.html | 18 +++ .../dyn/run_v2.projects.locations.builds.html | 2 +- .../run_v2.projects.locations.instances.html | 120 ++++++++++++++ ...v2.projects.locations.jobs.executions.html | 50 ++++++ ...jects.locations.jobs.executions.tasks.html | 50 ++++++ docs/dyn/run_v2.projects.locations.jobs.html | 100 ++++++++++++ .../run_v2.projects.locations.services.html | 108 ++++++++++++- ...projects.locations.services.revisions.html | 72 +++++++++ ...run_v2.projects.locations.workerPools.html | 100 ++++++++++++ ...jects.locations.workerPools.revisions.html | 72 +++++++++ .../discovery_cache/documents/run.v1.json | 71 +++++++- .../discovery_cache/documents/run.v2.json | 152 +++++++++++++++++- 22 files changed, 1068 insertions(+), 11 deletions(-) diff --git a/docs/dyn/run_v1.namespaces.configurations.html b/docs/dyn/run_v1.namespaces.configurations.html index 33d26b9e1b..c968d3cde2 100644 --- a/docs/dyn/run_v1.namespaces.configurations.html +++ b/docs/dyn/run_v1.namespaces.configurations.html @@ -440,6 +440,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -842,6 +845,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v1.namespaces.executions.html b/docs/dyn/run_v1.namespaces.executions.html index 78059270ce..494b701f66 100644 --- a/docs/dyn/run_v1.namespaces.executions.html +++ b/docs/dyn/run_v1.namespaces.executions.html @@ -411,6 +411,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -822,6 +825,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1194,6 +1200,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v1.namespaces.instances.html b/docs/dyn/run_v1.namespaces.instances.html index 4cc81288f2..d06c632f46 100644 --- a/docs/dyn/run_v1.namespaces.instances.html +++ b/docs/dyn/run_v1.namespaces.instances.html @@ -408,6 +408,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -752,6 +755,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1147,6 +1153,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1507,6 +1516,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1863,6 +1875,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2207,6 +2222,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2564,6 +2582,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2921,6 +2942,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v1.namespaces.jobs.html b/docs/dyn/run_v1.namespaces.jobs.html index 4906946773..dd2ac4393a 100644 --- a/docs/dyn/run_v1.namespaces.jobs.html +++ b/docs/dyn/run_v1.namespaces.jobs.html @@ -447,6 +447,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -841,6 +844,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1286,6 +1292,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1696,6 +1705,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2102,6 +2114,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2496,6 +2511,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2904,6 +2922,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v1.namespaces.revisions.html b/docs/dyn/run_v1.namespaces.revisions.html index 355996a357..b9e0059e21 100644 --- a/docs/dyn/run_v1.namespaces.revisions.html +++ b/docs/dyn/run_v1.namespaces.revisions.html @@ -454,6 +454,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -486,6 +489,17 @@

Method Details

"type": "A String", # type is used to communicate the status of the reconciliation process. Types common to all resources include: * "Ready" or "Completed": True when the Resource is ready. }, ], + "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. + { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, + "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. + "name": "A String", # The name of the container, if specified. + }, + ], "desiredReplicas": 42, # Output only. The configured number of instances running this revision. For Cloud Run, this only includes instances provisioned using the minScale annotation. It does not include instances created by autoscaling. "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. "logUrl": "A String", # Optional. Specifies the generated logging url for this particular revision based on the revision url template specified in the controller's config. @@ -822,6 +836,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -854,6 +871,17 @@

Method Details

"type": "A String", # type is used to communicate the status of the reconciliation process. Types common to all resources include: * "Ready" or "Completed": True when the Resource is ready. }, ], + "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. + { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, + "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. + "name": "A String", # The name of the container, if specified. + }, + ], "desiredReplicas": 42, # Output only. The configured number of instances running this revision. For Cloud Run, this only includes instances provisioned using the minScale annotation. It does not include instances created by autoscaling. "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. "logUrl": "A String", # Optional. Specifies the generated logging url for this particular revision based on the revision url template specified in the controller's config. diff --git a/docs/dyn/run_v1.namespaces.services.html b/docs/dyn/run_v1.namespaces.services.html index 5209b6ed01..8c8fa4dd49 100644 --- a/docs/dyn/run_v1.namespaces.services.html +++ b/docs/dyn/run_v1.namespaces.services.html @@ -444,6 +444,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -854,6 +857,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1315,6 +1321,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1741,6 +1750,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2163,6 +2175,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2573,6 +2588,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v1.namespaces.tasks.html b/docs/dyn/run_v1.namespaces.tasks.html index 951283924e..65a2d749aa 100644 --- a/docs/dyn/run_v1.namespaces.tasks.html +++ b/docs/dyn/run_v1.namespaces.tasks.html @@ -399,6 +399,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -774,6 +777,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v1.namespaces.workerpools.html b/docs/dyn/run_v1.namespaces.workerpools.html index f5ae7537d8..ff959d564d 100644 --- a/docs/dyn/run_v1.namespaces.workerpools.html +++ b/docs/dyn/run_v1.namespaces.workerpools.html @@ -451,6 +451,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -851,6 +854,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1299,6 +1305,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1711,6 +1720,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2123,6 +2135,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2523,6 +2538,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v1.projects.locations.configurations.html b/docs/dyn/run_v1.projects.locations.configurations.html index c3f3f6d05d..fed46450dc 100644 --- a/docs/dyn/run_v1.projects.locations.configurations.html +++ b/docs/dyn/run_v1.projects.locations.configurations.html @@ -440,6 +440,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -842,6 +845,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v1.projects.locations.revisions.html b/docs/dyn/run_v1.projects.locations.revisions.html index ee6f801ebf..10bffa1cfd 100644 --- a/docs/dyn/run_v1.projects.locations.revisions.html +++ b/docs/dyn/run_v1.projects.locations.revisions.html @@ -454,6 +454,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -486,6 +489,17 @@

Method Details

"type": "A String", # type is used to communicate the status of the reconciliation process. Types common to all resources include: * "Ready" or "Completed": True when the Resource is ready. }, ], + "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. + { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, + "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. + "name": "A String", # The name of the container, if specified. + }, + ], "desiredReplicas": 42, # Output only. The configured number of instances running this revision. For Cloud Run, this only includes instances provisioned using the minScale annotation. It does not include instances created by autoscaling. "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. "logUrl": "A String", # Optional. Specifies the generated logging url for this particular revision based on the revision url template specified in the controller's config. @@ -822,6 +836,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -854,6 +871,17 @@

Method Details

"type": "A String", # type is used to communicate the status of the reconciliation process. Types common to all resources include: * "Ready" or "Completed": True when the Resource is ready. }, ], + "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. + { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, + "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. + "name": "A String", # The name of the container, if specified. + }, + ], "desiredReplicas": 42, # Output only. The configured number of instances running this revision. For Cloud Run, this only includes instances provisioned using the minScale annotation. It does not include instances created by autoscaling. "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. "logUrl": "A String", # Optional. Specifies the generated logging url for this particular revision based on the revision url template specified in the controller's config. diff --git a/docs/dyn/run_v1.projects.locations.services.html b/docs/dyn/run_v1.projects.locations.services.html index 9d06f4a149..ce385bc2ff 100644 --- a/docs/dyn/run_v1.projects.locations.services.html +++ b/docs/dyn/run_v1.projects.locations.services.html @@ -453,6 +453,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -863,6 +866,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1324,6 +1330,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -1798,6 +1807,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2220,6 +2232,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. @@ -2630,6 +2645,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default), `Memory`, or `Disk`. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "name": "A String", # Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved. "nfs": { # Represents a persistent volume that will be mounted using NFS. This volume will be shared between all instances of the resource and data will not be deleted when the instance is shut down. "path": "A String", # Path that is exported by the NFS server. diff --git a/docs/dyn/run_v2.projects.locations.builds.html b/docs/dyn/run_v2.projects.locations.builds.html index 7a8f4dbad3..01abe2d472 100644 --- a/docs/dyn/run_v2.projects.locations.builds.html +++ b/docs/dyn/run_v2.projects.locations.builds.html @@ -122,7 +122,7 @@

Method Details

"tags": [ # Optional. Additional tags to annotate the build. "A String", ], - "workerPool": "A String", # Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. + "workerPool": "A String", # Optional. Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. } x__xgafv: string, V1 error format. diff --git a/docs/dyn/run_v2.projects.locations.instances.html b/docs/dyn/run_v2.projects.locations.instances.html index 3a3044b3d7..76da166710 100644 --- a/docs/dyn/run_v2.projects.locations.instances.html +++ b/docs/dyn/run_v2.projects.locations.instances.html @@ -151,6 +151,11 @@

Method Details

], "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. "name": "A String", # The name of the container, if specified. }, @@ -161,6 +166,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -385,6 +412,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -534,6 +564,11 @@

Method Details

], "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. "name": "A String", # The name of the container, if specified. }, @@ -544,6 +579,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -768,6 +825,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -903,6 +963,11 @@

Method Details

], "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. "name": "A String", # The name of the container, if specified. }, @@ -913,6 +978,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -1137,6 +1224,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -1231,6 +1321,11 @@

Method Details

], "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. "name": "A String", # The name of the container, if specified. }, @@ -1241,6 +1336,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -1465,6 +1582,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". diff --git a/docs/dyn/run_v2.projects.locations.jobs.executions.html b/docs/dyn/run_v2.projects.locations.jobs.executions.html index 7abf50ba63..34450e7dc0 100644 --- a/docs/dyn/run_v2.projects.locations.jobs.executions.html +++ b/docs/dyn/run_v2.projects.locations.jobs.executions.html @@ -287,6 +287,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -473,6 +495,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -593,6 +618,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -779,6 +826,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". diff --git a/docs/dyn/run_v2.projects.locations.jobs.executions.tasks.html b/docs/dyn/run_v2.projects.locations.jobs.executions.tasks.html index 0ca85a9e4d..1dcdc47740 100644 --- a/docs/dyn/run_v2.projects.locations.jobs.executions.tasks.html +++ b/docs/dyn/run_v2.projects.locations.jobs.executions.tasks.html @@ -130,6 +130,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -350,6 +372,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -441,6 +466,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -661,6 +708,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". diff --git a/docs/dyn/run_v2.projects.locations.jobs.html b/docs/dyn/run_v2.projects.locations.jobs.html index 925e220cc5..d62569981b 100644 --- a/docs/dyn/run_v2.projects.locations.jobs.html +++ b/docs/dyn/run_v2.projects.locations.jobs.html @@ -196,6 +196,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -382,6 +404,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -594,6 +619,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -780,6 +827,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -978,6 +1028,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -1164,6 +1236,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -1321,6 +1396,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -1507,6 +1604,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". diff --git a/docs/dyn/run_v2.projects.locations.services.html b/docs/dyn/run_v2.projects.locations.services.html index babcf29f03..a6df1efbe9 100644 --- a/docs/dyn/run_v2.projects.locations.services.html +++ b/docs/dyn/run_v2.projects.locations.services.html @@ -144,7 +144,7 @@

Method Details

"name": "A String", # Output only. The Cloud Build name of the latest successful deployment of the function. "serviceAccount": "A String", # Optional. Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. "sourceLocation": "A String", # The Cloud Storage bucket URI where the function source code is located. - "workerPool": "A String", # Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. + "workerPool": "A String", # Optional. Name of the Cloud Build private pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. }, "client": "A String", # Arbitrary identifier for the API client. "clientVersion": "A String", # Arbitrary version identifier for the API client. @@ -216,6 +216,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -419,6 +441,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -603,7 +628,7 @@

Method Details

"name": "A String", # Output only. The Cloud Build name of the latest successful deployment of the function. "serviceAccount": "A String", # Optional. Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. "sourceLocation": "A String", # The Cloud Storage bucket URI where the function source code is located. - "workerPool": "A String", # Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. + "workerPool": "A String", # Optional. Name of the Cloud Build private pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. }, "client": "A String", # Arbitrary identifier for the API client. "clientVersion": "A String", # Arbitrary version identifier for the API client. @@ -675,6 +700,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -878,6 +925,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -1049,7 +1099,7 @@

Method Details

"name": "A String", # Output only. The Cloud Build name of the latest successful deployment of the function. "serviceAccount": "A String", # Optional. Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. "sourceLocation": "A String", # The Cloud Storage bucket URI where the function source code is located. - "workerPool": "A String", # Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. + "workerPool": "A String", # Optional. Name of the Cloud Build private pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. }, "client": "A String", # Arbitrary identifier for the API client. "clientVersion": "A String", # Arbitrary version identifier for the API client. @@ -1121,6 +1171,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -1324,6 +1396,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -1455,7 +1530,7 @@

Method Details

"name": "A String", # Output only. The Cloud Build name of the latest successful deployment of the function. "serviceAccount": "A String", # Optional. Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. "sourceLocation": "A String", # The Cloud Storage bucket URI where the function source code is located. - "workerPool": "A String", # Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. + "workerPool": "A String", # Optional. Name of the Cloud Build private pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. }, "client": "A String", # Arbitrary identifier for the API client. "clientVersion": "A String", # Arbitrary version identifier for the API client. @@ -1527,6 +1602,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -1730,6 +1827,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". diff --git a/docs/dyn/run_v2.projects.locations.services.revisions.html b/docs/dyn/run_v2.projects.locations.services.revisions.html index c2e50c1338..00288f7545 100644 --- a/docs/dyn/run_v2.projects.locations.services.revisions.html +++ b/docs/dyn/run_v2.projects.locations.services.revisions.html @@ -208,12 +208,45 @@

Method Details

"type": "A String", # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. }, ], + "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. + { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, + "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. + "name": "A String", # The name of the container, if specified. + }, + ], "containers": [ # Holds the list which define the units of execution for this Revision. { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime. "args": [ # Arguments to the entrypoint. The docker image's CMD is used if this is not provided. "A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -433,6 +466,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -523,12 +559,45 @@

Method Details

"type": "A String", # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. }, ], + "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. + { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, + "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. + "name": "A String", # The name of the container, if specified. + }, + ], "containers": [ # Holds the list which define the units of execution for this Revision. { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime. "args": [ # Arguments to the entrypoint. The docker image's CMD is used if this is not provided. "A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -748,6 +817,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". diff --git a/docs/dyn/run_v2.projects.locations.workerPools.html b/docs/dyn/run_v2.projects.locations.workerPools.html index fa8411b29f..ae51c331c1 100644 --- a/docs/dyn/run_v2.projects.locations.workerPools.html +++ b/docs/dyn/run_v2.projects.locations.workerPools.html @@ -198,6 +198,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -390,6 +412,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -602,6 +627,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -794,6 +841,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -993,6 +1043,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -1185,6 +1257,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -1341,6 +1416,28 @@

Method Details

"A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -1533,6 +1630,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". diff --git a/docs/dyn/run_v2.projects.locations.workerPools.revisions.html b/docs/dyn/run_v2.projects.locations.workerPools.revisions.html index f3b277af1a..73cd418070 100644 --- a/docs/dyn/run_v2.projects.locations.workerPools.revisions.html +++ b/docs/dyn/run_v2.projects.locations.workerPools.revisions.html @@ -169,12 +169,45 @@

Method Details

"type": "A String", # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. }, ], + "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. + { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, + "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. + "name": "A String", # The name of the container, if specified. + }, + ], "containers": [ # Holds the list which define the units of execution for this Revision. { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime. "args": [ # Arguments to the entrypoint. The docker image's CMD is used if this is not provided. "A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -394,6 +427,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". @@ -484,12 +520,45 @@

Method Details

"type": "A String", # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. }, ], + "containerStatuses": [ # Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images. + { # ContainerStatus holds the information of container name and image digest value. + "buildStatus": { # BuildStatus holds the status of a build. # Output only. The build status of the container image. + "cloudBuildLogUrl": "A String", # The log URL for the Cloud Build execution. + "message": "A String", # The message details of the build. + "status": "A String", # The status of the build. + }, + "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object. + "name": "A String", # The name of the container, if specified. + }, + ], "containers": [ # Holds the list which define the units of execution for this Revision. { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime. "args": [ # Arguments to the entrypoint. The docker image's CMD is used if this is not provided. "A String", ], "baseImageUri": "A String", # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update. + "buildConfig": { # Build configuration for a container. # Optional. The build configuration for the container image. + "buildpacksBuild": { # Buildpacks build configuration. # Optional. Builds the source using Buildpacks. + "buildBaseImageUri": "A String", # Optional. Specify base image other than the default. + "cacheImageUri": "A String", # Optional. Cache image URI. + "environmentVariables": { # Optional. Environment variables for the build. + "a_key": "A String", + }, + }, + "dockerBuild": { # Docker build configuration. # Optional. Builds the source using Docker. + }, + "imageRepositoryUri": "A String", # Required. Artifact Registry URI to store the built image. + "serviceAccount": "A String", # Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`. + "tags": [ # Optional. Tags to add to the build. + "A String", + ], + "workerConfiguration": { # Configuration for the worker. # Optional. Configuration for the worker. + "cloudBuildWorkerConfiguration": { # Configuration for Cloud Build worker. # Optional. Cloud Build worker configuration. + "machineType": "A String", # Optional. The machine type for the Cloud Build worker. + "workerPool": "A String", # Optional. The name of the Cloud Build worker pool. + }, + }, + }, "buildInfo": { # Build information of the image. # Output only. The build info of the container image. "functionTarget": "A String", # Output only. Entry point of the function when the image is a Cloud Run function. "sourceLocation": "A String", # Output only. Source code location of the image. @@ -709,6 +778,9 @@

Method Details

"medium": "A String", # The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional "sizeLimit": "A String", # Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir }, + "filestore": { # Represents a volume backed by a Filestore instance. # Optional. Represents a volume backed by a Filestore instance. + "volume": "A String", # Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}` + }, "gcs": { # Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk). # Persistent storage backed by a Google Cloud Storage bucket. "bucket": "A String", # Cloud Storage Bucket name. "mountOptions": [ # A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". diff --git a/googleapiclient/discovery_cache/documents/run.v1.json b/googleapiclient/discovery_cache/documents/run.v1.json index 373ff569a2..b0a59101a7 100644 --- a/googleapiclient/discovery_cache/documents/run.v1.json +++ b/googleapiclient/discovery_cache/documents/run.v1.json @@ -3652,7 +3652,7 @@ } } }, -"revision": "20261023", +"revision": "20261031", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -3751,6 +3751,25 @@ }, "type": "object" }, +"BuildStatus": { +"description": "BuildStatus holds the status of a build.", +"id": "BuildStatus", +"properties": { +"cloudBuildLogUrl": { +"description": "The log URL for the Cloud Build execution.", +"type": "string" +}, +"message": { +"description": "The message details of the build.", +"type": "string" +}, +"status": { +"description": "The status of the build.", +"type": "string" +} +}, +"type": "object" +}, "CSIVolumeSource": { "description": "Storage volume source using the Container Storage Interface.", "id": "CSIVolumeSource", @@ -4061,6 +4080,26 @@ }, "type": "object" }, +"ContainerStatus": { +"description": "ContainerStatus holds the information of container name and image digest value.", +"id": "ContainerStatus", +"properties": { +"buildStatus": { +"$ref": "BuildStatus", +"description": "Output only. The build status of the container image.", +"readOnly": true +}, +"imageDigest": { +"description": "ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object.", +"type": "string" +}, +"name": { +"description": "The name of the container, if specified.", +"type": "string" +} +}, +"type": "object" +}, "DomainMapping": { "description": "Resource to hold the state and status of a user's domain mapping. NOTE: This resource is currently in Beta.", "id": "DomainMapping", @@ -4434,6 +4473,17 @@ }, "type": "object" }, +"FilestoreVolumeSource": { +"description": "Represents a volume backed by a Filestore instance.", +"id": "FilestoreVolumeSource", +"properties": { +"volume": { +"description": "Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`", +"type": "string" +} +}, +"type": "object" +}, "GRPCAction": { "description": "GRPCAction describes an action involving a GRPC port.", "id": "GRPCAction", @@ -4878,10 +4928,15 @@ "REGIONAL_USER_OWNED_BUCKET", "LEGACY_BUCKET" ], +"enumDeprecated": [ +false, +false, +true +], "enumDescriptions": [ "Unspecified.", "Bucket is located in user-owned project in the same region as the build. The builder service account must have access to create and write to Cloud Storage buckets in the build project.", -"Bucket is located in a Google-owned project and is not regionalized." +"Deprecated: Use `REGIONAL_USER_OWNED_BUCKET` instead. Bucket is located in a Google-owned project and is not regionalized." ], "type": "string" }, @@ -7425,6 +7480,14 @@ false }, "type": "array" }, +"containerStatuses": { +"description": "Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images.", +"items": { +"$ref": "ContainerStatus" +}, +"readOnly": true, +"type": "array" +}, "desiredReplicas": { "description": "Output only. The configured number of instances running this revision. For Cloud Run, this only includes instances provisioned using the minScale annotation. It does not include instances created by autoscaling.", "format": "int32", @@ -8154,6 +8217,10 @@ false "$ref": "EmptyDirVolumeSource", "description": "Ephemeral storage used as a shared volume." }, +"filestore": { +"$ref": "FilestoreVolumeSource", +"description": "Represents a volume backed by a Filestore instance." +}, "name": { "description": "Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/run.v2.json b/googleapiclient/discovery_cache/documents/run.v2.json index d2ba17de4e..9884560675 100644 --- a/googleapiclient/discovery_cache/documents/run.v2.json +++ b/googleapiclient/discovery_cache/documents/run.v2.json @@ -2669,7 +2669,7 @@ } } }, -"revision": "20261023", +"revision": "20261031", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2AmbientNetworking": { @@ -2757,12 +2757,74 @@ "type": "string" }, "workerPool": { -"description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", +"description": "Optional. Name of the Cloud Build private pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", "type": "string" } }, "type": "object" }, +"GoogleCloudRunV2BuildConfiguration": { +"description": "Build configuration for a container.", +"id": "GoogleCloudRunV2BuildConfiguration", +"properties": { +"buildpacksBuild": { +"$ref": "GoogleCloudRunV2BuildConfigurationBuildpacksBuild", +"description": "Optional. Builds the source using Buildpacks." +}, +"dockerBuild": { +"$ref": "GoogleCloudRunV2BuildConfigurationDockerBuild", +"description": "Optional. Builds the source using Docker." +}, +"imageRepositoryUri": { +"description": "Required. Artifact Registry URI to store the built image.", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. The service account to use for the build. Its resource name in the format `projects/{project}/serviceAccounts/{email}`.", +"type": "string" +}, +"tags": { +"description": "Optional. Tags to add to the build.", +"items": { +"type": "string" +}, +"type": "array" +}, +"workerConfiguration": { +"$ref": "GoogleCloudRunV2WorkerConfiguration", +"description": "Optional. Configuration for the worker." +} +}, +"type": "object" +}, +"GoogleCloudRunV2BuildConfigurationBuildpacksBuild": { +"description": "Buildpacks build configuration.", +"id": "GoogleCloudRunV2BuildConfigurationBuildpacksBuild", +"properties": { +"buildBaseImageUri": { +"description": "Optional. Specify base image other than the default.", +"type": "string" +}, +"cacheImageUri": { +"description": "Optional. Cache image URI.", +"type": "string" +}, +"environmentVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Environment variables for the build.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudRunV2BuildConfigurationDockerBuild": { +"description": "Docker build configuration.", +"id": "GoogleCloudRunV2BuildConfigurationDockerBuild", +"properties": {}, +"type": "object" +}, "GoogleCloudRunV2BuildInfo": { "description": "Build information of the image.", "id": "GoogleCloudRunV2BuildInfo", @@ -2780,6 +2842,25 @@ }, "type": "object" }, +"GoogleCloudRunV2BuildStatus": { +"description": "BuildStatus holds the status of a build.", +"id": "GoogleCloudRunV2BuildStatus", +"properties": { +"cloudBuildLogUrl": { +"description": "The log URL for the Cloud Build execution.", +"type": "string" +}, +"message": { +"description": "The message details of the build.", +"type": "string" +}, +"status": { +"description": "The status of the build.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudRunV2BuildpacksBuild": { "description": "Build the source using Buildpacks.", "id": "GoogleCloudRunV2BuildpacksBuild", @@ -2834,6 +2915,21 @@ }, "type": "object" }, +"GoogleCloudRunV2CloudBuildWorkerConfiguration": { +"description": "Configuration for Cloud Build worker.", +"id": "GoogleCloudRunV2CloudBuildWorkerConfiguration", +"properties": { +"machineType": { +"description": "Optional. The machine type for the Cloud Build worker.", +"type": "string" +}, +"workerPool": { +"description": "Optional. The name of the Cloud Build worker pool.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudRunV2CloudSqlInstance": { "description": "Represents a set of Cloud SQL instances. Each one will be available under /cloudsql/[instance]. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.", "id": "GoogleCloudRunV2CloudSqlInstance", @@ -3057,6 +3153,10 @@ "description": "Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.", "type": "string" }, +"buildConfig": { +"$ref": "GoogleCloudRunV2BuildConfiguration", +"description": "Optional. The build configuration for the container image." +}, "buildInfo": { "$ref": "GoogleCloudRunV2BuildInfo", "description": "Output only. The build info of the container image.", @@ -3185,6 +3285,11 @@ "description": "ContainerStatus holds the information of container name and image digest value.", "id": "GoogleCloudRunV2ContainerStatus", "properties": { +"buildStatus": { +"$ref": "GoogleCloudRunV2BuildStatus", +"description": "Output only. The build status of the container image.", +"readOnly": true +}, "imageDigest": { "description": "ImageDigest holds the resolved digest for the image specified and resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object.", "type": "string" @@ -3605,6 +3710,17 @@ }, "type": "object" }, +"GoogleCloudRunV2FilestoreVolumeSource": { +"description": "Represents a volume backed by a Filestore instance.", +"id": "GoogleCloudRunV2FilestoreVolumeSource", +"properties": { +"volume": { +"description": "Required. The resource name of the Filestore volume. Format: `projects/{project}/locations/{location}/volumePools/{volume_pool}/volumes/{volume}`", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudRunV2GCSVolumeSource": { "description": "Represents a volume backed by a Cloud Storage bucket (mounted via Cloud Storage FUSE or as a block device disk).", "id": "GoogleCloudRunV2GCSVolumeSource", @@ -4572,6 +4688,14 @@ "readOnly": true, "type": "array" }, +"containerStatuses": { +"description": "Output only. Status information for each of the specified containers. The status includes the resolved digest for specified images.", +"items": { +"$ref": "GoogleCloudRunV2ContainerStatus" +}, +"readOnly": true, +"type": "array" +}, "containers": { "description": "Holds the list which define the units of execution for this Revision.", "items": { @@ -5530,7 +5654,7 @@ "type": "array" }, "workerPool": { -"description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", +"description": "Optional. Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", "type": "string" } }, @@ -6002,6 +6126,10 @@ "$ref": "GoogleCloudRunV2EmptyDirVolumeSource", "description": "Ephemeral storage used as a shared volume." }, +"filestore": { +"$ref": "GoogleCloudRunV2FilestoreVolumeSource", +"description": "Optional. Represents a volume backed by a Filestore instance." +}, "gcs": { "$ref": "GoogleCloudRunV2GCSVolumeSource", "description": "Persistent storage backed by a Google Cloud Storage bucket." @@ -6072,6 +6200,17 @@ }, "type": "object" }, +"GoogleCloudRunV2WorkerConfiguration": { +"description": "Configuration for the worker.", +"id": "GoogleCloudRunV2WorkerConfiguration", +"properties": { +"cloudBuildWorkerConfiguration": { +"$ref": "GoogleCloudRunV2CloudBuildWorkerConfiguration", +"description": "Optional. Cloud Build worker configuration." +} +}, +"type": "object" +}, "GoogleCloudRunV2WorkerPool": { "description": "WorkerPool acts as a top-level container that manages a set of configurations and revision templates which implement a pull-based workload. WorkerPool exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership.", "id": "GoogleCloudRunV2WorkerPool", @@ -6792,10 +6931,15 @@ "REGIONAL_USER_OWNED_BUCKET", "LEGACY_BUCKET" ], +"enumDeprecated": [ +false, +false, +true +], "enumDescriptions": [ "Unspecified.", "Bucket is located in user-owned project in the same region as the build. The builder service account must have access to create and write to Cloud Storage buckets in the build project.", -"Bucket is located in a Google-owned project and is not regionalized." +"Deprecated: Use `REGIONAL_USER_OWNED_BUCKET` instead. Bucket is located in a Google-owned project and is not regionalized." ], "type": "string" }, From 68bab79bf1adc4fe1d4f5af0ad5d39ca4f1c6ea9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 49/57] feat(saasservicemgmt): update the api #### saasservicemgmt:v1 The following keys were added: - endpoints (Total Keys: 1) #### saasservicemgmt:v1beta1 The following keys were added: - endpoints (Total Keys: 1) - schemas.Location.properties.type.type (Total Keys: 1) - schemas.RolloutKind.properties.locationType.type (Total Keys: 1) - schemas.Unit.properties.deploymentLocation.$ref (Total Keys: 1) --- ...beta1.projects.locations.rolloutKinds.html | 6 + ...emgmt_v1beta1.projects.locations.saas.html | 6 + ...mgmt_v1beta1.projects.locations.units.html | 24 +++ .../documents/saasservicemgmt.v1.json | 119 +++++++++++++- .../documents/saasservicemgmt.v1beta1.json | 155 +++++++++++++++++- 5 files changed, 308 insertions(+), 2 deletions(-) diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.rolloutKinds.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.rolloutKinds.html index 8b4ecc9ff0..3211a86445 100644 --- a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.rolloutKinds.html +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.rolloutKinds.html @@ -123,6 +123,7 @@

Method Details

"labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. "a_key": "A String", }, + "locationType": "A String", # Optional. The location type of the rollout. Based on the location type, the rollout will target the corresponding locations. "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}" "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing a Rollout. This is a required field. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the associated UnitKind's Saas Locations. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. @@ -162,6 +163,7 @@

Method Details

"labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. "a_key": "A String", }, + "locationType": "A String", # Optional. The location type of the rollout. Based on the location type, the rollout will target the corresponding locations. "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}" "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing a Rollout. This is a required field. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the associated UnitKind's Saas Locations. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. @@ -226,6 +228,7 @@

Method Details

"labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. "a_key": "A String", }, + "locationType": "A String", # Optional. The location type of the rollout. Based on the location type, the rollout will target the corresponding locations. "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}" "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing a Rollout. This is a required field. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the associated UnitKind's Saas Locations. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. @@ -276,6 +279,7 @@

Method Details

"labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. "a_key": "A String", }, + "locationType": "A String", # Optional. The location type of the rollout. Based on the location type, the rollout will target the corresponding locations. "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}" "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing a Rollout. This is a required field. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the associated UnitKind's Saas Locations. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. @@ -333,6 +337,7 @@

Method Details

"labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. "a_key": "A String", }, + "locationType": "A String", # Optional. The location type of the rollout. Based on the location type, the rollout will target the corresponding locations. "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}" "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing a Rollout. This is a required field. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the associated UnitKind's Saas Locations. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. @@ -372,6 +377,7 @@

Method Details

"labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. "a_key": "A String", }, + "locationType": "A String", # Optional. The location type of the rollout. Based on the location type, the rollout will target the corresponding locations. "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}" "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing a Rollout. This is a required field. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the associated UnitKind's Saas Locations. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saas.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saas.html index 8807df61c2..e1aff010a2 100644 --- a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saas.html +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saas.html @@ -146,6 +146,7 @@

Method Details

"locations": [ # Optional. List of locations that the service is available in. Rollout refers to the list to generate a rollout plan. { # Location information that the service is available in. "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. }, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" @@ -201,6 +202,7 @@

Method Details

"locations": [ # Optional. List of locations that the service is available in. Rollout refers to the list to generate a rollout plan. { # Location information that the service is available in. "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. }, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" @@ -281,6 +283,7 @@

Method Details

"locations": [ # Optional. List of locations that the service is available in. Rollout refers to the list to generate a rollout plan. { # Location information that the service is available in. "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. }, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" @@ -347,6 +350,7 @@

Method Details

"locations": [ # Optional. List of locations that the service is available in. Rollout refers to the list to generate a rollout plan. { # Location information that the service is available in. "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. }, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" @@ -420,6 +424,7 @@

Method Details

"locations": [ # Optional. List of locations that the service is available in. Rollout refers to the list to generate a rollout plan. { # Location information that the service is available in. "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. }, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" @@ -475,6 +480,7 @@

Method Details

"locations": [ # Optional. List of locations that the service is available in. Rollout refers to the list to generate a rollout plan. { # Location information that the service is available in. "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. }, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.units.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.units.html index 92603684ad..a2585cc595 100644 --- a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.units.html +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.units.html @@ -137,6 +137,10 @@

Method Details

"unit": "A String", # Output only. A reference to the Unit object. }, ], + "deploymentLocation": { # Location information that the service is available in. # Optional. Deployment location of the unit. Deployment location is used to determine which cloud_zone, prod_zone or prod_region to use for the unit. + "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. + }, "engine": { # Engine captures metadata about the underlying actuation engine instance managing this Unit. # Optional. Output only. Metadata about the underlying actuation engine instance managing this Unit. "engineId": "A String", # Optional. Output only. The full resource name of the underlying engine deployment created for this unit (e.g., "projects/{project}/locations/{location}/deployments/{deployment}"). "location": "A String", # Optional. Output only. The location where the unit's underlying engine deployment is actuated (e.g., "us-central1"). @@ -228,6 +232,10 @@

Method Details

"unit": "A String", # Output only. A reference to the Unit object. }, ], + "deploymentLocation": { # Location information that the service is available in. # Optional. Deployment location of the unit. Deployment location is used to determine which cloud_zone, prod_zone or prod_region to use for the unit. + "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. + }, "engine": { # Engine captures metadata about the underlying actuation engine instance managing this Unit. # Optional. Output only. Metadata about the underlying actuation engine instance managing this Unit. "engineId": "A String", # Optional. Output only. The full resource name of the underlying engine deployment created for this unit (e.g., "projects/{project}/locations/{location}/deployments/{deployment}"). "location": "A String", # Optional. Output only. The location where the unit's underlying engine deployment is actuated (e.g., "us-central1"). @@ -344,6 +352,10 @@

Method Details

"unit": "A String", # Output only. A reference to the Unit object. }, ], + "deploymentLocation": { # Location information that the service is available in. # Optional. Deployment location of the unit. Deployment location is used to determine which cloud_zone, prod_zone or prod_region to use for the unit. + "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. + }, "engine": { # Engine captures metadata about the underlying actuation engine instance managing this Unit. # Optional. Output only. Metadata about the underlying actuation engine instance managing this Unit. "engineId": "A String", # Optional. Output only. The full resource name of the underlying engine deployment created for this unit (e.g., "projects/{project}/locations/{location}/deployments/{deployment}"). "location": "A String", # Optional. Output only. The location where the unit's underlying engine deployment is actuated (e.g., "us-central1"). @@ -446,6 +458,10 @@

Method Details

"unit": "A String", # Output only. A reference to the Unit object. }, ], + "deploymentLocation": { # Location information that the service is available in. # Optional. Deployment location of the unit. Deployment location is used to determine which cloud_zone, prod_zone or prod_region to use for the unit. + "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. + }, "engine": { # Engine captures metadata about the underlying actuation engine instance managing this Unit. # Optional. Output only. Metadata about the underlying actuation engine instance managing this Unit. "engineId": "A String", # Optional. Output only. The full resource name of the underlying engine deployment created for this unit (e.g., "projects/{project}/locations/{location}/deployments/{deployment}"). "location": "A String", # Optional. Output only. The location where the unit's underlying engine deployment is actuated (e.g., "us-central1"). @@ -555,6 +571,10 @@

Method Details

"unit": "A String", # Output only. A reference to the Unit object. }, ], + "deploymentLocation": { # Location information that the service is available in. # Optional. Deployment location of the unit. Deployment location is used to determine which cloud_zone, prod_zone or prod_region to use for the unit. + "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. + }, "engine": { # Engine captures metadata about the underlying actuation engine instance managing this Unit. # Optional. Output only. Metadata about the underlying actuation engine instance managing this Unit. "engineId": "A String", # Optional. Output only. The full resource name of the underlying engine deployment created for this unit (e.g., "projects/{project}/locations/{location}/deployments/{deployment}"). "location": "A String", # Optional. Output only. The location where the unit's underlying engine deployment is actuated (e.g., "us-central1"). @@ -646,6 +666,10 @@

Method Details

"unit": "A String", # Output only. A reference to the Unit object. }, ], + "deploymentLocation": { # Location information that the service is available in. # Optional. Deployment location of the unit. Deployment location is used to determine which cloud_zone, prod_zone or prod_region to use for the unit. + "name": "A String", # Optional. Name of location. + "type": "A String", # Type of location. + }, "engine": { # Engine captures metadata about the underlying actuation engine instance managing this Unit. # Optional. Output only. Metadata about the underlying actuation engine instance managing this Unit. "engineId": "A String", # Optional. Output only. The full resource name of the underlying engine deployment created for this unit (e.g., "projects/{project}/locations/{location}/deployments/{deployment}"). "location": "A String", # Optional. Output only. The location where the unit's underlying engine deployment is actuated (e.g., "us-central1"). diff --git a/googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json b/googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json index ece4d3ca8d..1dba85cbad 100644 --- a/googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json +++ b/googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json @@ -21,6 +21,123 @@ "description": "Model, deploy, and operate your SaaS at scale. ", "discoveryVersion": "v1", "documentationLink": "https://docs.cloud.google.com/app-lifecycle-manager", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.africa-south1.rep.googleapis.com/", +"location": "africa-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-east1.rep.googleapis.com/", +"location": "asia-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-east2.rep.googleapis.com/", +"location": "asia-east2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-northeast1.rep.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-northeast2.rep.googleapis.com/", +"location": "asia-northeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-southeast2.rep.googleapis.com/", +"location": "asia-southeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.australia-southeast2.rep.googleapis.com/", +"location": "australia-southeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-central2.rep.googleapis.com/", +"location": "europe-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-north1.rep.googleapis.com/", +"location": "europe-north1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-north2.rep.googleapis.com/", +"location": "europe-north2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-southwest1.rep.googleapis.com/", +"location": "europe-southwest1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-west6.rep.googleapis.com/", +"location": "europe-west6" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-west15.rep.googleapis.com/", +"location": "europe-west15" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.me-central1.rep.googleapis.com/", +"location": "me-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.me-west1.rep.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.northamerica-northeast1.rep.googleapis.com/", +"location": "northamerica-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.northamerica-northeast2.rep.googleapis.com/", +"location": "northamerica-northeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.northamerica-south1.rep.googleapis.com/", +"location": "northamerica-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.us-west2.rep.googleapis.com/", +"location": "us-west2" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -1866,7 +1983,7 @@ } } }, -"revision": "20261020", +"revision": "20261106", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { diff --git a/googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json b/googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json index 466b5bf80d..5e0b55c1f7 100644 --- a/googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json @@ -21,6 +21,123 @@ "description": "Model, deploy, and operate your SaaS at scale. ", "discoveryVersion": "v1", "documentationLink": "https://docs.cloud.google.com/app-lifecycle-manager", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.africa-south1.rep.googleapis.com/", +"location": "africa-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-east1.rep.googleapis.com/", +"location": "asia-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-east2.rep.googleapis.com/", +"location": "asia-east2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-northeast1.rep.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-northeast2.rep.googleapis.com/", +"location": "asia-northeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.asia-southeast2.rep.googleapis.com/", +"location": "asia-southeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.australia-southeast2.rep.googleapis.com/", +"location": "australia-southeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-central2.rep.googleapis.com/", +"location": "europe-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-north1.rep.googleapis.com/", +"location": "europe-north1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-north2.rep.googleapis.com/", +"location": "europe-north2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-southwest1.rep.googleapis.com/", +"location": "europe-southwest1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-west6.rep.googleapis.com/", +"location": "europe-west6" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.europe-west15.rep.googleapis.com/", +"location": "europe-west15" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.me-central1.rep.googleapis.com/", +"location": "me-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.me-west1.rep.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.northamerica-northeast1.rep.googleapis.com/", +"location": "northamerica-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.northamerica-northeast2.rep.googleapis.com/", +"location": "northamerica-northeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.northamerica-south1.rep.googleapis.com/", +"location": "northamerica-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://saasservicemgmt.us-west2.rep.googleapis.com/", +"location": "us-west2" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -2856,7 +2973,7 @@ } } }, -"revision": "20261020", +"revision": "20261106", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { @@ -4051,6 +4168,22 @@ "name": { "description": "Optional. Name of location.", "type": "string" +}, +"type": { +"description": "Type of location.", +"enum": [ +"LOCATION_TYPE_UNSPECIFIED", +"CLOUD_GLOBAL", +"CLOUD_REGION", +"CLOUD_ZONE" +], +"enumDescriptions": [ +"Unspecified location type.", +"Cloud global.", +"Cloud region.", +"Cloud zone." +], +"type": "string" } }, "type": "object" @@ -4397,6 +4530,22 @@ "description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", "type": "object" }, +"locationType": { +"description": "Optional. The location type of the rollout. Based on the location type, the rollout will target the corresponding locations.", +"enum": [ +"LOCATION_TYPE_UNSPECIFIED", +"CLOUD_GLOBAL", +"CLOUD_REGION", +"CLOUD_ZONE" +], +"enumDescriptions": [ +"Unspecified location type.", +"Cloud global.", +"Cloud region.", +"Cloud zone." +], +"type": "string" +}, "name": { "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}\"", "type": "string" @@ -4808,6 +4957,10 @@ false "readOnly": true, "type": "array" }, +"deploymentLocation": { +"$ref": "Location", +"description": "Optional. Deployment location of the unit. Deployment location is used to determine which cloud_zone, prod_zone or prod_region to use for the unit." +}, "engine": { "$ref": "Engine", "description": "Optional. Output only. Metadata about the underlying actuation engine instance managing this Unit.", From caa761d87b53ffa5fef43306e099cafec3a5a449 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 50/57] feat(secretmanager): update the api #### secretmanager:v1 The following keys were deleted: - schemas.CloudSQLSingleUserCredentials (Total Keys: 5) The following keys were added: - schemas.CloudSqlSingleUserCredentials (Total Keys: 5) The following keys were changed: - schemas.EnableManagedRotationRequest.properties.cloudSqlSingleUserCredentials.$ref (Total Keys: 1) --- .../discovery_cache/documents/secretmanager.v1.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/googleapiclient/discovery_cache/documents/secretmanager.v1.json b/googleapiclient/discovery_cache/documents/secretmanager.v1.json index bf22c8a9c0..765a400061 100644 --- a/googleapiclient/discovery_cache/documents/secretmanager.v1.json +++ b/googleapiclient/discovery_cache/documents/secretmanager.v1.json @@ -1488,7 +1488,7 @@ } } }, -"revision": "20260814", +"revision": "20261021", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { @@ -1610,9 +1610,9 @@ }, "type": "object" }, -"CloudSQLSingleUserCredentials": { +"CloudSqlSingleUserCredentials": { "description": "These are the credentials required for Cloud SQL DB for Single user Managed Rotation.", -"id": "CloudSQLSingleUserCredentials", +"id": "CloudSqlSingleUserCredentials", "properties": { "instanceId": { "description": "Required. Instance ID of the Cloud SQL instance.", @@ -1684,7 +1684,7 @@ "id": "EnableManagedRotationRequest", "properties": { "cloudSqlSingleUserCredentials": { -"$ref": "CloudSQLSingleUserCredentials", +"$ref": "CloudSqlSingleUserCredentials", "description": "Credentials required for Cloud SQL DB for Single user Managed Rotation." } }, From c36fc830266893732da84079bdffe424c2c9abff Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 51/57] feat(sqladmin): update the api #### sqladmin:v1 The following keys were deleted: - schemas.SqlWorkloadCapturesStartReplayRequest (Total Keys: 3) - schemas.SqlWorkloadCapturesStartRequest (Total Keys: 3) - schemas.SqlWorkloadCapturesStopReplayRequest (Total Keys: 3) - schemas.SqlWorkloadCapturesStopRequest (Total Keys: 3) The following keys were added: - schemas.WorkloadCapturesStartReplayRequest (Total Keys: 3) - schemas.WorkloadCapturesStartRequest (Total Keys: 3) - schemas.WorkloadCapturesStopReplayRequest (Total Keys: 3) - schemas.WorkloadCapturesStopRequest (Total Keys: 3) The following keys were changed: - resources.workloadCaptures.methods.start.request.$ref (Total Keys: 1) - resources.workloadCaptures.methods.startReplay.request.$ref (Total Keys: 1) - resources.workloadCaptures.methods.stop.request.$ref (Total Keys: 1) - resources.workloadCaptures.methods.stopReplay.request.$ref (Total Keys: 1) #### sqladmin:v1beta4 The following keys were deleted: - schemas.SqlWorkloadCapturesStartReplayRequest (Total Keys: 3) - schemas.SqlWorkloadCapturesStartRequest (Total Keys: 3) - schemas.SqlWorkloadCapturesStopReplayRequest (Total Keys: 3) - schemas.SqlWorkloadCapturesStopRequest (Total Keys: 3) The following keys were added: - schemas.WorkloadCapturesStartReplayRequest (Total Keys: 3) - schemas.WorkloadCapturesStartRequest (Total Keys: 3) - schemas.WorkloadCapturesStopReplayRequest (Total Keys: 3) - schemas.WorkloadCapturesStopRequest (Total Keys: 3) The following keys were changed: - resources.workloadCaptures.methods.start.request.$ref (Total Keys: 1) - resources.workloadCaptures.methods.startReplay.request.$ref (Total Keys: 1) - resources.workloadCaptures.methods.stop.request.$ref (Total Keys: 1) - resources.workloadCaptures.methods.stopReplay.request.$ref (Total Keys: 1) --- docs/dyn/sqladmin_v1.workloadCaptures.html | 2 +- .../documents/sqladmin.v1.json | 99 ++++++++++--------- .../documents/sqladmin.v1beta4.json | 98 +++++++++--------- 3 files changed, 100 insertions(+), 99 deletions(-) diff --git a/docs/dyn/sqladmin_v1.workloadCaptures.html b/docs/dyn/sqladmin_v1.workloadCaptures.html index b4d9fab29e..19021afcaf 100644 --- a/docs/dyn/sqladmin_v1.workloadCaptures.html +++ b/docs/dyn/sqladmin_v1.workloadCaptures.html @@ -113,7 +113,7 @@

Method Details

Returns: An object of the form: - { + { # Instance list captured workloads response. "kind": "A String", # This is always `sql#workloadCapturesList`. "workloadCaptures": [ # List of captured workloads for the instance. { # Captured workload for an instance. diff --git a/googleapiclient/discovery_cache/documents/sqladmin.v1.json b/googleapiclient/discovery_cache/documents/sqladmin.v1.json index 97780a22f9..58402a7d1f 100644 --- a/googleapiclient/discovery_cache/documents/sqladmin.v1.json +++ b/googleapiclient/discovery_cache/documents/sqladmin.v1.json @@ -3589,7 +3589,7 @@ }, "path": "v1/projects/{project}/instances/{instance}/workloadCaptures:start", "request": { -"$ref": "SqlWorkloadCapturesStartRequest" +"$ref": "WorkloadCapturesStartRequest" }, "response": { "$ref": "Operation" @@ -3631,7 +3631,7 @@ }, "path": "v1/projects/{project}/instances/{instance}/workloadCaptures/{workloadId}:startReplay", "request": { -"$ref": "SqlWorkloadCapturesStartReplayRequest" +"$ref": "WorkloadCapturesStartReplayRequest" }, "response": { "$ref": "Operation" @@ -3666,7 +3666,7 @@ }, "path": "v1/projects/{project}/instances/{instance}/workloadCaptures:stop", "request": { -"$ref": "SqlWorkloadCapturesStopRequest" +"$ref": "WorkloadCapturesStopRequest" }, "response": { "$ref": "Operation" @@ -3701,7 +3701,7 @@ }, "path": "v1/projects/{project}/instances/{instance}/workloadCaptures:stopReplay", "request": { -"$ref": "SqlWorkloadCapturesStopReplayRequest" +"$ref": "WorkloadCapturesStopReplayRequest" }, "response": { "$ref": "Operation" @@ -3714,7 +3714,7 @@ } } }, -"revision": "20261006", +"revision": "20261018", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -10111,50 +10111,6 @@ false }, "type": "object" }, -"SqlWorkloadCapturesStartReplayRequest": { -"description": "Request to start executing a captured workload on a replay instance (the Cloud SQL instance where the recorded SQL queries are executed).", -"id": "SqlWorkloadCapturesStartReplayRequest", -"properties": { -"startWorkloadReplayContext": { -"$ref": "StartWorkloadReplayContext", -"description": "Required. Contains details about the start workload replay operation." -} -}, -"type": "object" -}, -"SqlWorkloadCapturesStartRequest": { -"description": "Request to start recording traffic from the primary instance (captured workload).", -"id": "SqlWorkloadCapturesStartRequest", -"properties": { -"startWorkloadCaptureContext": { -"$ref": "StartWorkloadCaptureContext", -"description": "Optional. Contains details about the start workload capture operation." -} -}, -"type": "object" -}, -"SqlWorkloadCapturesStopReplayRequest": { -"description": "Request to stop an active workload replay on a target Cloud SQL replay instance.", -"id": "SqlWorkloadCapturesStopReplayRequest", -"properties": { -"stopWorkloadReplayContext": { -"$ref": "StopWorkloadReplayContext", -"description": "Optional. Contains details about the stop workload replay operation. If omitted, default values are used." -} -}, -"type": "object" -}, -"SqlWorkloadCapturesStopRequest": { -"description": "Request to stop recording traffic from the primary instance.", -"id": "SqlWorkloadCapturesStopRequest", -"properties": { -"stopWorkloadCaptureContext": { -"$ref": "StopWorkloadCaptureContext", -"description": "Optional. Contains details about the stop workload capture operation." -} -}, -"type": "object" -}, "SslCert": { "description": "SslCerts Resource", "id": "SslCert", @@ -10718,6 +10674,7 @@ false "type": "object" }, "WorkloadCapturesListResponse": { +"description": "Instance list captured workloads response.", "id": "WorkloadCapturesListResponse", "properties": { "kind": { @@ -10733,6 +10690,50 @@ false } }, "type": "object" +}, +"WorkloadCapturesStartReplayRequest": { +"description": "Request to start executing a captured workload on a replay instance (the Cloud SQL instance where the recorded SQL queries are executed).", +"id": "WorkloadCapturesStartReplayRequest", +"properties": { +"startWorkloadReplayContext": { +"$ref": "StartWorkloadReplayContext", +"description": "Required. Contains details about the start workload replay operation." +} +}, +"type": "object" +}, +"WorkloadCapturesStartRequest": { +"description": "Request to start recording traffic from the primary instance (captured workload).", +"id": "WorkloadCapturesStartRequest", +"properties": { +"startWorkloadCaptureContext": { +"$ref": "StartWorkloadCaptureContext", +"description": "Optional. Contains details about the start workload capture operation." +} +}, +"type": "object" +}, +"WorkloadCapturesStopReplayRequest": { +"description": "Request to stop an active workload replay on a target Cloud SQL replay instance.", +"id": "WorkloadCapturesStopReplayRequest", +"properties": { +"stopWorkloadReplayContext": { +"$ref": "StopWorkloadReplayContext", +"description": "Optional. Contains details about the stop workload replay operation. If omitted, default values are used." +} +}, +"type": "object" +}, +"WorkloadCapturesStopRequest": { +"description": "Request to stop recording traffic from the primary instance.", +"id": "WorkloadCapturesStopRequest", +"properties": { +"stopWorkloadCaptureContext": { +"$ref": "StopWorkloadCaptureContext", +"description": "Optional. Contains details about the stop workload capture operation." +} +}, +"type": "object" } }, "servicePath": "", diff --git a/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json b/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json index 081d5ed472..2c0b23633c 100644 --- a/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json +++ b/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json @@ -3589,7 +3589,7 @@ }, "path": "sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures:start", "request": { -"$ref": "SqlWorkloadCapturesStartRequest" +"$ref": "WorkloadCapturesStartRequest" }, "response": { "$ref": "Operation" @@ -3631,7 +3631,7 @@ }, "path": "sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures/{workloadId}:startReplay", "request": { -"$ref": "SqlWorkloadCapturesStartReplayRequest" +"$ref": "WorkloadCapturesStartReplayRequest" }, "response": { "$ref": "Operation" @@ -3666,7 +3666,7 @@ }, "path": "sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures:stop", "request": { -"$ref": "SqlWorkloadCapturesStopRequest" +"$ref": "WorkloadCapturesStopRequest" }, "response": { "$ref": "Operation" @@ -3701,7 +3701,7 @@ }, "path": "sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures:stopReplay", "request": { -"$ref": "SqlWorkloadCapturesStopReplayRequest" +"$ref": "WorkloadCapturesStopReplayRequest" }, "response": { "$ref": "Operation" @@ -3714,7 +3714,7 @@ } } }, -"revision": "20261006", +"revision": "20261018", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -10151,50 +10151,6 @@ false }, "type": "object" }, -"SqlWorkloadCapturesStartReplayRequest": { -"description": "Request to start executing a captured workload on a replay instance (the Cloud SQL instance where the recorded SQL queries are executed).", -"id": "SqlWorkloadCapturesStartReplayRequest", -"properties": { -"startWorkloadReplayContext": { -"$ref": "StartWorkloadReplayContext", -"description": "Required. Contains details about the start workload replay operation." -} -}, -"type": "object" -}, -"SqlWorkloadCapturesStartRequest": { -"description": "Request to start recording traffic from the primary instance (captured workload).", -"id": "SqlWorkloadCapturesStartRequest", -"properties": { -"startWorkloadCaptureContext": { -"$ref": "StartWorkloadCaptureContext", -"description": "Optional. Contains details about the start workload capture operation." -} -}, -"type": "object" -}, -"SqlWorkloadCapturesStopReplayRequest": { -"description": "Request to stop an active workload replay on a target Cloud SQL replay instance.", -"id": "SqlWorkloadCapturesStopReplayRequest", -"properties": { -"stopWorkloadReplayContext": { -"$ref": "StopWorkloadReplayContext", -"description": "Optional. Contains details about the stop workload replay operation." -} -}, -"type": "object" -}, -"SqlWorkloadCapturesStopRequest": { -"description": "Request to stop recording traffic from the primary instance.", -"id": "SqlWorkloadCapturesStopRequest", -"properties": { -"stopWorkloadCaptureContext": { -"$ref": "StopWorkloadCaptureContext", -"description": "Optional. Contains details about the stop workload capture operation." -} -}, -"type": "object" -}, "SslCert": { "description": "SslCerts Resource", "id": "SslCert", @@ -10786,6 +10742,50 @@ false } }, "type": "object" +}, +"WorkloadCapturesStartReplayRequest": { +"description": "Request to start executing a captured workload on a replay instance (the Cloud SQL instance where the recorded SQL queries are executed).", +"id": "WorkloadCapturesStartReplayRequest", +"properties": { +"startWorkloadReplayContext": { +"$ref": "StartWorkloadReplayContext", +"description": "Required. Contains details about the start workload replay operation." +} +}, +"type": "object" +}, +"WorkloadCapturesStartRequest": { +"description": "Request to start recording traffic from the primary instance (captured workload).", +"id": "WorkloadCapturesStartRequest", +"properties": { +"startWorkloadCaptureContext": { +"$ref": "StartWorkloadCaptureContext", +"description": "Optional. Contains details about the start workload capture operation." +} +}, +"type": "object" +}, +"WorkloadCapturesStopReplayRequest": { +"description": "Request to stop an active workload replay on a target Cloud SQL replay instance.", +"id": "WorkloadCapturesStopReplayRequest", +"properties": { +"stopWorkloadReplayContext": { +"$ref": "StopWorkloadReplayContext", +"description": "Optional. Contains details about the stop workload replay operation." +} +}, +"type": "object" +}, +"WorkloadCapturesStopRequest": { +"description": "Request to stop recording traffic from the primary instance.", +"id": "WorkloadCapturesStopRequest", +"properties": { +"stopWorkloadCaptureContext": { +"$ref": "StopWorkloadCaptureContext", +"description": "Optional. Contains details about the stop workload capture operation." +} +}, +"type": "object" } }, "servicePath": "", From 150e735122ec51a97dc24cf8ea555c2a667be481 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 52/57] fix(sts): update the api #### sts:v1 The following keys were changed: - endpoints (Total Keys: 1) #### sts:v1beta The following keys were changed: - endpoints (Total Keys: 1) --- googleapiclient/discovery_cache/documents/sts.v1.json | 7 ++++++- googleapiclient/discovery_cache/documents/sts.v1beta.json | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/googleapiclient/discovery_cache/documents/sts.v1.json b/googleapiclient/discovery_cache/documents/sts.v1.json index 91167dac4a..b841ba8b11 100644 --- a/googleapiclient/discovery_cache/documents/sts.v1.json +++ b/googleapiclient/discovery_cache/documents/sts.v1.json @@ -64,6 +64,11 @@ }, { "description": "Regional Endpoint", +"endpointUrl": "https://sts.asia-southeast4.rep.googleapis.com/", +"location": "asia-southeast4" +}, +{ +"description": "Regional Endpoint", "endpointUrl": "https://sts.australia-southeast1.rep.googleapis.com/", "location": "australia-southeast1" }, @@ -481,7 +486,7 @@ } } }, -"revision": "20261014", +"revision": "20261028", "rootUrl": "https://sts.googleapis.com/", "schemas": { "GoogleIamV1Binding": { diff --git a/googleapiclient/discovery_cache/documents/sts.v1beta.json b/googleapiclient/discovery_cache/documents/sts.v1beta.json index 41a5099840..9e690b6122 100644 --- a/googleapiclient/discovery_cache/documents/sts.v1beta.json +++ b/googleapiclient/discovery_cache/documents/sts.v1beta.json @@ -64,6 +64,11 @@ }, { "description": "Regional Endpoint", +"endpointUrl": "https://sts.asia-southeast4.rep.googleapis.com/", +"location": "asia-southeast4" +}, +{ +"description": "Regional Endpoint", "endpointUrl": "https://sts.australia-southeast1.rep.googleapis.com/", "location": "australia-southeast1" }, @@ -353,7 +358,7 @@ } } }, -"revision": "20260916", +"revision": "20261028", "rootUrl": "https://sts.googleapis.com/", "schemas": { "GoogleIamV1Binding": { From 4a14cb3ead25214855fe42d8b9deb68e0050dae7 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 53/57] feat(tasks): update the api #### tasks:v1 The following keys were deleted: - resources.tasks.methods.insert.parameters.hidden (Total Keys: 2) --- docs/dyn/tasks_v1.tasks.html | 5 ++--- googleapiclient/discovery_cache/documents/tasks.v1.json | 7 +------ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/docs/dyn/tasks_v1.tasks.html b/docs/dyn/tasks_v1.tasks.html index 8824c6cdf5..d70b4dfb87 100644 --- a/docs/dyn/tasks_v1.tasks.html +++ b/docs/dyn/tasks_v1.tasks.html @@ -87,7 +87,7 @@

Instance Methods

get(tasklist, task, x__xgafv=None)

Returns the specified task.

- insert(tasklist, body=None, hidden=None, parent=None, previous=None, x__xgafv=None)

+ insert(tasklist, body=None, parent=None, previous=None, x__xgafv=None)

Creates a new task on the specified task list. Tasks assigned from Docs or Chat Spaces cannot be inserted from Tasks Public API; they can only be created by assigning them from Docs or Chat Spaces. A user can have up to 20,000 non-hidden tasks per list and up to 100,000 tasks in total at a time.

list(tasklist, completedMax=None, completedMin=None, dueMax=None, dueMin=None, maxResults=None, pageToken=None, showAssigned=None, showCompleted=None, showDeleted=None, showHidden=None, updatedMin=None, x__xgafv=None)

@@ -190,7 +190,7 @@

Method Details

- insert(tasklist, body=None, hidden=None, parent=None, previous=None, x__xgafv=None) + insert(tasklist, body=None, parent=None, previous=None, x__xgafv=None)
Creates a new task on the specified task list. Tasks assigned from Docs or Chat Spaces cannot be inserted from Tasks Public API; they can only be created by assigning them from Docs or Chat Spaces. A user can have up to 20,000 non-hidden tasks per list and up to 100,000 tasks in total at a time.
 
 Args:
@@ -234,7 +234,6 @@ 

Method Details

"webViewLink": "A String", # Output only. An absolute link to the task in the Google Tasks Web UI. } - hidden: boolean, Optional. Flag indicating whether the task is created as 'hidden', as if it had been completed and then cleared from the task list (see the "clear" method). Hidden tasks are not returned by default when retrieving all tasks for a task list (see showHidden). Only completed tasks can be created as hidden, and they can not be nested or positioned, so parent and previous must be empty. parent: string, Optional. Parent task identifier. If the task is created at the top level, this parameter is omitted. An assigned task cannot be a parent task, nor can it have a parent. Setting the parent to an assigned task results in failure of the request. previous: string, Optional. Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted. x__xgafv: string, V1 error format. diff --git a/googleapiclient/discovery_cache/documents/tasks.v1.json b/googleapiclient/discovery_cache/documents/tasks.v1.json index d8f750e7c2..53e9f2b2e2 100644 --- a/googleapiclient/discovery_cache/documents/tasks.v1.json +++ b/googleapiclient/discovery_cache/documents/tasks.v1.json @@ -350,11 +350,6 @@ "tasklist" ], "parameters": { -"hidden": { -"description": "Optional. Flag indicating whether the task is created as 'hidden', as if it had been completed and then cleared from the task list (see the \"clear\" method). Hidden tasks are not returned by default when retrieving all tasks for a task list (see showHidden). Only completed tasks can be created as hidden, and they can not be nested or positioned, so parent and previous must be empty.", -"location": "query", -"type": "boolean" -}, "parent": { "description": "Optional. Parent task identifier. If the task is created at the top level, this parameter is omitted. An assigned task cannot be a parent task, nor can it have a parent. Setting the parent to an assigned task results in failure of the request.", "location": "query", @@ -581,7 +576,7 @@ } } }, -"revision": "20261025", +"revision": "20261101", "rootUrl": "https://tasks.googleapis.com/", "schemas": { "AssignmentInfo": { From cd87f5dd350bf3d4b07bfec73dc07a3af9b5d334 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 54/57] feat(threatintelligence): update the api #### threatintelligence:v1beta The following keys were added: - schemas.CustomerProfileBrand (Total Keys: 6) - schemas.CustomerProfileConfig.properties.brands (Total Keys: 2) --- ...igence_v1beta.projects.configurations.html | 27 ++++++++++++++++ ...eta.projects.configurations.revisions.html | 9 ++++++ .../documents/threatintelligence.v1beta.json | 31 ++++++++++++++++++- 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/docs/dyn/threatintelligence_v1beta.projects.configurations.html b/docs/dyn/threatintelligence_v1beta.projects.configurations.html index 3977b9c285..2db7adaec5 100644 --- a/docs/dyn/threatintelligence_v1beta.projects.configurations.html +++ b/docs/dyn/threatintelligence_v1beta.projects.configurations.html @@ -151,6 +151,15 @@

Method Details

"scenarioType": "A String", # Optional. The custom threat scenario type used to create this configuration. }, "customerProfile": { # CustomerProfileConfig is the configuration for the customer profile. # Customer Profile detail config. + "brands": [ # Optional. Brands associated with the organization. + { # Brand information for the customer profile. + "brand": "A String", # Required. The name of the brand. + "citationIds": [ # Optional. The citation ids for the brand. + "A String", + ], + "id": "A String", # Optional. The unique identifier for the brand. + }, + ], "citations": [ # Optional. Citations for the organization profile. { # Citation information for the customer profile. "citationId": "A String", # Required. The citation id for the citation. Should be unique within the profile. @@ -416,6 +425,15 @@

Method Details

"scenarioType": "A String", # Optional. The custom threat scenario type used to create this configuration. }, "customerProfile": { # CustomerProfileConfig is the configuration for the customer profile. # Customer Profile detail config. + "brands": [ # Optional. Brands associated with the organization. + { # Brand information for the customer profile. + "brand": "A String", # Required. The name of the brand. + "citationIds": [ # Optional. The citation ids for the brand. + "A String", + ], + "id": "A String", # Optional. The unique identifier for the brand. + }, + ], "citations": [ # Optional. Citations for the organization profile. { # Citation information for the customer profile. "citationId": "A String", # Required. The citation id for the citation. Should be unique within the profile. @@ -687,6 +705,15 @@

Method Details

"scenarioType": "A String", # Optional. The custom threat scenario type used to create this configuration. }, "customerProfile": { # CustomerProfileConfig is the configuration for the customer profile. # Customer Profile detail config. + "brands": [ # Optional. Brands associated with the organization. + { # Brand information for the customer profile. + "brand": "A String", # Required. The name of the brand. + "citationIds": [ # Optional. The citation ids for the brand. + "A String", + ], + "id": "A String", # Optional. The unique identifier for the brand. + }, + ], "citations": [ # Optional. Citations for the organization profile. { # Citation information for the customer profile. "citationId": "A String", # Required. The citation id for the citation. Should be unique within the profile. diff --git a/docs/dyn/threatintelligence_v1beta.projects.configurations.revisions.html b/docs/dyn/threatintelligence_v1beta.projects.configurations.revisions.html index c46d62611d..4a0b961860 100644 --- a/docs/dyn/threatintelligence_v1beta.projects.configurations.revisions.html +++ b/docs/dyn/threatintelligence_v1beta.projects.configurations.revisions.html @@ -150,6 +150,15 @@

Method Details

"scenarioType": "A String", # Optional. The custom threat scenario type used to create this configuration. }, "customerProfile": { # CustomerProfileConfig is the configuration for the customer profile. # Customer Profile detail config. + "brands": [ # Optional. Brands associated with the organization. + { # Brand information for the customer profile. + "brand": "A String", # Required. The name of the brand. + "citationIds": [ # Optional. The citation ids for the brand. + "A String", + ], + "id": "A String", # Optional. The unique identifier for the brand. + }, + ], "citations": [ # Optional. Citations for the organization profile. { # Citation information for the customer profile. "citationId": "A String", # Required. The citation id for the citation. Should be unique within the profile. diff --git a/googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json b/googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json index 6830129c0f..8778c8d7c3 100644 --- a/googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json +++ b/googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json @@ -842,7 +842,7 @@ } } }, -"revision": "20261025", +"revision": "20261102", "rootUrl": "https://threatintelligence.googleapis.com/", "schemas": { "AVDetections": { @@ -1423,6 +1423,28 @@ }, "type": "object" }, +"CustomerProfileBrand": { +"description": "Brand information for the customer profile.", +"id": "CustomerProfileBrand", +"properties": { +"brand": { +"description": "Required. The name of the brand.", +"type": "string" +}, +"citationIds": { +"description": "Optional. The citation ids for the brand.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Optional. The unique identifier for the brand.", +"type": "string" +} +}, +"type": "object" +}, "CustomerProfileCitation": { "description": "Citation information for the customer profile.", "id": "CustomerProfileCitation", @@ -1491,6 +1513,13 @@ "description": "CustomerProfileConfig is the configuration for the customer profile.", "id": "CustomerProfileConfig", "properties": { +"brands": { +"description": "Optional. Brands associated with the organization.", +"items": { +"$ref": "CustomerProfileBrand" +}, +"type": "array" +}, "citations": { "description": "Optional. Citations for the organization profile.", "items": { From 258f09cd8505e13bc075e54c68c1a73bb78c7c75 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 55/57] feat(webcontentpublisher): update the api #### webcontentpublisher:v1 The following keys were added: - resources.publications.methods.checkProgramAccess (Total Keys: 15) - schemas.CheckProgramAccessResponse (Total Keys: 3) --- .../webcontentpublisher_v1.publications.html | 26 +++++++- .../documents/webcontentpublisher.v1.json | 65 ++++++++++++++++++- 2 files changed, 88 insertions(+), 3 deletions(-) diff --git a/docs/dyn/webcontentpublisher_v1.publications.html b/docs/dyn/webcontentpublisher_v1.publications.html index 082a0569c6..6cf37be7fc 100644 --- a/docs/dyn/webcontentpublisher_v1.publications.html +++ b/docs/dyn/webcontentpublisher_v1.publications.html @@ -77,6 +77,9 @@

Instance Methods

checkFreeAccess(name, httpReferrer=None, uri=None, x__xgafv=None)

Checks if a user is eligible for free article access.

+

+ checkProgramAccess(name, productId=None, swgUserToken=None, x__xgafv=None)

+

Checks if a reader has active program access.

close()

Close httplib2 connections.

@@ -86,7 +89,7 @@

Method Details

Checks if a user is eligible for free article access.
 
 Args:
-  name: string, Required. The resource name of the publication. Format: publications/{publication_id} (required)
+  name: string, Required. The resource name of the publication. Format: publications/{publication} (required)
   httpReferrer: string, Required. The HTTP referrer.
   uri: string, Required. The URI of the content.
   x__xgafv: string, V1 error format.
@@ -102,6 +105,27 @@ 

Method Details

}
+
+ checkProgramAccess(name, productId=None, swgUserToken=None, x__xgafv=None) +
Checks if a reader has active program access.
+
+Args:
+  name: string, Required. The resource name of the publication. Format: publications/{publication} (required)
+  productId: string, Required. The specific product ID being accessed.
+  swgUserToken: string, Required. The encrypted site token string received from the Chrome HTTP header.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `CheckProgramAccess`.
+  "status": "A String", # The entitlement access status.
+}
+
+
close()
Close httplib2 connections.
diff --git a/googleapiclient/discovery_cache/documents/webcontentpublisher.v1.json b/googleapiclient/discovery_cache/documents/webcontentpublisher.v1.json index 659e95ec93..f1d110e788 100644 --- a/googleapiclient/discovery_cache/documents/webcontentpublisher.v1.json +++ b/googleapiclient/discovery_cache/documents/webcontentpublisher.v1.json @@ -2,6 +2,9 @@ "auth": { "oauth2": { "scopes": { +"https://www.googleapis.com/auth/webcontentpublisher.publications.entitlements.readonly.system": { +"description": "Private Service: https://www.googleapis.com/auth/webcontentpublisher.publications.entitlements.readonly.system" +}, "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system": { "description": "Private Service: https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" } @@ -427,7 +430,7 @@ "type": "string" }, "name": { -"description": "Required. The resource name of the publication. Format: publications/{publication_id}", +"description": "Required. The resource name of the publication. Format: publications/{publication}", "location": "path", "pattern": "^publications/[^/]+$", "required": true, @@ -443,6 +446,41 @@ "response": { "$ref": "CheckFreeAccessResponse" } +}, +"checkProgramAccess": { +"description": "Checks if a reader has active program access.", +"flatPath": "v1/publications/{publicationsId}:checkProgramAccess", +"httpMethod": "GET", +"id": "webcontentpublisher.publications.checkProgramAccess", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the publication. Format: publications/{publication}", +"location": "path", +"pattern": "^publications/[^/]+$", +"required": true, +"type": "string" +}, +"productId": { +"description": "Required. The specific product ID being accessed.", +"location": "query", +"type": "string" +}, +"swgUserToken": { +"description": "Required. The encrypted site token string received from the Chrome HTTP header.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:checkProgramAccess", +"response": { +"$ref": "CheckProgramAccessResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/webcontentpublisher.publications.entitlements.readonly.system" +] } } }, @@ -476,7 +514,7 @@ } } }, -"revision": "20261028", +"revision": "20261103", "rootUrl": "https://webcontentpublisher.googleapis.com/", "schemas": { "AnswerChoiceTemplate": { @@ -1533,6 +1571,29 @@ false }, "type": "object" }, +"CheckProgramAccessResponse": { +"description": "Response message for `CheckProgramAccess`.", +"id": "CheckProgramAccessResponse", +"properties": { +"status": { +"description": "The entitlement access status.", +"enum": [ +"PROGRAM_ACCESS_STATUS_UNSPECIFIED", +"HAS_ACCESS", +"NO_ACCESS", +"CAP_EXHAUSTED" +], +"enumDescriptions": [ +"Status is unspecified.", +"The reader has active program access.", +"The reader does not have active program access.", +"The program access quota or meter has been exhausted." +], +"type": "string" +} +}, +"type": "object" +}, "ContentPolicyStatus": { "description": "The content policy status of the publication, indicating any violations.", "id": "ContentPolicyStatus", From 1ecebf2ad020375154907fd0f0d30261bdc12978 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:29 +0000 Subject: [PATCH 56/57] feat(youtube): update the api #### youtube:v3 The following keys were added: - schemas.ThumbnailDetails.properties.shortsAspectRatio.$ref (Total Keys: 1) --- docs/dyn/youtube_v3.activities.html | 5 +++ docs/dyn/youtube_v3.channels.html | 15 ++++++++ docs/dyn/youtube_v3.liveBroadcasts.html | 35 +++++++++++++++++++ docs/dyn/youtube_v3.playlistItems.html | 25 +++++++++++++ docs/dyn/youtube_v3.playlists.html | 25 +++++++++++++ docs/dyn/youtube_v3.search.html | 5 +++ docs/dyn/youtube_v3.subscriptions.html | 30 ++++++++++++++++ docs/dyn/youtube_v3.thumbnails.html | 5 +++ docs/dyn/youtube_v3.videos.html | 25 +++++++++++++ .../discovery_cache/documents/youtube.v3.json | 6 +++- 10 files changed, 175 insertions(+), 1 deletion(-) diff --git a/docs/dyn/youtube_v3.activities.html b/docs/dyn/youtube_v3.activities.html index f0b9a154be..2a44601b3d 100644 --- a/docs/dyn/youtube_v3.activities.html +++ b/docs/dyn/youtube_v3.activities.html @@ -246,6 +246,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/docs/dyn/youtube_v3.channels.html b/docs/dyn/youtube_v3.channels.html index 11872e28a3..75feeeaedc 100644 --- a/docs/dyn/youtube_v3.channels.html +++ b/docs/dyn/youtube_v3.channels.html @@ -308,6 +308,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -569,6 +574,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -803,6 +813,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/docs/dyn/youtube_v3.liveBroadcasts.html b/docs/dyn/youtube_v3.liveBroadcasts.html index 8a8470e873..ed3ab36abc 100644 --- a/docs/dyn/youtube_v3.liveBroadcasts.html +++ b/docs/dyn/youtube_v3.liveBroadcasts.html @@ -219,6 +219,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -374,6 +379,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -509,6 +519,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -711,6 +726,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -886,6 +906,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -1021,6 +1046,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -1156,6 +1186,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/docs/dyn/youtube_v3.playlistItems.html b/docs/dyn/youtube_v3.playlistItems.html index 9b4cd5fe42..ead9fab637 100644 --- a/docs/dyn/youtube_v3.playlistItems.html +++ b/docs/dyn/youtube_v3.playlistItems.html @@ -176,6 +176,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -260,6 +265,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -360,6 +370,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -471,6 +486,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -555,6 +575,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/docs/dyn/youtube_v3.playlists.html b/docs/dyn/youtube_v3.playlists.html index 8363c328e9..20e2df2ca9 100644 --- a/docs/dyn/youtube_v3.playlists.html +++ b/docs/dyn/youtube_v3.playlists.html @@ -182,6 +182,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -272,6 +277,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -379,6 +389,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -495,6 +510,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -584,6 +604,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/docs/dyn/youtube_v3.search.html b/docs/dyn/youtube_v3.search.html index f96ff8ddb9..bca86bc7ba 100644 --- a/docs/dyn/youtube_v3.search.html +++ b/docs/dyn/youtube_v3.search.html @@ -245,6 +245,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/docs/dyn/youtube_v3.subscriptions.html b/docs/dyn/youtube_v3.subscriptions.html index 9733eb5d3a..ea9fc2cce3 100644 --- a/docs/dyn/youtube_v3.subscriptions.html +++ b/docs/dyn/youtube_v3.subscriptions.html @@ -167,6 +167,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -214,6 +219,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -287,6 +297,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -334,6 +349,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -434,6 +454,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -481,6 +506,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/docs/dyn/youtube_v3.thumbnails.html b/docs/dyn/youtube_v3.thumbnails.html index bbba6438c2..ed45875a36 100644 --- a/docs/dyn/youtube_v3.thumbnails.html +++ b/docs/dyn/youtube_v3.thumbnails.html @@ -138,6 +138,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/docs/dyn/youtube_v3.videos.html b/docs/dyn/youtube_v3.videos.html index d98b3d7ff2..9ebed473b9 100644 --- a/docs/dyn/youtube_v3.videos.html +++ b/docs/dyn/youtube_v3.videos.html @@ -446,6 +446,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -773,6 +778,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -1123,6 +1133,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -1513,6 +1528,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. @@ -1834,6 +1854,11 @@

Method Details

"url": "A String", # The thumbnail image's URL. "width": 42, # (Optional) Width of the thumbnail image. }, + "shortsAspectRatio": { # A thumbnail is an image representing a YouTube resource. # The Shorts aspect ratio (9:16) image for this resource. + "height": 42, # (Optional) Height of the thumbnail image. + "url": "A String", # The thumbnail image's URL. + "width": 42, # (Optional) Width of the thumbnail image. + }, "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource. "height": 42, # (Optional) Height of the thumbnail image. "url": "A String", # The thumbnail image's URL. diff --git a/googleapiclient/discovery_cache/documents/youtube.v3.json b/googleapiclient/discovery_cache/documents/youtube.v3.json index 59c7c6f610..4bdfed2ec5 100644 --- a/googleapiclient/discovery_cache/documents/youtube.v3.json +++ b/googleapiclient/discovery_cache/documents/youtube.v3.json @@ -4188,7 +4188,7 @@ } } }, -"revision": "20261019", +"revision": "20261104", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { @@ -11292,6 +11292,10 @@ false "$ref": "Thumbnail", "description": "The quad high definition (1440p / 2K) quality image for this resource." }, +"shortsAspectRatio": { +"$ref": "Thumbnail", +"description": "The Shorts aspect ratio (9:16) image for this resource." +}, "standard": { "$ref": "Thumbnail", "description": "The standard quality image for this resource." From 434ea1b498f1128254f81e7157d3533d824291b8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 10 Nov 2026 07:13:30 +0000 Subject: [PATCH 57/57] chore(docs): Add new discovery artifacts and artifacts with minor updates --- docs/dyn/admin_directory_v1.users.html | 4 +- docs/dyn/analyticsadmin_v1alpha.accounts.html | 2 +- docs/dyn/analyticsadmin_v1beta.accounts.html | 2 +- ...tions_v1.projects.locations.functions.html | 8 +- ...tions_v2.projects.locations.functions.html | 16 +- ..._v2alpha.projects.locations.functions.html | 16 +- ...s_v2beta.projects.locations.functions.html | 16 +- docs/dyn/colaboratory_v1.html | 111 +++ docs/dyn/colaboratory_v1.operations.html | 224 +++++ docs/dyn/colaboratory_v1beta.html | 121 +++ docs/dyn/colaboratory_v1beta.runtimes.html | 234 ++++++ .../dyn/colaboratory_v1beta.runtimespecs.html | 116 +++ docs/dyn/colaboratory_v1beta.v1beta.html | 109 +++ .../dyn/css_v1.accounts.cssProductInputs.html | 16 +- docs/dyn/css_v1.accounts.cssProducts.html | 8 +- .../dfareporting_v5.studioCreativeAssets.html | 4 +- docs/dyn/drive_v3.approvals.html | 8 + docs/dyn/firebaseappcheck_v1.jwks.html | 22 +- .../dyn/firebaseappcheck_v1.oauthClients.html | 6 +- .../firebaseappcheck_v1.projects.apps.html | 16 +- docs/dyn/firebaseappcheck_v1beta.jwks.html | 22 +- .../firebaseappcheck_v1beta.oauthClients.html | 14 +- ...firebaseappcheck_v1beta.projects.apps.html | 38 +- ...onnect_v1.projects.locations.services.html | 16 +- ...ct_v1beta.projects.locations.services.html | 16 +- docs/dyn/homegraph_v1.devices.html | 18 +- docs/dyn/identitytoolkit_v1.accounts.html | 4 +- .../identitytoolkit_v1.projects.accounts.html | 12 +- docs/dyn/identitytoolkit_v1.projects.html | 6 +- ...ytoolkit_v1.projects.tenants.accounts.html | 12 +- ...dkafka_v1.projects.locations.clusters.html | 8 +- ...conferenceRecords.transcripts.entries.html | 4 +- docs/dyn/meet_v2.spaces.members.html | 18 +- ...nizations.locations.firewallEndpoints.html | 250 +++--- ...dpoints.wildfireVerdictChangeRequests.html | 150 ++-- ...tions.locations.securityProfileGroups.html | 126 +-- ...anizations.locations.securityProfiles.html | 454 +++++----- ...ocations.firewallEndpointAssociations.html | 128 +-- ....projects.locations.firewallEndpoints.html | 250 +++--- ...dpoints.wildfireVerdictChangeRequests.html | 150 ++-- ...jects.locations.securityProfileGroups.html | 126 +-- ...1.projects.locations.securityProfiles.html | 454 +++++----- ...nizations.locations.firewallEndpoints.html | 258 +++--- ...dpoints.wildfireVerdictChangeRequests.html | 150 ++-- ...tions.locations.securityProfileGroups.html | 126 +-- ...anizations.locations.securityProfiles.html | 454 +++++----- ...ocations.firewallEndpointAssociations.html | 128 +-- ....projects.locations.firewallEndpoints.html | 258 +++--- ...dpoints.wildfireVerdictChangeRequests.html | 150 ++-- ...jects.locations.securityProfileGroups.html | 126 +-- ...1.projects.locations.securityProfiles.html | 454 +++++----- ...chaenterprise_v1.projects.assessments.html | 16 +- .../recaptchaenterprise_v1.projects.keys.html | 20 +- ...curityscanner_v1.projects.scanConfigs.html | 4 +- ...yscanner_v1alpha.projects.scanConfigs.html | 4 +- ...tyscanner_v1beta.projects.scanConfigs.html | 4 +- .../documents/admin.directory_v1.json | 4 +- .../documents/analyticsadmin.v1alpha.json | 4 +- .../documents/analyticsadmin.v1beta.json | 4 +- .../documents/cloudbuild.v1.json | 9 +- .../documents/cloudfunctions.v1.json | 4 +- .../documents/cloudfunctions.v2.json | 4 +- .../documents/cloudfunctions.v2alpha.json | 4 +- .../documents/cloudfunctions.v2beta.json | 4 +- .../documents/colaboratory.v1.json | 312 +++++++ .../documents/colaboratory.v1beta.json | 524 ++++++++++++ .../discovery_cache/documents/css.v1.json | 6 +- .../documents/curationpartners.v1.json | 8 +- .../documents/databasecenter.v1beta.json | 774 +++++++++++++++++- .../documents/dfareporting.v5.json | 4 +- .../discovery_cache/documents/dlp.v2.json | 8 +- .../discovery_cache/documents/drive.v3.json | 6 +- .../documents/firebaseappcheck.v1.json | 24 +- .../documents/firebaseappcheck.v1beta.json | 28 +- .../documents/firebasedataconnect.v1.json | 6 +- .../documents/firebasedataconnect.v1beta.json | 6 +- .../documents/gkehub.v1alpha.json | 6 +- .../documents/gkehub.v1beta.json | 6 +- .../discovery_cache/documents/gkehub.v2.json | 4 +- .../documents/gkehub.v2alpha.json | 4 +- .../documents/homegraph.v1.json | 14 +- .../documents/identitytoolkit.v1.json | 8 +- .../documents/managedkafka.v1.json | 4 +- .../discovery_cache/documents/meet.v2.json | 8 +- .../documents/mybusinessnotifications.v1.json | 18 +- .../documents/networksecurity.v1.json | 680 +++++++-------- .../documents/networksecurity.v1beta1.json | 682 +++++++-------- .../discovery_cache/documents/places.v1.json | 6 +- .../documents/recaptchaenterprise.v1.json | 14 +- .../documents/recommender.v1.json | 52 +- .../documents/recommender.v1beta1.json | 52 +- .../documents/transcoder.v1.json | 4 +- .../documents/websecurityscanner.v1.json | 4 +- .../documents/websecurityscanner.v1alpha.json | 4 +- .../documents/websecurityscanner.v1beta.json | 4 +- 95 files changed, 5718 insertions(+), 3086 deletions(-) create mode 100644 docs/dyn/colaboratory_v1.html create mode 100644 docs/dyn/colaboratory_v1.operations.html create mode 100644 docs/dyn/colaboratory_v1beta.html create mode 100644 docs/dyn/colaboratory_v1beta.runtimes.html create mode 100644 docs/dyn/colaboratory_v1beta.runtimespecs.html create mode 100644 docs/dyn/colaboratory_v1beta.v1beta.html create mode 100644 googleapiclient/discovery_cache/documents/colaboratory.v1.json create mode 100644 googleapiclient/discovery_cache/documents/colaboratory.v1beta.json diff --git a/docs/dyn/admin_directory_v1.users.html b/docs/dyn/admin_directory_v1.users.html index b4380e7eb2..d302276d24 100644 --- a/docs/dyn/admin_directory_v1.users.html +++ b/docs/dyn/admin_directory_v1.users.html @@ -89,7 +89,7 @@

Instance Methods

Close httplib2 connections.

createGuest(body=None, x__xgafv=None)

-

Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Open Beta.

+

Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545).

delete(userKey, x__xgafv=None)

Deletes a user.

@@ -131,7 +131,7 @@

Method Details

createGuest(body=None, x__xgafv=None) -
Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Open Beta.
+  
Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545).
 
 Args:
   body: object, The request body.
diff --git a/docs/dyn/analyticsadmin_v1alpha.accounts.html b/docs/dyn/analyticsadmin_v1alpha.accounts.html
index 8334757b54..80ef9b2a5e 100644
--- a/docs/dyn/analyticsadmin_v1alpha.accounts.html
+++ b/docs/dyn/analyticsadmin_v1alpha.accounts.html
@@ -288,7 +288,7 @@ 

Method Details

"regionCode": "A String", # Country of business. Must be a Unicode CLDR region code. "updateTime": "A String", # Output only. Time when account payload fields were last updated. }, - "redirectUri": "A String", # Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in Cloud Console as a Redirect URI. + "redirectUri": "A String", # Redirect URI where the user will be sent after accepting Terms of Service. } x__xgafv: string, V1 error format. diff --git a/docs/dyn/analyticsadmin_v1beta.accounts.html b/docs/dyn/analyticsadmin_v1beta.accounts.html index 12e42d9d02..73c736eb3f 100644 --- a/docs/dyn/analyticsadmin_v1beta.accounts.html +++ b/docs/dyn/analyticsadmin_v1beta.accounts.html @@ -283,7 +283,7 @@

Method Details

"regionCode": "A String", # Country of business. Must be a Unicode CLDR region code. "updateTime": "A String", # Output only. Time when account payload fields were last updated. }, - "redirectUri": "A String", # Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in Cloud Console as a Redirect URI. + "redirectUri": "A String", # Redirect URI where the user will be sent after accepting Terms of Service. } x__xgafv: string, V1 error format. diff --git a/docs/dyn/cloudfunctions_v1.projects.locations.functions.html b/docs/dyn/cloudfunctions_v1.projects.locations.functions.html index d5b58d631d..5434823f37 100644 --- a/docs/dyn/cloudfunctions_v1.projects.locations.functions.html +++ b/docs/dyn/cloudfunctions_v1.projects.locations.functions.html @@ -166,7 +166,7 @@

Method Details

"buildId": "A String", # Output only. The Cloud Build ID of the latest successful deployment of the function. "buildName": "A String", # Output only. The Cloud Build Name of the function deployment. `projects//locations//builds/`. "buildServiceAccount": "A String", # A service account the user provides for use with Cloud Build. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. - "buildWorkerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project. + "buildWorkerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project. "description": "A String", # User-provided description of a function. "dockerRegistry": "A String", # Docker Registry to use for this deployment. Deprecated: as of March 2025, `CONTAINER_REGISTRY` option is no longer available in response to Container Registry's deprecation: https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr Please use Artifact Registry instead, which is the default choice. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`. "dockerRepository": "A String", # User-managed repository created in Artifact Registry to which the function's Docker image will be pushed after it is built by Cloud Build. May optionally be encrypted with a customer-managed encryption key (CMEK). If unspecified and `docker_registry` is not explicitly set to `CONTAINER_REGISTRY`, GCF will create and use a default Artifact Registry repository named 'gcf-artifacts' in the region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. @@ -380,7 +380,7 @@

Method Details

"buildId": "A String", # Output only. The Cloud Build ID of the latest successful deployment of the function. "buildName": "A String", # Output only. The Cloud Build Name of the function deployment. `projects//locations//builds/`. "buildServiceAccount": "A String", # A service account the user provides for use with Cloud Build. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. - "buildWorkerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project. + "buildWorkerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project. "description": "A String", # User-provided description of a function. "dockerRegistry": "A String", # Docker Registry to use for this deployment. Deprecated: as of March 2025, `CONTAINER_REGISTRY` option is no longer available in response to Container Registry's deprecation: https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr Please use Artifact Registry instead, which is the default choice. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`. "dockerRepository": "A String", # User-managed repository created in Artifact Registry to which the function's Docker image will be pushed after it is built by Cloud Build. May optionally be encrypted with a customer-managed encryption key (CMEK). If unspecified and `docker_registry` is not explicitly set to `CONTAINER_REGISTRY`, GCF will create and use a default Artifact Registry repository named 'gcf-artifacts' in the region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. @@ -530,7 +530,7 @@

Method Details

"buildId": "A String", # Output only. The Cloud Build ID of the latest successful deployment of the function. "buildName": "A String", # Output only. The Cloud Build Name of the function deployment. `projects//locations//builds/`. "buildServiceAccount": "A String", # A service account the user provides for use with Cloud Build. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. - "buildWorkerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project. + "buildWorkerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project. "description": "A String", # User-provided description of a function. "dockerRegistry": "A String", # Docker Registry to use for this deployment. Deprecated: as of March 2025, `CONTAINER_REGISTRY` option is no longer available in response to Container Registry's deprecation: https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr Please use Artifact Registry instead, which is the default choice. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`. "dockerRepository": "A String", # User-managed repository created in Artifact Registry to which the function's Docker image will be pushed after it is built by Cloud Build. May optionally be encrypted with a customer-managed encryption key (CMEK). If unspecified and `docker_registry` is not explicitly set to `CONTAINER_REGISTRY`, GCF will create and use a default Artifact Registry repository named 'gcf-artifacts' in the region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. @@ -643,7 +643,7 @@

Method Details

"buildId": "A String", # Output only. The Cloud Build ID of the latest successful deployment of the function. "buildName": "A String", # Output only. The Cloud Build Name of the function deployment. `projects//locations//builds/`. "buildServiceAccount": "A String", # A service account the user provides for use with Cloud Build. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. - "buildWorkerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project. + "buildWorkerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project. "description": "A String", # User-provided description of a function. "dockerRegistry": "A String", # Docker Registry to use for this deployment. Deprecated: as of March 2025, `CONTAINER_REGISTRY` option is no longer available in response to Container Registry's deprecation: https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr Please use Artifact Registry instead, which is the default choice. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`. "dockerRepository": "A String", # User-managed repository created in Artifact Registry to which the function's Docker image will be pushed after it is built by Cloud Build. May optionally be encrypted with a customer-managed encryption key (CMEK). If unspecified and `docker_registry` is not explicitly set to `CONTAINER_REGISTRY`, GCF will create and use a default Artifact Registry repository named 'gcf-artifacts' in the region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. diff --git a/docs/dyn/cloudfunctions_v2.projects.locations.functions.html b/docs/dyn/cloudfunctions_v2.projects.locations.functions.html index 27efc3fdbb..cafb378ca9 100644 --- a/docs/dyn/cloudfunctions_v2.projects.locations.functions.html +++ b/docs/dyn/cloudfunctions_v2.projects.locations.functions.html @@ -320,7 +320,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -461,7 +461,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -767,7 +767,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -908,7 +908,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -1104,7 +1104,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -1245,7 +1245,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -1402,7 +1402,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -1543,7 +1543,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. diff --git a/docs/dyn/cloudfunctions_v2alpha.projects.locations.functions.html b/docs/dyn/cloudfunctions_v2alpha.projects.locations.functions.html index d69a9b18c0..ce2f6d8b4c 100644 --- a/docs/dyn/cloudfunctions_v2alpha.projects.locations.functions.html +++ b/docs/dyn/cloudfunctions_v2alpha.projects.locations.functions.html @@ -320,7 +320,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -461,7 +461,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -767,7 +767,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -908,7 +908,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -1104,7 +1104,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -1245,7 +1245,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -1402,7 +1402,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -1543,7 +1543,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. diff --git a/docs/dyn/cloudfunctions_v2beta.projects.locations.functions.html b/docs/dyn/cloudfunctions_v2beta.projects.locations.functions.html index b547c8966e..c13a4fd1f5 100644 --- a/docs/dyn/cloudfunctions_v2beta.projects.locations.functions.html +++ b/docs/dyn/cloudfunctions_v2beta.projects.locations.functions.html @@ -320,7 +320,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -461,7 +461,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -767,7 +767,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -908,7 +908,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -1104,7 +1104,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -1245,7 +1245,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. @@ -1402,7 +1402,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "createTime": "A String", # Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. "description": "A String", # User-provided description of a function. @@ -1543,7 +1543,7 @@

Method Details

}, }, "sourceToken": "A String", # An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. - "workerPool": "A String", # Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. + "workerPool": "A String", # Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. }, "eventTrigger": { # Describes EventTrigger, used to request events to be sent from another service. # Describes the Event trigger which has been setup to prepare for 2nd gen upgrade. "channel": "A String", # Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. diff --git a/docs/dyn/colaboratory_v1.html b/docs/dyn/colaboratory_v1.html new file mode 100644 index 0000000000..f8c69af7f5 --- /dev/null +++ b/docs/dyn/colaboratory_v1.html @@ -0,0 +1,111 @@ + + + +

Colab API

+

Instance Methods

+

+ operations() +

+

Returns the operations Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ new_batch_http_request(callback=None)

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ new_batch_http_request(callback=None) +
Create a BatchHttpRequest object based on the discovery document.
+
+Args:
+  callback: callable, A callback to be called for each response, of the
+    form callback(id, response, exception). The first parameter is the
+    request id, and the second is the deserialized response object. The
+    third is an apiclient.errors.HttpError exception object if an HTTP
+    error occurred while processing the request, or None if no error
+    occurred.
+
+Returns:
+  A BatchHttpRequest object based on the discovery document.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/colaboratory_v1.operations.html b/docs/dyn/colaboratory_v1.operations.html new file mode 100644 index 0000000000..d35f0fa723 --- /dev/null +++ b/docs/dyn/colaboratory_v1.operations.html @@ -0,0 +1,224 @@ + + + +

Colab API . operations

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

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.

+

+ list(pageSize=None, pageToken=None, x__xgafv=None)

+

Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ wait(name, timeout=None, x__xgafv=None)

+

Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(name, x__xgafv=None) +
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.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ list(pageSize=None, pageToken=None, x__xgafv=None) +
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.
+
+Args:
+  pageSize: integer, The standard list page size.
+  pageToken: string, The standard list page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Operations.ListOperations.
+  "nextPageToken": "A String", # The standard List next-page token.
+  "operations": [ # A list of operations that matches the specified filter in the request.
+    { # This resource represents a long-running operation that is the result of a network API call.
+      "done": True or False, # 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.
+      "error": { # 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). # The error result of the operation in case of failure or cancellation.
+        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+          {
+            "a_key": "", # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+        "message": "A String", # 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.
+      },
+      "metadata": { # 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.
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+      "name": "A String", # 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}`.
+      "response": { # 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`.
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+}
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+
+
+ +
+ wait(name, timeout=None, x__xgafv=None) +
Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.
+
+Args:
+  name: string, The name of the operation resource to wait on. (required)
+  timeout: string, The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/colaboratory_v1beta.html b/docs/dyn/colaboratory_v1beta.html new file mode 100644 index 0000000000..a7a7841bc7 --- /dev/null +++ b/docs/dyn/colaboratory_v1beta.html @@ -0,0 +1,121 @@ + + + +

Colab API

+

Instance Methods

+

+ runtimes() +

+

Returns the runtimes Resource.

+ +

+ runtimespecs() +

+

Returns the runtimespecs Resource.

+ +

+ v1beta() +

+

Returns the v1beta Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ new_batch_http_request(callback=None)

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ new_batch_http_request(callback=None) +
Create a BatchHttpRequest object based on the discovery document.
+
+Args:
+  callback: callable, A callback to be called for each response, of the
+    form callback(id, response, exception). The first parameter is the
+    request id, and the second is the deserialized response object. The
+    third is an apiclient.errors.HttpError exception object if an HTTP
+    error occurred while processing the request, or None if no error
+    occurred.
+
+Returns:
+  A BatchHttpRequest object based on the discovery document.
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/colaboratory_v1beta.runtimes.html b/docs/dyn/colaboratory_v1beta.runtimes.html new file mode 100644 index 0000000000..98cc5399b6 --- /dev/null +++ b/docs/dyn/colaboratory_v1beta.runtimes.html @@ -0,0 +1,234 @@ + + + +

Colab API . runtimes

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(body=None, requestId=None, runtimeId=None, x__xgafv=None)

+

Creates a Colab runtime assignment. When runtime creation is refused with a [`FAILED_PRECONDITION` (code: 9)](https://github.com/googleapis/googleapis/blob/437254f595a380cd9323111700ce0fcf9d6d2c21/google/rpc/code.proto#L128) error, a more specific error reason will be returned in the details of the Operation error wrapped in google.rpc.ErrorInfo. A requests-per-minute-per-project and a requests-per-minute-per-user quota are enforced on this API. To see the exact limit your project is subject to, after you enable the Colab API, view it in your project's [Quotas & System Limits](https://console.cloud.google.com/apis/api/colaboratory.googleapis.com/quotas) page. Note that there is no usage reporting on the per-user limit and it is not overridable at the individual user level.

+

+ delete(name, allowMissing=None, x__xgafv=None)

+

Deletes a Colab runtime assignment. **Best Practices:** - Avoid deleting runtimes unless necessary. Reuse runtimes for efficiency. - Open a new Jupyter session on an existing runtime for state isolation.

+

+ get(name, x__xgafv=None)

+

Gets a Colab runtime assigned to the requesting user.

+

+ list(x__xgafv=None)

+

Lists Colab runtimes assigned to the requesting user.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(body=None, requestId=None, runtimeId=None, x__xgafv=None) +
Creates a Colab runtime assignment. When runtime creation is refused with a [`FAILED_PRECONDITION` (code: 9)](https://github.com/googleapis/googleapis/blob/437254f595a380cd9323111700ce0fcf9d6d2c21/google/rpc/code.proto#L128) error, a more specific error reason will be returned in the details of the Operation error wrapped in google.rpc.ErrorInfo. A requests-per-minute-per-project and a requests-per-minute-per-user quota are enforced on this API. To see the exact limit your project is subject to, after you enable the Colab API, view it in your project's [Quotas & System Limits](https://console.cloud.google.com/apis/api/colaboratory.googleapis.com/quotas) page. Note that there is no usage reporting on the per-user limit and it is not overridable at the individual user level.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A Colab managed runtime. This is essentially a Jupyter server that runs on Google infrastructure. Clients should use the connection_info provided to connect to the runtime, and leverage the standard Jupyter [REST API](https://jupyter-server.readthedocs.io/en/stable/developers/rest-api.html) and/or [client library](https://jupyter-client.readthedocs.io/en/stable/api/jupyter_client.html) to interact with the runtime.
+  "connectionInfo": { # Connection info used to authenticate to the runtime. # Output only. The connection info used to authenticate to the runtime.
+    "expireTime": "A String", # Required. Output only. The expiration time of the runtime proxy token.
+    "token": "A String", # Required. Output only. The runtime proxy token. This is a short-lived credential used to authenticate to the runtime. Clients should set this token as the value of the `X-Colab-Runtime-Proxy-Token` HTTP header when connecting to the runtime, and call the GetRuntime API to refresh this token when approaching `expire_time`.
+    "url": "A String", # Required. Output only. The authenticated URL that can be used to connect to the runtime.
+  },
+  "name": "A String", # Identifier. The name of the runtime in the format `runtimes/{runtime_id}`, where `runtime_id` is either the value supplied via CreateRuntimeRequest.runtime_id or, if none was supplied, a random ID generated by the backend.
+  "runtimeSpec": { # Key fields that uniquely identify a runtime spec. # Required. The specification of the runtime. When calling `CreateRuntime`, this field should be set to an eligible runtime spec obtained from the ListRuntimeSpecsResponse.
+    "accelerator": "A String", # Required. Runtime accelerator model name (e.g., "T4", "L4", "A100"). For CPU runtime specs, this field will be "NONE".
+    "shape": "A String", # Required. Runtime shape.
+    "variant": "A String", # Required. Runtime variant.
+  },
+  "version": "A String", # Optional. The version of the runtime image. See [Colab Runtime Version FAQ](https://research.google.com/colaboratory/runtime-version-faq.html) for supported runtime versions. If omitted (empty), the latest runtime image is used.
+}
+
+  requestId: string, Optional. A unique identifier for this request. This request is only idempotent if a `request_id` is provided. See [AIP-155](https://google.aip.dev/155) for more details. If provided, the request ID must be in UUID4 format per https://linter.aip.dev/155/request-id-format.
+  runtimeId: string, Optional. A unique identifier for the runtime. If not supplied, a random ID will be generated. If a runtime with the given ID owned by the requesting user already exists, a completed Operation with an [`ALREADY_EXISTS` (code: 6)](https://github.com/googleapis/googleapis/blob/437254f595a380cd9323111700ce0fcf9d6d2c21/google/rpc/code.proto#L84) error will be returned. See [AIP-133](https://google.aip.dev/133#user-specified-ids) for more details. The ID must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034), specifically: - 1 to 63 characters - Lower-case letters, digits, and hyphens - Start with a letter - End with a letter or digit
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # 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.
+  "error": { # 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). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # 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.
+  },
+  "metadata": { # 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.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # 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}`.
+  "response": { # 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`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+ +
+ delete(name, allowMissing=None, x__xgafv=None) +
Deletes a Colab runtime assignment. **Best Practices:** - Avoid deleting runtimes unless necessary. Reuse runtimes for efficiency. - Open a new Jupyter session on an existing runtime for state isolation.
+
+Args:
+  name: string, Required. The name of the runtime to unassign. Format: `runtimes/{runtime_id}`. (required)
+  allowMissing: boolean, Optional. If set to `true`, and the runtime is not found, the request will succeed but no action will be taken on the server.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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); }
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets a Colab runtime assigned to the requesting user.
+
+Args:
+  name: string, Required. The name of the runtime to retrieve. Format: `runtimes/{runtime_id}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A Colab managed runtime. This is essentially a Jupyter server that runs on Google infrastructure. Clients should use the connection_info provided to connect to the runtime, and leverage the standard Jupyter [REST API](https://jupyter-server.readthedocs.io/en/stable/developers/rest-api.html) and/or [client library](https://jupyter-client.readthedocs.io/en/stable/api/jupyter_client.html) to interact with the runtime.
+  "connectionInfo": { # Connection info used to authenticate to the runtime. # Output only. The connection info used to authenticate to the runtime.
+    "expireTime": "A String", # Required. Output only. The expiration time of the runtime proxy token.
+    "token": "A String", # Required. Output only. The runtime proxy token. This is a short-lived credential used to authenticate to the runtime. Clients should set this token as the value of the `X-Colab-Runtime-Proxy-Token` HTTP header when connecting to the runtime, and call the GetRuntime API to refresh this token when approaching `expire_time`.
+    "url": "A String", # Required. Output only. The authenticated URL that can be used to connect to the runtime.
+  },
+  "name": "A String", # Identifier. The name of the runtime in the format `runtimes/{runtime_id}`, where `runtime_id` is either the value supplied via CreateRuntimeRequest.runtime_id or, if none was supplied, a random ID generated by the backend.
+  "runtimeSpec": { # Key fields that uniquely identify a runtime spec. # Required. The specification of the runtime. When calling `CreateRuntime`, this field should be set to an eligible runtime spec obtained from the ListRuntimeSpecsResponse.
+    "accelerator": "A String", # Required. Runtime accelerator model name (e.g., "T4", "L4", "A100"). For CPU runtime specs, this field will be "NONE".
+    "shape": "A String", # Required. Runtime shape.
+    "variant": "A String", # Required. Runtime variant.
+  },
+  "version": "A String", # Optional. The version of the runtime image. See [Colab Runtime Version FAQ](https://research.google.com/colaboratory/runtime-version-faq.html) for supported runtime versions. If omitted (empty), the latest runtime image is used.
+}
+
+ +
+ list(x__xgafv=None) +
Lists Colab runtimes assigned to the requesting user.
+
+Args:
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `ListRuntimes`.
+  "runtimes": [ # The list of runtimes assigned to the requesting user.
+    { # A Colab managed runtime. This is essentially a Jupyter server that runs on Google infrastructure. Clients should use the connection_info provided to connect to the runtime, and leverage the standard Jupyter [REST API](https://jupyter-server.readthedocs.io/en/stable/developers/rest-api.html) and/or [client library](https://jupyter-client.readthedocs.io/en/stable/api/jupyter_client.html) to interact with the runtime.
+      "connectionInfo": { # Connection info used to authenticate to the runtime. # Output only. The connection info used to authenticate to the runtime.
+        "expireTime": "A String", # Required. Output only. The expiration time of the runtime proxy token.
+        "token": "A String", # Required. Output only. The runtime proxy token. This is a short-lived credential used to authenticate to the runtime. Clients should set this token as the value of the `X-Colab-Runtime-Proxy-Token` HTTP header when connecting to the runtime, and call the GetRuntime API to refresh this token when approaching `expire_time`.
+        "url": "A String", # Required. Output only. The authenticated URL that can be used to connect to the runtime.
+      },
+      "name": "A String", # Identifier. The name of the runtime in the format `runtimes/{runtime_id}`, where `runtime_id` is either the value supplied via CreateRuntimeRequest.runtime_id or, if none was supplied, a random ID generated by the backend.
+      "runtimeSpec": { # Key fields that uniquely identify a runtime spec. # Required. The specification of the runtime. When calling `CreateRuntime`, this field should be set to an eligible runtime spec obtained from the ListRuntimeSpecsResponse.
+        "accelerator": "A String", # Required. Runtime accelerator model name (e.g., "T4", "L4", "A100"). For CPU runtime specs, this field will be "NONE".
+        "shape": "A String", # Required. Runtime shape.
+        "variant": "A String", # Required. Runtime variant.
+      },
+      "version": "A String", # Optional. The version of the runtime image. See [Colab Runtime Version FAQ](https://research.google.com/colaboratory/runtime-version-faq.html) for supported runtime versions. If omitted (empty), the latest runtime image is used.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/colaboratory_v1beta.runtimespecs.html b/docs/dyn/colaboratory_v1beta.runtimespecs.html new file mode 100644 index 0000000000..ca4b368325 --- /dev/null +++ b/docs/dyn/colaboratory_v1beta.runtimespecs.html @@ -0,0 +1,116 @@ + + + +

Colab API . runtimespecs

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(x__xgafv=None)

+

Lists available Colab runtime specs and their eligibility to the requesting user.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(x__xgafv=None) +
Lists available Colab runtime specs and their eligibility to the requesting user.
+
+Args:
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `ListRuntimeSpecs`.
+  "runtimeSpecs": [ # The list of runtime specs available to the requesting user.
+    { # A specification of a runtime.
+      "eligible": True or False, # Output only. Whether the requesting user is eligible for the runtime spec.
+      "key": { # Key fields that uniquely identify a runtime spec. # Required. The key of the runtime spec.
+        "accelerator": "A String", # Required. Runtime accelerator model name (e.g., "T4", "L4", "A100"). For CPU runtime specs, this field will be "NONE".
+        "shape": "A String", # Required. Runtime shape.
+        "variant": "A String", # Required. Runtime variant.
+      },
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/colaboratory_v1beta.v1beta.html b/docs/dyn/colaboratory_v1beta.v1beta.html new file mode 100644 index 0000000000..798450caaa --- /dev/null +++ b/docs/dyn/colaboratory_v1beta.v1beta.html @@ -0,0 +1,109 @@ + + + +

Colab API . v1beta

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ getSubscription(name, x__xgafv=None)

+

Gets the subscription of the requesting user.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ getSubscription(name, x__xgafv=None) +
Gets the subscription of the requesting user.
+
+Args:
+  name: string, Required. The name of the subscription to retrieve. The only valid value is "subscription". (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Colab user subscription information.
+  "name": "A String", # Identifier. Name of the subscription. This will always be "subscription".
+  "tier": "A String", # Required. User's Colab subscription tier.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/css_v1.accounts.cssProductInputs.html b/docs/dyn/css_v1.accounts.cssProductInputs.html index 64156c5b15..5229f629f7 100644 --- a/docs/dyn/css_v1.accounts.cssProductInputs.html +++ b/docs/dyn/css_v1.accounts.cssProductInputs.html @@ -145,7 +145,7 @@

Method Details

"customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign. "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign. "description": "A String", # Description of the item. - "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). + "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future. Note: It may take 2+ days from the expiration date for the item to actually get deleted. @@ -187,7 +187,7 @@

Method Details

"currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). }, "imageLink": "A String", # URL of an image of the item. - "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. + "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excluded_destinations`. Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price. @@ -293,7 +293,7 @@

Method Details

"customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign. "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign. "description": "A String", # Description of the item. - "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). + "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future. Note: It may take 2+ days from the expiration date for the item to actually get deleted. @@ -335,7 +335,7 @@

Method Details

"currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). }, "imageLink": "A String", # URL of an image of the item. - "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. + "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excluded_destinations`. Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price. @@ -442,7 +442,7 @@

Method Details

"customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign. "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign. "description": "A String", # Description of the item. - "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). + "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future. Note: It may take 2+ days from the expiration date for the item to actually get deleted. @@ -484,7 +484,7 @@

Method Details

"currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). }, "imageLink": "A String", # URL of an image of the item. - "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. + "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excluded_destinations`. Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price. @@ -590,7 +590,7 @@

Method Details

"customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign. "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign. "description": "A String", # Description of the item. - "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). + "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future. Note: It may take 2+ days from the expiration date for the item to actually get deleted. @@ -632,7 +632,7 @@

Method Details

"currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). }, "imageLink": "A String", # URL of an image of the item. - "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. + "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excluded_destinations`. Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price. diff --git a/docs/dyn/css_v1.accounts.cssProducts.html b/docs/dyn/css_v1.accounts.cssProducts.html index 9edf11decf..360e4c9ba7 100644 --- a/docs/dyn/css_v1.accounts.cssProducts.html +++ b/docs/dyn/css_v1.accounts.cssProducts.html @@ -131,7 +131,7 @@

Method Details

"customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign. "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign. "description": "A String", # Description of the item. - "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). + "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future. Note: It may take 2+ days from the expiration date for the item to actually get deleted. @@ -173,7 +173,7 @@

Method Details

"currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). }, "imageLink": "A String", # URL of an image of the item. - "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. + "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excluded_destinations`. Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price. @@ -321,7 +321,7 @@

Method Details

"customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign. "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign. "description": "A String", # Description of the item. - "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). + "excludedDestinations": [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future. Note: It may take 2+ days from the expiration date for the item to actually get deleted. @@ -363,7 +363,7 @@

Method Details

"currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). }, "imageLink": "A String", # URL of an image of the item. - "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. + "includedDestinations": [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excluded_destinations`. Supported values are: - `css_ads_experiences` - `css_organic_experiences` "A String", ], "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price. diff --git a/docs/dyn/dfareporting_v5.studioCreativeAssets.html b/docs/dyn/dfareporting_v5.studioCreativeAssets.html index 7ecf1437a6..e1210cafe4 100644 --- a/docs/dyn/dfareporting_v5.studioCreativeAssets.html +++ b/docs/dyn/dfareporting_v5.studioCreativeAssets.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

insert(body=None, media_body=None, media_mime_type=None, x__xgafv=None)

-

Inserts a new studio creative asset.

+

Inserts a new studio creative asset. Requests to upload an asset file must be sent to the upload URI using multipart media upload (or resumable media upload). For [multipart uploads](https://developers.google.com/doubleclick-advertisers/upload#multipart) (`uploadType=multipart`), the request uses `multipart/related` and includes two parts: * **Metadata**: A JSON object representing DfareportingStudioCreativeAssetsInsertRequest with `studioAdvertiserId`, and optional `studioAccountId` and `studioCreativeId`. * **Media**: The binary data of the asset file, specifying the `Content-Type` of the asset and a `Content-Disposition` header with `name="media"` and `filename=""` (for example, `Content-Disposition: form-data; name="media"; filename="asset.jpg"`).

Method Details

close() @@ -88,7 +88,7 @@

Method Details

insert(body=None, media_body=None, media_mime_type=None, x__xgafv=None) -
Inserts a new studio creative asset.
+  
Inserts a new studio creative asset. Requests to upload an asset file must be sent to the upload URI using multipart media upload (or resumable media upload). For [multipart uploads](https://developers.google.com/doubleclick-advertisers/upload#multipart) (`uploadType=multipart`), the request uses `multipart/related` and includes two parts: * **Metadata**: A JSON object representing DfareportingStudioCreativeAssetsInsertRequest with `studioAdvertiserId`, and optional `studioAccountId` and `studioCreativeId`. * **Media**: The binary data of the asset file, specifying the `Content-Type` of the asset and a `Content-Disposition` header with `name="media"` and `filename=""` (for example, `Content-Disposition: form-data; name="media"; filename="asset.jpg"`).
 
 Args:
   body: object, The request body.
diff --git a/docs/dyn/drive_v3.approvals.html b/docs/dyn/drive_v3.approvals.html
index 83702c099f..46a95e5a2c 100644
--- a/docs/dyn/drive_v3.approvals.html
+++ b/docs/dyn/drive_v3.approvals.html
@@ -129,6 +129,7 @@ 

Method Details

{ # Metadata for an approval. An approval is a review or approve process for a Drive item. "approvalId": "A String", # The approval ID. + "approvedRevisionId": "A String", # The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED. "completeTime": "A String", # The time the approval was completed. "createTime": "A String", # The time the approval was created. "dueTime": "A String", # The time that the approval is due. @@ -186,6 +187,7 @@

Method Details

{ # Metadata for an approval. An approval is a review or approve process for a Drive item. "approvalId": "A String", # The approval ID. + "approvedRevisionId": "A String", # The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED. "completeTime": "A String", # The time the approval was completed. "createTime": "A String", # The time the approval was created. "dueTime": "A String", # The time that the approval is due. @@ -248,6 +250,7 @@

Method Details

{ # Metadata for an approval. An approval is a review or approve process for a Drive item. "approvalId": "A String", # The approval ID. + "approvedRevisionId": "A String", # The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED. "completeTime": "A String", # The time the approval was completed. "createTime": "A String", # The time the approval was created. "dueTime": "A String", # The time that the approval is due. @@ -305,6 +308,7 @@

Method Details

{ # Metadata for an approval. An approval is a review or approve process for a Drive item. "approvalId": "A String", # The approval ID. + "approvedRevisionId": "A String", # The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED. "completeTime": "A String", # The time the approval was completed. "createTime": "A String", # The time the approval was created. "dueTime": "A String", # The time that the approval is due. @@ -355,6 +359,7 @@

Method Details

{ # Metadata for an approval. An approval is a review or approve process for a Drive item. "approvalId": "A String", # The approval ID. + "approvedRevisionId": "A String", # The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED. "completeTime": "A String", # The time the approval was completed. "createTime": "A String", # The time the approval was created. "dueTime": "A String", # The time that the approval is due. @@ -408,6 +413,7 @@

Method Details

"items": [ # The list of approvals. If `nextPageToken` is populated, then this list may be incomplete and an additional page of results should be fetched. { # Metadata for an approval. An approval is a review or approve process for a Drive item. "approvalId": "A String", # The approval ID. + "approvedRevisionId": "A String", # The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED. "completeTime": "A String", # The time the approval was completed. "createTime": "A String", # The time the approval was created. "dueTime": "A String", # The time that the approval is due. @@ -494,6 +500,7 @@

Method Details

{ # Metadata for an approval. An approval is a review or approve process for a Drive item. "approvalId": "A String", # The approval ID. + "approvedRevisionId": "A String", # The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED. "completeTime": "A String", # The time the approval was completed. "createTime": "A String", # The time the approval was created. "dueTime": "A String", # The time that the approval is due. @@ -556,6 +563,7 @@

Method Details

{ # Metadata for an approval. An approval is a review or approve process for a Drive item. "approvalId": "A String", # The approval ID. + "approvedRevisionId": "A String", # The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED. "completeTime": "A String", # The time the approval was completed. "createTime": "A String", # The time the approval was created. "dueTime": "A String", # The time that the approval is due. diff --git a/docs/dyn/firebaseappcheck_v1.jwks.html b/docs/dyn/firebaseappcheck_v1.jwks.html index 85133781e5..16a88e857e 100644 --- a/docs/dyn/firebaseappcheck_v1.jwks.html +++ b/docs/dyn/firebaseappcheck_v1.jwks.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.

+

Returns a public JWK set as specified by [RFC 7517](https://www.rfc-editor.org/info/rfc7517/) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.

Method Details

close() @@ -88,7 +88,7 @@

Method Details

get(name, x__xgafv=None) -
Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.
+  
Returns a public JWK set as specified by [RFC 7517](https://www.rfc-editor.org/info/rfc7517/) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.
 
 Args:
   name: string, Required. The relative resource name to the public JWK set. Must always be exactly the string `jwks`. (required)
@@ -100,15 +100,15 @@ 

Method Details

Returns: An object of the form: - { # The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours. - "keys": [ # The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). - { # A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1). - "alg": "A String", # See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4). - "e": "A String", # See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2). - "kid": "A String", # See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5). - "kty": "A String", # See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1). - "n": "A String", # See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1). - "use": "A String", # See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2). + { # The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://www.rfc-editor.org/info/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours. + "keys": [ # The set of public keys. See [section 5.1 of RFC 7517](https://www.rfc-editor.org/info/rfc7517#section-5). + { # A JWK as specified by [section 4 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4) and [section 6.3.1 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1). + "alg": "A String", # See [section 4.4 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.4). + "e": "A String", # See [section 6.3.1.2 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1.2). + "kid": "A String", # See [section 4.5 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.5). + "kty": "A String", # See [section 4.1 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.1). + "n": "A String", # See [section 6.3.1.1 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1.1). + "use": "A String", # See [section 4.2 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.2). }, ], }
diff --git a/docs/dyn/firebaseappcheck_v1.oauthClients.html b/docs/dyn/firebaseappcheck_v1.oauthClients.html index b62c69cb3b..88d07c8c91 100644 --- a/docs/dyn/firebaseappcheck_v1.oauthClients.html +++ b/docs/dyn/firebaseappcheck_v1.oauthClients.html @@ -120,7 +120,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -151,7 +151,7 @@

Method Details

{ # Response message for the ExchangeAppAttestAttestation method. "appCheckToken": { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. # Encapsulates an App Check token. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }, "artifact": "A String", # An artifact that can be used in future calls to ExchangeAppAttestAssertion. @@ -181,7 +181,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
diff --git a/docs/dyn/firebaseappcheck_v1.projects.apps.html b/docs/dyn/firebaseappcheck_v1.projects.apps.html index 423a58facf..acaef24cc5 100644 --- a/docs/dyn/firebaseappcheck_v1.projects.apps.html +++ b/docs/dyn/firebaseappcheck_v1.projects.apps.html @@ -171,7 +171,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -202,7 +202,7 @@

Method Details

{ # Response message for the ExchangeAppAttestAttestation method. "appCheckToken": { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. # Encapsulates an App Check token. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }, "artifact": "A String", # An artifact that can be used in future calls to ExchangeAppAttestAssertion. @@ -233,7 +233,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -261,7 +261,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -289,7 +289,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -317,7 +317,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -345,7 +345,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -373,7 +373,7 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
diff --git a/docs/dyn/firebaseappcheck_v1beta.jwks.html b/docs/dyn/firebaseappcheck_v1beta.jwks.html index f849aebd84..1b4576bfd1 100644 --- a/docs/dyn/firebaseappcheck_v1beta.jwks.html +++ b/docs/dyn/firebaseappcheck_v1beta.jwks.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.

+

Returns a public JWK set as specified by [RFC 7517](https://www.rfc-editor.org/info/rfc7517/) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.

Method Details

close() @@ -88,7 +88,7 @@

Method Details

get(name, x__xgafv=None) -
Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.
+  
Returns a public JWK set as specified by [RFC 7517](https://www.rfc-editor.org/info/rfc7517/) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.
 
 Args:
   name: string, Required. The relative resource name to the public JWK set. Must always be exactly the string `jwks`. (required)
@@ -100,15 +100,15 @@ 

Method Details

Returns: An object of the form: - { # The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours. - "keys": [ # The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). - { # A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1). - "alg": "A String", # See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4). - "e": "A String", # See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2). - "kid": "A String", # See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5). - "kty": "A String", # See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1). - "n": "A String", # See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1). - "use": "A String", # See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2). + { # The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://www.rfc-editor.org/info/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours. + "keys": [ # The set of public keys. See [section 5.1 of RFC 7517](https://www.rfc-editor.org/info/rfc7517#section-5). + { # A JWK as specified by [section 4 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4) and [section 6.3.1 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1). + "alg": "A String", # See [section 4.4 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.4). + "e": "A String", # See [section 6.3.1.2 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1.2). + "kid": "A String", # See [section 4.5 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.5). + "kty": "A String", # See [section 4.1 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.1). + "n": "A String", # See [section 6.3.1.1 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1.1). + "use": "A String", # See [section 4.2 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.2). }, ], }
diff --git a/docs/dyn/firebaseappcheck_v1beta.oauthClients.html b/docs/dyn/firebaseappcheck_v1beta.oauthClients.html index 2692b512f4..8ff0efbbfd 100644 --- a/docs/dyn/firebaseappcheck_v1beta.oauthClients.html +++ b/docs/dyn/firebaseappcheck_v1beta.oauthClients.html @@ -120,8 +120,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -152,13 +152,13 @@

Method Details

{ # Response message for the ExchangeAppAttestAttestation method. "appCheckToken": { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. # Encapsulates an App Check token. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }, "artifact": "A String", # An artifact that can be used in future calls to ExchangeAppAttestAssertion. "attestationToken": { # Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check. # Encapsulates an App Check token. - "attestationToken": "A String", # An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check. + "attestationToken": "A String", # An App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }, }
@@ -187,8 +187,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
diff --git a/docs/dyn/firebaseappcheck_v1beta.projects.apps.html b/docs/dyn/firebaseappcheck_v1beta.projects.apps.html index 81661dd2e5..dcd06a546a 100644 --- a/docs/dyn/firebaseappcheck_v1beta.projects.apps.html +++ b/docs/dyn/firebaseappcheck_v1beta.projects.apps.html @@ -179,8 +179,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }
@@ -211,13 +211,13 @@

Method Details

{ # Response message for the ExchangeAppAttestAttestation method. "appCheckToken": { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. # Encapsulates an App Check token. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }, "artifact": "A String", # An artifact that can be used in future calls to ExchangeAppAttestAssertion. "attestationToken": { # Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check. # Encapsulates an App Check token. - "attestationToken": "A String", # An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check. + "attestationToken": "A String", # An App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. }, } @@ -247,8 +247,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. } @@ -276,8 +276,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. } @@ -305,8 +305,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. } @@ -334,8 +334,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. } @@ -363,8 +363,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. } @@ -391,8 +391,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. } @@ -420,8 +420,8 @@

Method Details

An object of the form: { # Encapsulates an *App Check token*, which are used to access backend services protected by App Check. - "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. - "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "attestationToken": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + "token": "A String", # The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. "ttl": "A String", # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration. } diff --git a/docs/dyn/firebasedataconnect_v1.projects.locations.services.html b/docs/dyn/firebasedataconnect_v1.projects.locations.services.html index b16439ab6c..2345ecc309 100644 --- a/docs/dyn/firebasedataconnect_v1.projects.locations.services.html +++ b/docs/dyn/firebasedataconnect_v1.projects.locations.services.html @@ -144,7 +144,7 @@

Method Details

"annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", }, - "connectors": [ # Output only. The list of connectors in this service. + "connectors": [ # Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource. { # Connector consists of a set of operations, i.e. queries and mutations. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -189,7 +189,7 @@

Method Details

}, "name": "A String", # Identifier. The relative resource name of the Firebase SQL Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase SQL Connect and does not correspond to any of the instance IDs of the underlying data source connections. "reconciling": True or False, # Output only. A field that if true, indicates that the system is working update the service. - "schemas": [ # Optional. The list of schemas in this service. + "schemas": [ # Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource. { # The application schema of a Firebase SQL Connect service. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -629,7 +629,7 @@

Method Details

"annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", }, - "connectors": [ # Output only. The list of connectors in this service. + "connectors": [ # Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource. { # Connector consists of a set of operations, i.e. queries and mutations. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -674,7 +674,7 @@

Method Details

}, "name": "A String", # Identifier. The relative resource name of the Firebase SQL Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase SQL Connect and does not correspond to any of the instance IDs of the underlying data source connections. "reconciling": True or False, # Output only. A field that if true, indicates that the system is working update the service. - "schemas": [ # Optional. The list of schemas in this service. + "schemas": [ # Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource. { # The application schema of a Firebase SQL Connect service. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -847,7 +847,7 @@

Method Details

"annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", }, - "connectors": [ # Output only. The list of connectors in this service. + "connectors": [ # Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource. { # Connector consists of a set of operations, i.e. queries and mutations. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -892,7 +892,7 @@

Method Details

}, "name": "A String", # Identifier. The relative resource name of the Firebase SQL Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase SQL Connect and does not correspond to any of the instance IDs of the underlying data source connections. "reconciling": True or False, # Output only. A field that if true, indicates that the system is working update the service. - "schemas": [ # Optional. The list of schemas in this service. + "schemas": [ # Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource. { # The application schema of a Firebase SQL Connect service. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -990,7 +990,7 @@

Method Details

"annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", }, - "connectors": [ # Output only. The list of connectors in this service. + "connectors": [ # Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource. { # Connector consists of a set of operations, i.e. queries and mutations. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -1035,7 +1035,7 @@

Method Details

}, "name": "A String", # Identifier. The relative resource name of the Firebase SQL Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase SQL Connect and does not correspond to any of the instance IDs of the underlying data source connections. "reconciling": True or False, # Output only. A field that if true, indicates that the system is working update the service. - "schemas": [ # Optional. The list of schemas in this service. + "schemas": [ # Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource. { # The application schema of a Firebase SQL Connect service. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", diff --git a/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.html b/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.html index cd2aaa7915..9bdf3c6f42 100644 --- a/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.html +++ b/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.html @@ -144,7 +144,7 @@

Method Details

"annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", }, - "connectors": [ # Output only. The list of connectors in this service. + "connectors": [ # Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource. { # Connector consists of a set of operations, i.e. queries and mutations. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -189,7 +189,7 @@

Method Details

}, "name": "A String", # Identifier. The relative resource name of the Firebase SQL Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase SQL Connect and does not correspond to any of the instance IDs of the underlying data source connections. "reconciling": True or False, # Output only. A field that if true, indicates that the system is working update the service. - "schemas": [ # Optional. The list of schemas in this service. + "schemas": [ # Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource. { # The application schema of a Firebase SQL Connect service. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -629,7 +629,7 @@

Method Details

"annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", }, - "connectors": [ # Output only. The list of connectors in this service. + "connectors": [ # Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource. { # Connector consists of a set of operations, i.e. queries and mutations. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -674,7 +674,7 @@

Method Details

}, "name": "A String", # Identifier. The relative resource name of the Firebase SQL Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase SQL Connect and does not correspond to any of the instance IDs of the underlying data source connections. "reconciling": True or False, # Output only. A field that if true, indicates that the system is working update the service. - "schemas": [ # Optional. The list of schemas in this service. + "schemas": [ # Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource. { # The application schema of a Firebase SQL Connect service. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -847,7 +847,7 @@

Method Details

"annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", }, - "connectors": [ # Output only. The list of connectors in this service. + "connectors": [ # Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource. { # Connector consists of a set of operations, i.e. queries and mutations. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -892,7 +892,7 @@

Method Details

}, "name": "A String", # Identifier. The relative resource name of the Firebase SQL Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase SQL Connect and does not correspond to any of the instance IDs of the underlying data source connections. "reconciling": True or False, # Output only. A field that if true, indicates that the system is working update the service. - "schemas": [ # Optional. The list of schemas in this service. + "schemas": [ # Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource. { # The application schema of a Firebase SQL Connect service. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -990,7 +990,7 @@

Method Details

"annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", }, - "connectors": [ # Output only. The list of connectors in this service. + "connectors": [ # Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource. { # Connector consists of a set of operations, i.e. queries and mutations. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", @@ -1035,7 +1035,7 @@

Method Details

}, "name": "A String", # Identifier. The relative resource name of the Firebase SQL Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase SQL Connect and does not correspond to any of the instance IDs of the underlying data source connections. "reconciling": True or False, # Output only. A field that if true, indicates that the system is working update the service. - "schemas": [ # Optional. The list of schemas in this service. + "schemas": [ # Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource. { # The application schema of a Firebase SQL Connect service. "annotations": { # Optional. Stores small amounts of arbitrary data. "a_key": "A String", diff --git a/docs/dyn/homegraph_v1.devices.html b/docs/dyn/homegraph_v1.devices.html index 487381514b..91e31bc2c5 100644 --- a/docs/dyn/homegraph_v1.devices.html +++ b/docs/dyn/homegraph_v1.devices.html @@ -156,11 +156,11 @@

Method Details

"traitData": [ # Required. List of trait data associated with the component. { # Contains the trait payload for a single trait. "commitTime": "A String", # Other metadata for the trait. The time the client update was committed in the server. - "jsonTrait": { # Dynamic JSON trait state payload conforming to `json_trait_schema.md`. Used for Category 2 (vendor Matter clusters) and Category 3 (non-Matter capabilities) traits across all wire and internal paths, and for Category 1 traits on external JSON-only wire paths (e.g., `Query` with `JSON_TRAIT_ONLY`). # Contains the dynamic JSON trait payload. - "data": { # Optional. Trait attribute map conforming to the trait's registered JSON Schema. + "jsonTrait": { # Represents a dynamic JSON trait state payload that conforms to `json_trait_schema.md`. This message is used for Category 2 (vendor Matter clusters) and Category 3 (non-Matter capabilities) traits across all wire and internal paths, and for Category 1 traits on external JSON-only wire paths (for example, `Query` with `JSON_TRAIT_ONLY`). # Contains the dynamic JSON trait payload. + "data": { # Optional. Holds the trait attributes, which conform to the trait's registered JSON Schema. "a_key": "", # Properties of the object. }, - "id": "A String", # Required. Canonical symbolic trait ID per `json_trait_schema.md`: - Standard Matter (Cat 1): `matter.` (e.g., `matter.thermostat`) - Google / vendor Matter (Cat 1/2): `matter..` (e.g., `matter.google.`, `matter.eve.utility`) - Non-Matter (Cat 3, any provider incl. Google): `ghp..` (e.g., `ghp.acme.warranty`, `ghp.google.`) + "id": "A String", # Required. Identifies the trait by its canonical four-segment capability ID, `capability...`: * Standard or Google Matter (Category 1): `capability.matter.standard.` or `capability.matter.google.`, for example `capability.matter.standard.Thermostat`. * Vendor Matter (Category 2): `capability.matter..`. * Non-Matter (Category 3, from any provider including Google): `capability.generic..`, for example `capability.generic.acme.Warranty`. }, "providerUpdateTime": "A String", # The custom timestamp supplied by the provider during a ReportStateAndNotification update (if provided). This field is returned as part of the `QueryResponse`. "trait": { # The Provider Home API trait payload. @@ -203,11 +203,11 @@

Method Details

}, "eventId": "A String", # Required. The unique event ID from the device provider. "eventTime": "A String", # Required. The timestamp of the event. - "jsonTraitEvent": { # Dynamic JSON event payload conforming to `json_trait_schema.md`. # Optional. Contains the dynamic JSON trait event payload. - "data": { # Optional. Event payload fields conforming to the event's registered JSON Schema. + "jsonTraitEvent": { # Represents a dynamic JSON event payload that conforms to `json_trait_schema.md`. # Optional. Contains the dynamic JSON trait event payload. + "data": { # Optional. Holds the event payload fields, which conform to the event's registered JSON Schema. "a_key": "", # Properties of the object. }, - "id": "A String", # Required. Fully qualified event ID: `.` (e.g., `matter.doorLock.lockOperation`, `ghp.acme.warranty.claimUpdated`). + "id": "A String", # Required. Identifies the event as `.`, where `` is the PascalCase key in the schema's `x-capability-info.events`, for example `capability.matter.standard.DoorLock.LockOperation` or `capability.generic.acme.Warranty.ClaimUpdated`. }, }, ], @@ -223,11 +223,11 @@

Method Details

"traitData": [ # Required. The updated trait data for the component. { # Contains the trait payload for a single trait. "commitTime": "A String", # Other metadata for the trait. The time the client update was committed in the server. - "jsonTrait": { # Dynamic JSON trait state payload conforming to `json_trait_schema.md`. Used for Category 2 (vendor Matter clusters) and Category 3 (non-Matter capabilities) traits across all wire and internal paths, and for Category 1 traits on external JSON-only wire paths (e.g., `Query` with `JSON_TRAIT_ONLY`). # Contains the dynamic JSON trait payload. - "data": { # Optional. Trait attribute map conforming to the trait's registered JSON Schema. + "jsonTrait": { # Represents a dynamic JSON trait state payload that conforms to `json_trait_schema.md`. This message is used for Category 2 (vendor Matter clusters) and Category 3 (non-Matter capabilities) traits across all wire and internal paths, and for Category 1 traits on external JSON-only wire paths (for example, `Query` with `JSON_TRAIT_ONLY`). # Contains the dynamic JSON trait payload. + "data": { # Optional. Holds the trait attributes, which conform to the trait's registered JSON Schema. "a_key": "", # Properties of the object. }, - "id": "A String", # Required. Canonical symbolic trait ID per `json_trait_schema.md`: - Standard Matter (Cat 1): `matter.` (e.g., `matter.thermostat`) - Google / vendor Matter (Cat 1/2): `matter..` (e.g., `matter.google.`, `matter.eve.utility`) - Non-Matter (Cat 3, any provider incl. Google): `ghp..` (e.g., `ghp.acme.warranty`, `ghp.google.`) + "id": "A String", # Required. Identifies the trait by its canonical four-segment capability ID, `capability...`: * Standard or Google Matter (Category 1): `capability.matter.standard.` or `capability.matter.google.`, for example `capability.matter.standard.Thermostat`. * Vendor Matter (Category 2): `capability.matter..`. * Non-Matter (Category 3, from any provider including Google): `capability.generic..`, for example `capability.generic.acme.Warranty`. }, "providerUpdateTime": "A String", # The custom timestamp supplied by the provider during a ReportStateAndNotification update (if provided). This field is returned as part of the `QueryResponse`. "trait": { # The Provider Home API trait payload. diff --git a/docs/dyn/identitytoolkit_v1.accounts.html b/docs/dyn/identitytoolkit_v1.accounts.html index a5a6585013..52f8e929d8 100644 --- a/docs/dyn/identitytoolkit_v1.accounts.html +++ b/docs/dyn/identitytoolkit_v1.accounts.html @@ -258,7 +258,7 @@

Method Details

"email": [ # The email address of one or more accounts to fetch. The length of email should be less than 256 characters and in the format of `name@domain.tld`. The email should also match the [RFC 822](https://tools.ietf.org/html/rfc822) addr-spec production. Should only be specified by authenticated requests from a developer. "A String", ], - "federatedUserId": [ + "federatedUserId": [ # The federated user identifier of one or more accounts to fetch. Should only be specified by authenticated requests bearing a Google OAuth 2.0 credential with proper [permissions](https://cloud.google.com/identity-platform/docs/access-control). { # Federated user identifier at an Identity Provider. "providerId": "A String", # The ID of supported identity providers. This should be a provider ID enabled for sign-in, which is either from the list of [default supported IdPs](https://cloud.google.com/identity-platform/docs/reference/rest/v2/defaultSupportedIdps/list), or of the format `oidc.*` or `saml.*`. Some examples are `google.com`, `facebook.com`, `oidc.testapp`, and `saml.testapp`. "rawId": "A String", # The user ID of the account at the third-party Identity Provider specified by `provider_id`. @@ -863,7 +863,7 @@

Method Details

"createdAt": "A String", # The timestamp in milliseconds when the account was created. "customAttributes": "A String", # JSON formatted custom attributes to be stored in the Identity Platform ID token. Specifying this field requires a Google OAuth 2.0 credential with proper [permissions] (https://cloud.google.com/identity-platform/docs/access-control). "delegatedProjectNumber": "A String", - "deleteAttribute": [ + "deleteAttribute": [ # The account's attributes to be deleted. "A String", ], "deleteProvider": [ # The Identity Providers to unlink from the user's account. diff --git a/docs/dyn/identitytoolkit_v1.projects.accounts.html b/docs/dyn/identitytoolkit_v1.projects.accounts.html index a24fbfb75a..08b28f596f 100644 --- a/docs/dyn/identitytoolkit_v1.projects.accounts.html +++ b/docs/dyn/identitytoolkit_v1.projects.accounts.html @@ -132,7 +132,7 @@

Method Details

"hashAlgorithm": "A String", # Required. The hashing function used to hash the account passwords. Must be one of the following: * HMAC_SHA256 * HMAC_SHA1 * HMAC_MD5 * SCRYPT * PBKDF_SHA1 * MD5 * HMAC_SHA512 * SHA1 * BCRYPT * PBKDF2_SHA256 * SHA256 * SHA512 * STANDARD_SCRYPT * ARGON2 "memoryCost": 42, # Memory cost for hash calculation. Only required when the hashing function is SCRYPT. "parallelization": 42, # The parallelization cost parameter to be used by the STANDARD_SCRYPT hashing function. This parameter, along with block_size and cpu_mem_cost help tune the resources needed to hash a password, and should be tuned as processor speeds and memory technologies advance. - "passwordHashOrder": "A String", + "passwordHashOrder": "A String", # Password and salt order when verify password. "rounds": 42, # The number of rounds used for hash calculation. Only required for the following hashing functions: * MD5 * SHA1 * SHA256 * SHA512 * PBKDF_SHA1 * PBKDF2_SHA256 * SCRYPT "saltSeparator": "A String", # One or more bytes to be inserted between the salt and plain text password. For stronger security, this should be a single non-printable character. "sanityCheck": True or False, # If true, the service will do the following list of checks before an account is uploaded: * Duplicate emails * Duplicate federated IDs * Federated ID provider validation If the duplication exists within the list of accounts to be uploaded, it will prevent the entire list from being uploaded. If the email or federated ID is a duplicate of a user already within the project/tenant, the account will not be uploaded, but the rest of the accounts will be unaffected. If false, these checks will be skipped. @@ -392,7 +392,7 @@

Method Details

"email": [ # The email address of one or more accounts to fetch. The length of email should be less than 256 characters and in the format of `name@domain.tld`. The email should also match the [RFC 822](https://tools.ietf.org/html/rfc822) addr-spec production. Should only be specified by authenticated requests from a developer. "A String", ], - "federatedUserId": [ + "federatedUserId": [ # The federated user identifier of one or more accounts to fetch. Should only be specified by authenticated requests bearing a Google OAuth 2.0 credential with proper [permissions](https://cloud.google.com/identity-platform/docs/access-control). { # Federated user identifier at an Identity Provider. "providerId": "A String", # The ID of supported identity providers. This should be a provider ID enabled for sign-in, which is either from the list of [default supported IdPs](https://cloud.google.com/identity-platform/docs/reference/rest/v2/defaultSupportedIdps/list), or of the format `oidc.*` or `saml.*`. Some examples are `google.com`, `facebook.com`, `oidc.testapp`, and `saml.testapp`. "rawId": "A String", # The user ID of the account at the third-party Identity Provider specified by `provider_id`. @@ -490,7 +490,7 @@

Method Details

The object takes the form of: { # Request message for QueryUserInfo. - "expression": [ + "expression": [ # Query conditions used to filter results. If more than one is passed, only the first SqlExpression is evaluated. { # Query conditions used to filter results. "email": "A String", # A case insensitive string that the account's email should match. Only one of `email`, `phone_number`, or `user_id` should be specified in a SqlExpression. If more than one is specified, only the first (in that order) will be applied. "phoneNumber": "A String", # A string that the account's phone number should match. Only one of `email`, `phone_number`, or `user_id` should be specified in a SqlExpression. If more than one is specified, only the first (in that order) will be applied. @@ -499,9 +499,9 @@

Method Details

], "limit": "A String", # The maximum number of accounts to return with an upper limit of __500__. Defaults to _500_. Only valid when `return_user_info` is set to `true`. "offset": "A String", # The number of accounts to skip from the beginning of matching records. Only valid when `return_user_info` is set to `true`. - "order": "A String", + "order": "A String", # The order for sorting query result. Defaults to __ascending__ order. Only valid when `return_user_info` is set to `true`. "returnUserInfo": True or False, # If `true`, this request will return the accounts matching the query. If `false`, only the __count__ of accounts matching the query will be returned. Defaults to `true`. - "sortBy": "A String", + "sortBy": "A String", # The field to use for sorting user accounts. Defaults to `USER_ID`. Note: when `phone_number` is specified in `expression`, the result ignores the sorting. Only valid when `return_user_info` is set to `true`. "tenantId": "A String", # The ID of the tenant to which the result is scoped. } @@ -637,7 +637,7 @@

Method Details

"createdAt": "A String", # The timestamp in milliseconds when the account was created. "customAttributes": "A String", # JSON formatted custom attributes to be stored in the Identity Platform ID token. Specifying this field requires a Google OAuth 2.0 credential with proper [permissions] (https://cloud.google.com/identity-platform/docs/access-control). "delegatedProjectNumber": "A String", - "deleteAttribute": [ + "deleteAttribute": [ # The account's attributes to be deleted. "A String", ], "deleteProvider": [ # The Identity Providers to unlink from the user's account. diff --git a/docs/dyn/identitytoolkit_v1.projects.html b/docs/dyn/identitytoolkit_v1.projects.html index f159ddb676..1a25df6589 100644 --- a/docs/dyn/identitytoolkit_v1.projects.html +++ b/docs/dyn/identitytoolkit_v1.projects.html @@ -137,7 +137,7 @@

Method Details

The object takes the form of: { # Request message for QueryUserInfo. - "expression": [ + "expression": [ # Query conditions used to filter results. If more than one is passed, only the first SqlExpression is evaluated. { # Query conditions used to filter results. "email": "A String", # A case insensitive string that the account's email should match. Only one of `email`, `phone_number`, or `user_id` should be specified in a SqlExpression. If more than one is specified, only the first (in that order) will be applied. "phoneNumber": "A String", # A string that the account's phone number should match. Only one of `email`, `phone_number`, or `user_id` should be specified in a SqlExpression. If more than one is specified, only the first (in that order) will be applied. @@ -146,9 +146,9 @@

Method Details

], "limit": "A String", # The maximum number of accounts to return with an upper limit of __500__. Defaults to _500_. Only valid when `return_user_info` is set to `true`. "offset": "A String", # The number of accounts to skip from the beginning of matching records. Only valid when `return_user_info` is set to `true`. - "order": "A String", + "order": "A String", # The order for sorting query result. Defaults to __ascending__ order. Only valid when `return_user_info` is set to `true`. "returnUserInfo": True or False, # If `true`, this request will return the accounts matching the query. If `false`, only the __count__ of accounts matching the query will be returned. Defaults to `true`. - "sortBy": "A String", + "sortBy": "A String", # The field to use for sorting user accounts. Defaults to `USER_ID`. Note: when `phone_number` is specified in `expression`, the result ignores the sorting. Only valid when `return_user_info` is set to `true`. "tenantId": "A String", # The ID of the tenant to which the result is scoped. } diff --git a/docs/dyn/identitytoolkit_v1.projects.tenants.accounts.html b/docs/dyn/identitytoolkit_v1.projects.tenants.accounts.html index b4e09af914..758779dcc6 100644 --- a/docs/dyn/identitytoolkit_v1.projects.tenants.accounts.html +++ b/docs/dyn/identitytoolkit_v1.projects.tenants.accounts.html @@ -133,7 +133,7 @@

Method Details

"hashAlgorithm": "A String", # Required. The hashing function used to hash the account passwords. Must be one of the following: * HMAC_SHA256 * HMAC_SHA1 * HMAC_MD5 * SCRYPT * PBKDF_SHA1 * MD5 * HMAC_SHA512 * SHA1 * BCRYPT * PBKDF2_SHA256 * SHA256 * SHA512 * STANDARD_SCRYPT * ARGON2 "memoryCost": 42, # Memory cost for hash calculation. Only required when the hashing function is SCRYPT. "parallelization": 42, # The parallelization cost parameter to be used by the STANDARD_SCRYPT hashing function. This parameter, along with block_size and cpu_mem_cost help tune the resources needed to hash a password, and should be tuned as processor speeds and memory technologies advance. - "passwordHashOrder": "A String", + "passwordHashOrder": "A String", # Password and salt order when verify password. "rounds": 42, # The number of rounds used for hash calculation. Only required for the following hashing functions: * MD5 * SHA1 * SHA256 * SHA512 * PBKDF_SHA1 * PBKDF2_SHA256 * SCRYPT "saltSeparator": "A String", # One or more bytes to be inserted between the salt and plain text password. For stronger security, this should be a single non-printable character. "sanityCheck": True or False, # If true, the service will do the following list of checks before an account is uploaded: * Duplicate emails * Duplicate federated IDs * Federated ID provider validation If the duplication exists within the list of accounts to be uploaded, it will prevent the entire list from being uploaded. If the email or federated ID is a duplicate of a user already within the project/tenant, the account will not be uploaded, but the rest of the accounts will be unaffected. If false, these checks will be skipped. @@ -396,7 +396,7 @@

Method Details

"email": [ # The email address of one or more accounts to fetch. The length of email should be less than 256 characters and in the format of `name@domain.tld`. The email should also match the [RFC 822](https://tools.ietf.org/html/rfc822) addr-spec production. Should only be specified by authenticated requests from a developer. "A String", ], - "federatedUserId": [ + "federatedUserId": [ # The federated user identifier of one or more accounts to fetch. Should only be specified by authenticated requests bearing a Google OAuth 2.0 credential with proper [permissions](https://cloud.google.com/identity-platform/docs/access-control). { # Federated user identifier at an Identity Provider. "providerId": "A String", # The ID of supported identity providers. This should be a provider ID enabled for sign-in, which is either from the list of [default supported IdPs](https://cloud.google.com/identity-platform/docs/reference/rest/v2/defaultSupportedIdps/list), or of the format `oidc.*` or `saml.*`. Some examples are `google.com`, `facebook.com`, `oidc.testapp`, and `saml.testapp`. "rawId": "A String", # The user ID of the account at the third-party Identity Provider specified by `provider_id`. @@ -495,7 +495,7 @@

Method Details

The object takes the form of: { # Request message for QueryUserInfo. - "expression": [ + "expression": [ # Query conditions used to filter results. If more than one is passed, only the first SqlExpression is evaluated. { # Query conditions used to filter results. "email": "A String", # A case insensitive string that the account's email should match. Only one of `email`, `phone_number`, or `user_id` should be specified in a SqlExpression. If more than one is specified, only the first (in that order) will be applied. "phoneNumber": "A String", # A string that the account's phone number should match. Only one of `email`, `phone_number`, or `user_id` should be specified in a SqlExpression. If more than one is specified, only the first (in that order) will be applied. @@ -504,9 +504,9 @@

Method Details

], "limit": "A String", # The maximum number of accounts to return with an upper limit of __500__. Defaults to _500_. Only valid when `return_user_info` is set to `true`. "offset": "A String", # The number of accounts to skip from the beginning of matching records. Only valid when `return_user_info` is set to `true`. - "order": "A String", + "order": "A String", # The order for sorting query result. Defaults to __ascending__ order. Only valid when `return_user_info` is set to `true`. "returnUserInfo": True or False, # If `true`, this request will return the accounts matching the query. If `false`, only the __count__ of accounts matching the query will be returned. Defaults to `true`. - "sortBy": "A String", + "sortBy": "A String", # The field to use for sorting user accounts. Defaults to `USER_ID`. Note: when `phone_number` is specified in `expression`, the result ignores the sorting. Only valid when `return_user_info` is set to `true`. "tenantId": "A String", # The ID of the tenant to which the result is scoped. } @@ -644,7 +644,7 @@

Method Details

"createdAt": "A String", # The timestamp in milliseconds when the account was created. "customAttributes": "A String", # JSON formatted custom attributes to be stored in the Identity Platform ID token. Specifying this field requires a Google OAuth 2.0 credential with proper [permissions] (https://cloud.google.com/identity-platform/docs/access-control). "delegatedProjectNumber": "A String", - "deleteAttribute": [ + "deleteAttribute": [ # The account's attributes to be deleted. "A String", ], "deleteProvider": [ # The Identity Providers to unlink from the user's account. diff --git a/docs/dyn/managedkafka_v1.projects.locations.clusters.html b/docs/dyn/managedkafka_v1.projects.locations.clusters.html index f242cd8dad..9dfa8a867a 100644 --- a/docs/dyn/managedkafka_v1.projects.locations.clusters.html +++ b/docs/dyn/managedkafka_v1.projects.locations.clusters.html @@ -161,7 +161,7 @@

Method Details

}, "kmsKey": "A String", # Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}. }, - "kafkaVersion": "A String", # Optional. The Apache Kafka version of the cluster (for example, `3.7.x`, `4.3.x`). If not specified during cluster creation, defaults to `3.7.x`. + "kafkaVersion": "A String", # Optional. The Apache Kafka version of the cluster. Specifically, this value is the finalized metadata version. If not specified during cluster creation, defaults to `3.7.x`. Supported values: `3.7.x`. "labels": { # Optional. Labels as key value pairs. "a_key": "A String", }, @@ -318,7 +318,7 @@

Method Details

}, "kmsKey": "A String", # Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}. }, - "kafkaVersion": "A String", # Optional. The Apache Kafka version of the cluster (for example, `3.7.x`, `4.3.x`). If not specified during cluster creation, defaults to `3.7.x`. + "kafkaVersion": "A String", # Optional. The Apache Kafka version of the cluster. Specifically, this value is the finalized metadata version. If not specified during cluster creation, defaults to `3.7.x`. Supported values: `3.7.x`. "labels": { # Optional. Labels as key value pairs. "a_key": "A String", }, @@ -410,7 +410,7 @@

Method Details

}, "kmsKey": "A String", # Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}. }, - "kafkaVersion": "A String", # Optional. The Apache Kafka version of the cluster (for example, `3.7.x`, `4.3.x`). If not specified during cluster creation, defaults to `3.7.x`. + "kafkaVersion": "A String", # Optional. The Apache Kafka version of the cluster. Specifically, this value is the finalized metadata version. If not specified during cluster creation, defaults to `3.7.x`. Supported values: `3.7.x`. "labels": { # Optional. Labels as key value pairs. "a_key": "A String", }, @@ -511,7 +511,7 @@

Method Details

}, "kmsKey": "A String", # Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}. }, - "kafkaVersion": "A String", # Optional. The Apache Kafka version of the cluster (for example, `3.7.x`, `4.3.x`). If not specified during cluster creation, defaults to `3.7.x`. + "kafkaVersion": "A String", # Optional. The Apache Kafka version of the cluster. Specifically, this value is the finalized metadata version. If not specified during cluster creation, defaults to `3.7.x`. Supported values: `3.7.x`. "labels": { # Optional. Labels as key value pairs. "a_key": "A String", }, diff --git a/docs/dyn/meet_v2.conferenceRecords.transcripts.entries.html b/docs/dyn/meet_v2.conferenceRecords.transcripts.entries.html index a5f9e612c2..48c735ef15 100644 --- a/docs/dyn/meet_v2.conferenceRecords.transcripts.entries.html +++ b/docs/dyn/meet_v2.conferenceRecords.transcripts.entries.html @@ -109,7 +109,7 @@

Method Details

{ # Single entry for one user’s speech during a transcript session. "endTime": "A String", # Output only. Timestamp when the transcript entry ended. "languageCode": "A String", # Output only. Language of spoken text, such as "en-US". IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47) - "name": "A String", # Output only. Resource name of the entry. Format: "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" + "name": "A String", # Output only. Resource name of the entry. Format: `conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}` "participant": "A String", # Output only. Refers to the participant who speaks. "startTime": "A String", # Output only. Timestamp when the transcript entry started. "text": "A String", # Output only. The transcribed text of the participant's voice, at maximum 10K words. Note that the limit is subject to change. @@ -138,7 +138,7 @@

Method Details

{ # Single entry for one user’s speech during a transcript session. "endTime": "A String", # Output only. Timestamp when the transcript entry ended. "languageCode": "A String", # Output only. Language of spoken text, such as "en-US". IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47) - "name": "A String", # Output only. Resource name of the entry. Format: "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" + "name": "A String", # Output only. Resource name of the entry. Format: `conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}` "participant": "A String", # Output only. Refers to the participant who speaks. "startTime": "A String", # Output only. Timestamp when the transcript entry started. "text": "A String", # Output only. The transcribed text of the participant's voice, at maximum 10K words. Note that the limit is subject to change. diff --git a/docs/dyn/meet_v2.spaces.members.html b/docs/dyn/meet_v2.spaces.members.html index 4773a2beab..3379c69d6a 100644 --- a/docs/dyn/meet_v2.spaces.members.html +++ b/docs/dyn/meet_v2.spaces.members.html @@ -113,7 +113,7 @@

Method Details

{ # Request to update a member. "member": { # Users who are configured to have a role in the space. These users can join the space without knocking. # Required. The Member to update. Format: spaces/{space}/members/{member} "email": "A String", # Email for the member. This is required for creating the member. - "name": "A String", # Identifier. Resource name of the member. Format: spaces/{space}/members/{member} + "name": "A String", # Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}` "role": "A String", # The meeting role assigned to the member. }, "updateMask": "A String", # Optional. Field mask used to specify the fields to be updated in the member. If update_mask isn't provided(not set, set with empty paths, or only has "" as paths), it defaults to update all fields provided with values in the request. Using "*" as update_mask will update all fields, including deleting fields not set in the request. In case of BatchUpdate, it must be absent or the same as the update_mask in BatchUpdateMembersRequest when UpdateMemberRequest is built as a child request of BatchUpdateMembersRequest. @@ -134,7 +134,7 @@

Method Details

"members": [ # Members updated. { # Users who are configured to have a role in the space. These users can join the space without knocking. "email": "A String", # Email for the member. This is required for creating the member. - "name": "A String", # Identifier. Resource name of the member. Format: spaces/{space}/members/{member} + "name": "A String", # Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}` "role": "A String", # The meeting role assigned to the member. }, ], @@ -157,7 +157,7 @@

Method Details

{ # Users who are configured to have a role in the space. These users can join the space without knocking. "email": "A String", # Email for the member. This is required for creating the member. - "name": "A String", # Identifier. Resource name of the member. Format: spaces/{space}/members/{member} + "name": "A String", # Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}` "role": "A String", # The meeting role assigned to the member. } @@ -171,7 +171,7 @@

Method Details

{ # Users who are configured to have a role in the space. These users can join the space without knocking. "email": "A String", # Email for the member. This is required for creating the member. - "name": "A String", # Identifier. Resource name of the member. Format: spaces/{space}/members/{member} + "name": "A String", # Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}` "role": "A String", # The meeting role assigned to the member. } @@ -210,7 +210,7 @@

Method Details

{ # Users who are configured to have a role in the space. These users can join the space without knocking. "email": "A String", # Email for the member. This is required for creating the member. - "name": "A String", # Identifier. Resource name of the member. Format: spaces/{space}/members/{member} + "name": "A String", # Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}` "role": "A String", # The meeting role assigned to the member. } @@ -235,7 +235,7 @@

Method Details

"members": [ # The list of members for the current page. { # Users who are configured to have a role in the space. These users can join the space without knocking. "email": "A String", # Email for the member. This is required for creating the member. - "name": "A String", # Identifier. Resource name of the member. Format: spaces/{space}/members/{member} + "name": "A String", # Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}` "role": "A String", # The meeting role assigned to the member. }, ], @@ -262,13 +262,13 @@

Method Details

Updates a member. For more information, see [Manage meeting space members](https://developers.google.com/workspace/meet/api/guides/meeting-space-members).
 
 Args:
-  name: string, Identifier. Resource name of the member. Format: spaces/{space}/members/{member} (required)
+  name: string, Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}` (required)
   body: object, The request body.
     The object takes the form of:
 
 { # Users who are configured to have a role in the space. These users can join the space without knocking.
   "email": "A String", # Email for the member. This is required for creating the member.
-  "name": "A String", # Identifier. Resource name of the member. Format: spaces/{space}/members/{member}
+  "name": "A String", # Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}`
   "role": "A String", # The meeting role assigned to the member.
 }
 
@@ -283,7 +283,7 @@ 

Method Details

{ # Users who are configured to have a role in the space. These users can join the space without knocking. "email": "A String", # Email for the member. This is required for creating the member. - "name": "A String", # Identifier. Resource name of the member. Format: spaces/{space}/members/{member} + "name": "A String", # Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}` "role": "A String", # The meeting role assigned to the member. }
diff --git a/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.html b/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.html index 3cc743c73f..b35bf36c18 100644 --- a/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.html +++ b/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.html @@ -84,22 +84,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, firewallEndpointId=None, requestId=None, validateOnly=None, x__xgafv=None)

-

Creates a new FirewallEndpoint in a given organization and location.

+

Creates a new firewall endpoint in a given organization and location.

delete(name, requestId=None, x__xgafv=None)

-

Deletes a single org Endpoint.

+

Deletes a single organization endpoint.

get(name, x__xgafv=None)

-

Gets details of a single org Endpoint.

+

Gets details of a single organization endpoint.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists FirewallEndpoints in a given organization and location.

+

Lists firewall endpoints in a given organization and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

-

Update a single org Endpoint.

+

Updates a single organization endpoint.

Method Details

close() @@ -108,56 +108,56 @@

Method Details

create(parent, body=None, firewallEndpointId=None, requestId=None, validateOnly=None, x__xgafv=None) -
Creates a new FirewallEndpoint in a given organization and location.
+  
Creates a new firewall endpoint in a given organization and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource where this firewall endpoint is created. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Endpoint object.
-  "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.
+{ # Message describing a firewall endpoint.
+  "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.
     "A String",
   ],
-  "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.
-    { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.
-      "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}
-      "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.
+  "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.
+    { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.
+      "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.
+      "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.
     },
   ],
   "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise.
-  "createTime": "A String", # Output only. Create time stamp.
-  "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters.
+  "createTime": "A String", # Output only. Create timestamp.
+  "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters.
   "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint.
     "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint.
-    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.
-    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.
+    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.
+    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.
   },
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of resource.
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
-  "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use.
-  "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use.
+  "satisfiesPzi": True or False, # Output only. Reserved for future use.
+  "satisfiesPzs": True or False, # Output only. Reserved for future use.
   "state": "A String", # Output only. Current state of the endpoint.
-  "updateTime": "A String", # Output only. Update time stamp
-  "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis.
-    "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false.
-    "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis.
-      "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.
-      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.
-      "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.
+  "updateTime": "A String", # Output only. Update timestamp.
+  "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis.
+    "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.
+    "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis.
+      "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON).
+      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.
+      "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.
     },
-    "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.
-    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.
-    "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud
+    "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON).
+    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.
+    "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).
   },
 }
 
-  firewallEndpointId: string, Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC.
-  requestId: 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).
-  validateOnly: boolean, Optional. If set, validate the request and preview the endpoint, but do not actually create it.
+  firewallEndpointId: string, Required. The ID to use for the firewall endpoint, which becomes the final component of the endpoint's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  validateOnly: boolean, Optional. If set, validates the request and previews the endpoint, but does not actually create it.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -189,11 +189,11 @@ 

Method Details

delete(name, requestId=None, x__xgafv=None) -
Deletes a single org Endpoint.
+  
Deletes a single organization endpoint.
 
 Args:
-  name: string, Required. Name of the resource (required)
-  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  name: string, Required. The name of the resource. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -225,10 +225,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single org Endpoint.
+  
Gets details of a single organization endpoint.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The name of the resource. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -237,57 +237,57 @@ 

Method Details

Returns: An object of the form: - { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + { # Message describing a firewall endpoint. + "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`. "A String", ], - "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. - { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer. - "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}. + "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured. + { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer. + "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`. + "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`. }, ], "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise. - "createTime": "A String", # Output only. Create time stamp. - "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. + "createTime": "A String", # Output only. Create timestamp. + "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. - "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. - "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security. + "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`. }, - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of resource. + "name": "A String", # Immutable. Identifier. The name of the resource. "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. - "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use. - "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. - "updateTime": "A String", # Output only. Update time stamp - "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. - "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. - "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. - "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. - "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. - "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + "updateTime": "A String", # Output only. Update timestamp. + "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis. + "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`. + "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON). + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis. + "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`. }, - "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. - "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. - "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON). + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`. + "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud). }, }
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists FirewallEndpoints in a given organization and location.
+  
Lists firewall endpoints in a given organization and location.
 
 Args:
-  parent: string, Required. Parent value for ListEndpointsRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Hint for how to order the results
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, A token identifying a page of results the server should return.
+  parent: string, Required. The parent resource from which the firewall endpoints are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Optional. Hint for how to order the results.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, A page token, received from a previous `ListFirewallEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpoints` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -296,50 +296,50 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing Endpoints - "firewallEndpoints": [ # The list of Endpoint - { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + { # Message for response to listing endpoints. + "firewallEndpoints": [ # The list of endpoints. + { # Message describing a firewall endpoint. + "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`. "A String", ], - "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. - { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer. - "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}. + "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured. + { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer. + "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`. + "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`. }, ], "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise. - "createTime": "A String", # Output only. Create time stamp. - "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. + "createTime": "A String", # Output only. Create timestamp. + "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. - "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. - "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security. + "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`. }, - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of resource. + "name": "A String", # Immutable. Identifier. The name of the resource. "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. - "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use. - "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. - "updateTime": "A String", # Output only. Update time stamp - "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. - "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. - "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. - "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. - "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. - "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + "updateTime": "A String", # Output only. Update timestamp. + "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis. + "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`. + "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON). + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis. + "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`. }, - "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. - "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. - "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON). + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`. + "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud). }, }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. - "unreachable": [ # Locations that could not be reached. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "unreachable": [ # Locations that could not be reached. The list of unreachable locations might expand in the future. "A String", ], }
@@ -361,55 +361,55 @@

Method Details

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None) -
Update a single org Endpoint.
+  
Updates a single organization endpoint.
 
 Args:
-  name: string, Immutable. Identifier. Name of resource. (required)
+  name: string, Immutable. Identifier. The name of the resource. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Endpoint object.
-  "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.
+{ # Message describing a firewall endpoint.
+  "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.
     "A String",
   ],
-  "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.
-    { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.
-      "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}
-      "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.
+  "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.
+    { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.
+      "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.
+      "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.
     },
   ],
   "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise.
-  "createTime": "A String", # Output only. Create time stamp.
-  "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters.
+  "createTime": "A String", # Output only. Create timestamp.
+  "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters.
   "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint.
     "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint.
-    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.
-    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.
+    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.
+    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.
   },
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of resource.
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
-  "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use.
-  "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use.
+  "satisfiesPzi": True or False, # Output only. Reserved for future use.
+  "satisfiesPzs": True or False, # Output only. Reserved for future use.
   "state": "A String", # Output only. Current state of the endpoint.
-  "updateTime": "A String", # Output only. Update time stamp
-  "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis.
-    "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false.
-    "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis.
-      "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.
-      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.
-      "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.
+  "updateTime": "A String", # Output only. Update timestamp.
+  "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis.
+    "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.
+    "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis.
+      "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON).
+      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.
+      "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.
     },
-    "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.
-    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.
-    "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud
+    "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON).
+    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.
+    "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).
   },
 }
 
-  requestId: 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).
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Endpoint resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  updateMask: string, Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpoint` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html b/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
index e261e2e5cb..bac454a596 100644
--- a/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
+++ b/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
@@ -79,13 +79,13 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.

+

Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.

get(name, x__xgafv=None)

-

Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.

+

Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.

+

Lists the Advanced malware sandbox (WildFire) verdict change requests in a given firewall endpoint in an organization and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

@@ -97,28 +97,28 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.
+  
Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.
 
 Args:
-  parent: string, Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
+  parent: string, Required. Parent value for `CreateWildfireVerdictChangeRequestRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message for a WildfireVerdictChangeRequest.
-  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
-  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
-  "fileName": "A String", # Output only. The file name of the Malware Sample.
-  "fileType": "A String", # Output only. The file type of the Malware Sample.
-  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
-  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
-  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
-  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
-  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
-  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
-  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
-  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
-  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
-  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+{ # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`).
+  "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created.
+  "fileName": "A String", # Output only. The file name of the malware sample.
+  "fileType": "A String", # Output only. The file type of the malware sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the malware sample.
+  "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the malware sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved.
+  "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample.
+  "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`.
+  "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.
 }
 
   x__xgafv: string, V1 error format.
@@ -129,30 +129,30 @@ 

Method Details

Returns: An object of the form: - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }
get(name, x__xgafv=None) -
Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.
+  
Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.
 
 Args:
-  name: string, Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ (required)
+  name: string, Required. The name of the `WildfireVerdictChangeRequest` to retrieve. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -161,33 +161,33 @@ 

Method Details

Returns: An object of the form: - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.
+  
Lists the Advanced malware sandbox (WildFire) verdict change requests in a given firewall endpoint in an organization and location.
 
 Args:
-  parent: string, Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
-  filter: string, Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time > "2026-01-01T00:00:00Z"`)
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, Optional. A token identifying a page of results the server should return.
+  parent: string, Required. Parent value for `ListWildfireVerdictChangeRequestsRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`. (required)
+  filter: string, Optional. Filter expression to filter the results. Supported fields are: - `sha256` (string, equality only, for example, `sha256 = "..."`) - `state` (enum, equality only, valid values are `OPEN`, `CLOSED`, or `PENDING`, for example, `state = "PENDING"`) - `create_time` (timestamp, comparisons, for example, `create_time >= "2026-01-01T00:00:00Z" AND create_time <= "2026-01-31T23:59:59Z"`). If filtering by `create_time`, you must specify both a start time and an end time. If `create_time` is not specified, the query defaults to the past 30 days.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListWildfireVerdictChangeRequests` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWildfireVerdictChangeRequests` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -196,27 +196,27 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing WildfireVerdictChangeRequests. - "nextPageToken": "A String", # A token identifying a page of results the server should return. + { # Message for response to listing `WildfireVerdictChangeRequest` resources. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. "unreachable": [ # Unordered list. Locations that could not be reached. "A String", ], - "wildfireVerdictChangeRequests": [ # The list of WildfireVerdictChangeRequests - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + "wildfireVerdictChangeRequests": [ # The list of `WildfireVerdictChangeRequest` resources. + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }, ], }
diff --git a/docs/dyn/networksecurity_v1.organizations.locations.securityProfileGroups.html b/docs/dyn/networksecurity_v1.organizations.locations.securityProfileGroups.html index bc3b05bec7..2fadddd066 100644 --- a/docs/dyn/networksecurity_v1.organizations.locations.securityProfileGroups.html +++ b/docs/dyn/networksecurity_v1.organizations.locations.securityProfileGroups.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, securityProfileGroupId=None, x__xgafv=None)

-

Creates a new SecurityProfileGroup in a given organization and location.

+

Creates a new security profile group in a given organization and location.

delete(name, etag=None, x__xgafv=None)

-

Deletes a single SecurityProfileGroup.

+

Deletes a single security profile group.

get(name, x__xgafv=None)

-

Gets details of a single SecurityProfileGroup.

+

Gets details of a single security profile group.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists SecurityProfileGroups in a given organization and location.

+

Lists security profile group resources in a given organization and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the parameters of a single SecurityProfileGroup.

+

Updates the parameters of a single security profile group.

Method Details

close() @@ -103,31 +103,31 @@

Method Details

create(parent, body=None, securityProfileGroupId=None, x__xgafv=None) -
Creates a new SecurityProfileGroup in a given organization and location.
+  
Creates a new security profile group in a given organization and location.
 
 Args:
-  parent: string, Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/*/locations/{location}`. (required)
+  parent: string, Required. The parent resource of the `SecurityProfileGroup`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.
+{ # A resource that defines the behavior for various `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration.
-  "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration.
-  "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`.
-  "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters.
+  "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration.
+  "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.
+  "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`.
+  "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
-  "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.
+  "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration.
   "updateTime": "A String", # Output only. Last resource update timestamp.
-  "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration.
-  "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration.
+  "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration.
+  "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.
 }
 
-  securityProfileGroupId: string, Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1".
+  securityProfileGroupId: string, Required. Short name of the `SecurityProfileGroup` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile-group1`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -159,11 +159,11 @@ 

Method Details

delete(name, etag=None, x__xgafv=None) -
Deletes a single SecurityProfileGroup.
+  
Deletes a single security profile group.
 
 Args:
-  name: string, Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
-  etag: string, Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.
+  name: string, Required. The name of the `SecurityProfileGroup` to delete. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  etag: string, Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -195,10 +195,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single SecurityProfileGroup.
+  
Gets details of a single security profile group.
 
 Args:
-  name: string, Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  name: string, Required. The name of the `SecurityProfileGroup` to get. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -207,32 +207,32 @@ 

Method Details

Returns: An object of the form: - { # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. + { # A resource that defines the behavior for various `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration. - "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration. - "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`. - "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters. + "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration. + "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration. + "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`. + "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. - "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. + "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. - "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. + "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration. }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists SecurityProfileGroups in a given organization and location.
+  
Lists security profile group resources in a given organization and location.
 
 Args:
-  parent: string, Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/*/locations/{location}`. (required)
-  pageSize: integer, Optional. Maximum number of SecurityProfileGroups to return per call.
-  pageToken: string, Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data.
+  parent: string, Required. The project or organization and location from which the `SecurityProfileGroup` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Maximum number of `SecurityProfileGroup` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListSecurityProfileGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfileGroups` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -241,24 +241,24 @@ 

Method Details

Returns: An object of the form: - { # Response returned by the ListSecurityProfileGroups method. - "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. - "securityProfileGroups": [ # List of SecurityProfileGroups resources. - { # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. + { # Response returned by the `ListSecurityProfileGroups` method. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "securityProfileGroups": [ # List of `SecurityProfileGroup` resources. + { # A resource that defines the behavior for various `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration. - "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration. - "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`. - "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters. + "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration. + "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration. + "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`. + "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. - "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. + "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. - "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. + "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration. }, ], }
@@ -280,31 +280,31 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the parameters of a single SecurityProfileGroup.
+  
Updates the parameters of a single security profile group.
 
 Args:
-  name: string, Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  name: string, Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.
+{ # A resource that defines the behavior for various `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration.
-  "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration.
-  "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`.
-  "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters.
+  "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration.
+  "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.
+  "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`.
+  "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
-  "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.
+  "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration.
   "updateTime": "A String", # Output only. Last resource update timestamp.
-  "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration.
-  "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration.
+  "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration.
+  "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.
 }
 
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.
+  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfileGroup` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1.organizations.locations.securityProfiles.html b/docs/dyn/networksecurity_v1.organizations.locations.securityProfiles.html
index f151402e16..226121d154 100644
--- a/docs/dyn/networksecurity_v1.organizations.locations.securityProfiles.html
+++ b/docs/dyn/networksecurity_v1.organizations.locations.securityProfiles.html
@@ -79,22 +79,22 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, securityProfileId=None, x__xgafv=None)

-

Creates a new SecurityProfile in a given organization and location.

+

Creates a new security profile in a given organization and location.

delete(name, etag=None, x__xgafv=None)

-

Deletes a single SecurityProfile.

+

Deletes a single security profile.

get(name, x__xgafv=None)

-

Gets details of a single SecurityProfile.

+

Gets details of a single security profile.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists SecurityProfiles in a given organization and location.

+

Lists security profile resources in a given organization and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the parameters of a single SecurityProfile.

+

Updates the parameters of a single security profile.

Method Details

close() @@ -103,28 +103,28 @@

Method Details

create(parent, body=None, securityProfileId=None, x__xgafv=None) -
Creates a new SecurityProfile in a given organization and location.
+  
Creates a new security profile in a given organization and location.
 
 Args:
-  parent: string, Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/*/locations/{location}`. (required)
+  parent: string, Required. The parent resource of the `SecurityProfile`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.
+{ # A resource that defines the behavior for one of many `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile.
+  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`.
     "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.
   },
-  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile.
+  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`.
     "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.
   },
-  "description": "A String", # Optional. An optional description of the profile. Max length 512 characters.
+  "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
-  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.
+  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`.
     "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol.
       { # Defines what action to take for antivirus threats per protocol.
         "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies.
@@ -145,9 +145,9 @@ 

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -158,75 +158,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -234,7 +234,7 @@

Method Details

}, } - securityProfileId: string, Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". + securityProfileId: string, Required. Short name of the `SecurityProfile` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile1`. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -266,11 +266,11 @@

Method Details

delete(name, etag=None, x__xgafv=None) -
Deletes a single SecurityProfile.
+  
Deletes a single security profile.
 
 Args:
-  name: string, Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`. (required)
-  etag: string, Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.
+  name: string, Required. The name of the `SecurityProfile` to delete. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
+  etag: string, Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -302,10 +302,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single SecurityProfile.
+  
Gets details of a single security profile.
 
 Args:
-  name: string, Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`. (required)
+  name: string, Required. The name of the `SecurityProfile` to get. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -314,21 +314,21 @@ 

Method Details

Returns: An object of the form: - { # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. + { # A resource that defines the behavior for one of many `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile. + "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`. "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group. }, - "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile. + "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`. "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group. }, - "description": "A String", # Optional. An optional description of the profile. Max length 512 characters. + "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. - "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. + "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`. "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol. { # Defines what action to take for antivirus threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. @@ -349,9 +349,9 @@

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -362,75 +362,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -441,12 +441,12 @@

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists SecurityProfiles in a given organization and location.
+  
Lists security profile resources in a given organization and location.
 
 Args:
-  parent: string, Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/*/locations/{location}`. (required)
-  pageSize: integer, Optional. Maximum number of SecurityProfiles to return per call.
-  pageToken: string, Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data.
+  parent: string, Required. The project or organization and location from which the `SecurityProfile` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Maximum number of `SecurityProfile` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListSecurityProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfiles` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -455,24 +455,24 @@ 

Method Details

Returns: An object of the form: - { # Response returned by the ListSecurityProfiles method. - "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. - "securityProfiles": [ # List of SecurityProfile resources. - { # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. + { # Response returned by the `ListSecurityProfiles` method. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "securityProfiles": [ # List of `SecurityProfile` resources. + { # A resource that defines the behavior for one of many `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile. + "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`. "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group. }, - "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile. + "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`. "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group. }, - "description": "A String", # Optional. An optional description of the profile. Max length 512 characters. + "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. - "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. + "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`. "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol. { # Defines what action to take for antivirus threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. @@ -493,9 +493,9 @@

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -506,75 +506,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -601,28 +601,28 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the parameters of a single SecurityProfile.
+  
Updates the parameters of a single security profile.
 
 Args:
-  name: string, Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. (required)
+  name: string, Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.
+{ # A resource that defines the behavior for one of many `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile.
+  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`.
     "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.
   },
-  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile.
+  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`.
     "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.
   },
-  "description": "A String", # Optional. An optional description of the profile. Max length 512 characters.
+  "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
-  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.
+  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`.
     "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol.
       { # Defines what action to take for antivirus threats per protocol.
         "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies.
@@ -643,9 +643,9 @@ 

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -656,75 +656,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -732,7 +732,7 @@

Method Details

}, } - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. + updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfile` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/networksecurity_v1.projects.locations.firewallEndpointAssociations.html b/docs/dyn/networksecurity_v1.projects.locations.firewallEndpointAssociations.html index fc8f50f604..68908f1861 100644 --- a/docs/dyn/networksecurity_v1.projects.locations.firewallEndpointAssociations.html +++ b/docs/dyn/networksecurity_v1.projects.locations.firewallEndpointAssociations.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, firewallEndpointAssociationId=None, requestId=None, x__xgafv=None)

-

Creates a new FirewallEndpointAssociation in a given project and location.

+

Creates a new firewall endpoint association in a given project and location.

delete(name, requestId=None, x__xgafv=None)

-

Deletes a single FirewallEndpointAssociation.

+

Deletes a single firewall endpoint association.

get(name, x__xgafv=None)

-

Gets details of a single FirewallEndpointAssociation.

+

Gets details of a single firewall endpoint association.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists Associations in a given project and location.

+

Lists associations in a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

-

Update a single FirewallEndpointAssociation.

+

Updates a single firewall endpoint association.

Method Details

close() @@ -103,30 +103,30 @@

Method Details

create(parent, body=None, firewallEndpointAssociationId=None, requestId=None, x__xgafv=None) -
Creates a new FirewallEndpointAssociation in a given project and location.
+  
Creates a new firewall endpoint association in a given project and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource where this firewall endpoint association is created. Format: `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Association object
-  "createTime": "A String", # Output only. Create time stamp
-  "disabled": True or False, # Optional. Whether the association is disabled. True indicates that traffic won't be intercepted
-  "firewallEndpoint": "A String", # Required. The URL of the FirewallEndpoint that is being associated.
-  "labels": { # Optional. Labels as key value pairs
+{ # Message describing a firewall endpoint association.
+  "createTime": "A String", # Output only. Create timestamp.
+  "disabled": True or False, # Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`.
+  "firewallEndpoint": "A String", # Required. The URL of the `FirewallEndpoint` that is being associated.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. name of resource
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "network": "A String", # Required. The URL of the network that is being associated.
-  "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
+  "reconciling": True or False, # Output only. Whether reconciliation is in progress.
   "state": "A String", # Output only. Current state of the association.
-  "tlsInspectionPolicy": "A String", # Optional. The URL of the TlsInspectionPolicy that is being associated.
-  "updateTime": "A String", # Output only. Update time stamp
+  "tlsInspectionPolicy": "A String", # Optional. The URL of the `TlsInspectionPolicy` that is being associated.
+  "updateTime": "A String", # Output only. Update timestamp.
 }
 
-  firewallEndpointAssociationId: string, Optional. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_association_id from the method_signature of Create RPC.
-  requestId: 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).
+  firewallEndpointAssociationId: string, Optional. The ID to use for the firewall endpoint association, which becomes the final component of the association's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -158,11 +158,11 @@ 

Method Details

delete(name, requestId=None, x__xgafv=None) -
Deletes a single FirewallEndpointAssociation.
+  
Deletes a single firewall endpoint association.
 
 Args:
-  name: string, Required. Name of the resource (required)
-  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  name: string, Required. The name of the resource. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -194,10 +194,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single FirewallEndpointAssociation.
+  
Gets details of a single firewall endpoint association.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The name of the resource. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -206,32 +206,32 @@ 

Method Details

Returns: An object of the form: - { # Message describing Association object - "createTime": "A String", # Output only. Create time stamp - "disabled": True or False, # Optional. Whether the association is disabled. True indicates that traffic won't be intercepted - "firewallEndpoint": "A String", # Required. The URL of the FirewallEndpoint that is being associated. - "labels": { # Optional. Labels as key value pairs + { # Message describing a firewall endpoint association. + "createTime": "A String", # Output only. Create timestamp. + "disabled": True or False, # Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`. + "firewallEndpoint": "A String", # Required. The URL of the `FirewallEndpoint` that is being associated. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. name of resource + "name": "A String", # Immutable. Identifier. The name of the resource. "network": "A String", # Required. The URL of the network that is being associated. - "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. + "reconciling": True or False, # Output only. Whether reconciliation is in progress. "state": "A String", # Output only. Current state of the association. - "tlsInspectionPolicy": "A String", # Optional. The URL of the TlsInspectionPolicy that is being associated. - "updateTime": "A String", # Output only. Update time stamp + "tlsInspectionPolicy": "A String", # Optional. The URL of the `TlsInspectionPolicy` that is being associated. + "updateTime": "A String", # Output only. Update timestamp. }
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists Associations in a given project and location.
+  
Lists associations in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListAssociationsRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Hint for how to order the results
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, A token identifying a page of results the server should return.
+  parent: string, Required. The parent resource from which the firewall endpoint associations are listed. Format: `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Hint for how to order the results.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, A page token, received from a previous `ListFirewallEndpointAssociations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpointAssociations` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -240,25 +240,25 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing Associations - "firewallEndpointAssociations": [ # The list of Association - { # Message describing Association object - "createTime": "A String", # Output only. Create time stamp - "disabled": True or False, # Optional. Whether the association is disabled. True indicates that traffic won't be intercepted - "firewallEndpoint": "A String", # Required. The URL of the FirewallEndpoint that is being associated. - "labels": { # Optional. Labels as key value pairs + { # Message for response to listing associations. + "firewallEndpointAssociations": [ # The list of associations. + { # Message describing a firewall endpoint association. + "createTime": "A String", # Output only. Create timestamp. + "disabled": True or False, # Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`. + "firewallEndpoint": "A String", # Required. The URL of the `FirewallEndpoint` that is being associated. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. name of resource + "name": "A String", # Immutable. Identifier. The name of the resource. "network": "A String", # Required. The URL of the network that is being associated. - "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. + "reconciling": True or False, # Output only. Whether reconciliation is in progress. "state": "A String", # Output only. Current state of the association. - "tlsInspectionPolicy": "A String", # Optional. The URL of the TlsInspectionPolicy that is being associated. - "updateTime": "A String", # Output only. Update time stamp + "tlsInspectionPolicy": "A String", # Optional. The URL of the `TlsInspectionPolicy` that is being associated. + "updateTime": "A String", # Output only. Update timestamp. }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. - "unreachable": [ # Locations that could not be reached. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "unreachable": [ # Locations that could not be reached. The list of unreachable locations might expand in the future. "A String", ], }
@@ -280,30 +280,30 @@

Method Details

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None) -
Update a single FirewallEndpointAssociation.
+  
Updates a single firewall endpoint association.
 
 Args:
-  name: string, Immutable. Identifier. name of resource (required)
+  name: string, Immutable. Identifier. The name of the resource. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Association object
-  "createTime": "A String", # Output only. Create time stamp
-  "disabled": True or False, # Optional. Whether the association is disabled. True indicates that traffic won't be intercepted
-  "firewallEndpoint": "A String", # Required. The URL of the FirewallEndpoint that is being associated.
-  "labels": { # Optional. Labels as key value pairs
+{ # Message describing a firewall endpoint association.
+  "createTime": "A String", # Output only. Create timestamp.
+  "disabled": True or False, # Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`.
+  "firewallEndpoint": "A String", # Required. The URL of the `FirewallEndpoint` that is being associated.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. name of resource
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "network": "A String", # Required. The URL of the network that is being associated.
-  "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
+  "reconciling": True or False, # Output only. Whether reconciliation is in progress.
   "state": "A String", # Output only. Current state of the association.
-  "tlsInspectionPolicy": "A String", # Optional. The URL of the TlsInspectionPolicy that is being associated.
-  "updateTime": "A String", # Output only. Update time stamp
+  "tlsInspectionPolicy": "A String", # Optional. The URL of the `TlsInspectionPolicy` that is being associated.
+  "updateTime": "A String", # Output only. Update timestamp.
 }
 
-  requestId: 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).
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Association resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  updateMask: string, Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpointAssociation` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.html b/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.html
index 01db9283b9..f10122de10 100644
--- a/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.html
+++ b/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.html
@@ -84,22 +84,22 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, firewallEndpointId=None, requestId=None, validateOnly=None, x__xgafv=None)

-

Creates a new FirewallEndpoint in a given project and location.

+

Creates a new firewall endpoint in a given project and location.

delete(name, requestId=None, x__xgafv=None)

-

Deletes a single project Endpoint.

+

Deletes a single project endpoint.

get(name, x__xgafv=None)

-

Gets details of a single project Endpoint.

+

Gets details of a single project endpoint.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists FirewallEndpoints in a given project and location.

+

Lists firewall endpoints in a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

-

Update a single project Endpoint.

+

Updates a single project endpoint.

Method Details

close() @@ -108,56 +108,56 @@

Method Details

create(parent, body=None, firewallEndpointId=None, requestId=None, validateOnly=None, x__xgafv=None) -
Creates a new FirewallEndpoint in a given project and location.
+  
Creates a new firewall endpoint in a given project and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource where this firewall endpoint is created. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Endpoint object.
-  "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.
+{ # Message describing a firewall endpoint.
+  "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.
     "A String",
   ],
-  "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.
-    { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.
-      "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}
-      "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.
+  "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.
+    { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.
+      "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.
+      "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.
     },
   ],
   "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise.
-  "createTime": "A String", # Output only. Create time stamp.
-  "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters.
+  "createTime": "A String", # Output only. Create timestamp.
+  "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters.
   "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint.
     "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint.
-    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.
-    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.
+    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.
+    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.
   },
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of resource.
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
-  "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use.
-  "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use.
+  "satisfiesPzi": True or False, # Output only. Reserved for future use.
+  "satisfiesPzs": True or False, # Output only. Reserved for future use.
   "state": "A String", # Output only. Current state of the endpoint.
-  "updateTime": "A String", # Output only. Update time stamp
-  "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis.
-    "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false.
-    "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis.
-      "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.
-      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.
-      "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.
+  "updateTime": "A String", # Output only. Update timestamp.
+  "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis.
+    "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.
+    "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis.
+      "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON).
+      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.
+      "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.
     },
-    "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.
-    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.
-    "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud
+    "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON).
+    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.
+    "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).
   },
 }
 
-  firewallEndpointId: string, Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC.
-  requestId: 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).
-  validateOnly: boolean, Optional. If set, validate the request and preview the endpoint, but do not actually create it.
+  firewallEndpointId: string, Required. The ID to use for the firewall endpoint, which becomes the final component of the endpoint's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  validateOnly: boolean, Optional. If set, validates the request and previews the endpoint, but does not actually create it.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -189,11 +189,11 @@ 

Method Details

delete(name, requestId=None, x__xgafv=None) -
Deletes a single project Endpoint.
+  
Deletes a single project endpoint.
 
 Args:
-  name: string, Required. Name of the resource (required)
-  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  name: string, Required. The name of the resource. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -225,10 +225,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single project Endpoint.
+  
Gets details of a single project endpoint.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The name of the resource. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -237,57 +237,57 @@ 

Method Details

Returns: An object of the form: - { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + { # Message describing a firewall endpoint. + "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`. "A String", ], - "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. - { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer. - "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}. + "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured. + { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer. + "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`. + "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`. }, ], "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise. - "createTime": "A String", # Output only. Create time stamp. - "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. + "createTime": "A String", # Output only. Create timestamp. + "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. - "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. - "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security. + "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`. }, - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of resource. + "name": "A String", # Immutable. Identifier. The name of the resource. "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. - "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use. - "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. - "updateTime": "A String", # Output only. Update time stamp - "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. - "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. - "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. - "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. - "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. - "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + "updateTime": "A String", # Output only. Update timestamp. + "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis. + "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`. + "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON). + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis. + "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`. }, - "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. - "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. - "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON). + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`. + "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud). }, }
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists FirewallEndpoints in a given project and location.
+  
Lists firewall endpoints in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListEndpointsRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Hint for how to order the results
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, A token identifying a page of results the server should return.
+  parent: string, Required. The parent resource from which the firewall endpoints are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Optional. Hint for how to order the results.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, A page token, received from a previous `ListFirewallEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpoints` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -296,50 +296,50 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing Endpoints - "firewallEndpoints": [ # The list of Endpoint - { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + { # Message for response to listing endpoints. + "firewallEndpoints": [ # The list of endpoints. + { # Message describing a firewall endpoint. + "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`. "A String", ], - "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. - { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer. - "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}. + "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured. + { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer. + "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`. + "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`. }, ], "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise. - "createTime": "A String", # Output only. Create time stamp. - "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. + "createTime": "A String", # Output only. Create timestamp. + "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. - "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. - "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security. + "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`. }, - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of resource. + "name": "A String", # Immutable. Identifier. The name of the resource. "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. - "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use. - "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. - "updateTime": "A String", # Output only. Update time stamp - "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. - "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. - "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. - "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. - "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. - "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + "updateTime": "A String", # Output only. Update timestamp. + "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis. + "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`. + "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON). + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis. + "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`. }, - "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. - "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. - "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON). + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`. + "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud). }, }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. - "unreachable": [ # Locations that could not be reached. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "unreachable": [ # Locations that could not be reached. The list of unreachable locations might expand in the future. "A String", ], }
@@ -361,55 +361,55 @@

Method Details

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None) -
Update a single project Endpoint.
+  
Updates a single project endpoint.
 
 Args:
-  name: string, Immutable. Identifier. Name of resource. (required)
+  name: string, Immutable. Identifier. The name of the resource. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Endpoint object.
-  "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.
+{ # Message describing a firewall endpoint.
+  "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.
     "A String",
   ],
-  "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.
-    { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.
-      "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}
-      "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.
+  "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.
+    { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.
+      "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.
+      "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.
     },
   ],
   "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise.
-  "createTime": "A String", # Output only. Create time stamp.
-  "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters.
+  "createTime": "A String", # Output only. Create timestamp.
+  "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters.
   "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint.
     "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint.
-    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.
-    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.
+    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.
+    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.
   },
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of resource.
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
-  "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use.
-  "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use.
+  "satisfiesPzi": True or False, # Output only. Reserved for future use.
+  "satisfiesPzs": True or False, # Output only. Reserved for future use.
   "state": "A String", # Output only. Current state of the endpoint.
-  "updateTime": "A String", # Output only. Update time stamp
-  "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis.
-    "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false.
-    "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis.
-      "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.
-      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.
-      "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.
+  "updateTime": "A String", # Output only. Update timestamp.
+  "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis.
+    "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.
+    "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis.
+      "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON).
+      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.
+      "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.
     },
-    "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.
-    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.
-    "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud
+    "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON).
+    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.
+    "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).
   },
 }
 
-  requestId: 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).
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Endpoint resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  updateMask: string, Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpoint` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html b/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
index 2a0c81e8b4..e45baa121d 100644
--- a/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
+++ b/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
@@ -79,13 +79,13 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.

+

Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.

get(name, x__xgafv=None)

-

Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.

+

Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.

+

Lists the Advanced malware sandbox verdict change requests in a given firewall endpoint in a project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

@@ -97,28 +97,28 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.
+  
Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.
 
 Args:
-  parent: string, Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
+  parent: string, Required. Parent value for `CreateWildfireVerdictChangeRequestRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message for a WildfireVerdictChangeRequest.
-  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
-  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
-  "fileName": "A String", # Output only. The file name of the Malware Sample.
-  "fileType": "A String", # Output only. The file type of the Malware Sample.
-  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
-  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
-  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
-  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
-  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
-  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
-  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
-  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
-  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
-  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+{ # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`).
+  "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created.
+  "fileName": "A String", # Output only. The file name of the malware sample.
+  "fileType": "A String", # Output only. The file type of the malware sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the malware sample.
+  "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the malware sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved.
+  "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample.
+  "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`.
+  "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.
 }
 
   x__xgafv: string, V1 error format.
@@ -129,30 +129,30 @@ 

Method Details

Returns: An object of the form: - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }
get(name, x__xgafv=None) -
Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.
+  
Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.
 
 Args:
-  name: string, Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ (required)
+  name: string, Required. The name of the `WildfireVerdictChangeRequest` to retrieve. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -161,33 +161,33 @@ 

Method Details

Returns: An object of the form: - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.
+  
Lists the Advanced malware sandbox verdict change requests in a given firewall endpoint in a project and location.
 
 Args:
-  parent: string, Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
-  filter: string, Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time > "2026-01-01T00:00:00Z"`)
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, Optional. A token identifying a page of results the server should return.
+  parent: string, Required. Parent value for `ListWildfireVerdictChangeRequestsRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`. (required)
+  filter: string, Optional. Filter expression to filter the results. Supported fields are: - `sha256` (string, equality only, for example, `sha256 = "..."`) - `state` (enum, equality only, valid values are `OPEN`, `CLOSED`, or `PENDING`, for example, `state = "PENDING"`) - `create_time` (timestamp, comparisons, for example, `create_time >= "2026-01-01T00:00:00Z" AND create_time <= "2026-01-31T23:59:59Z"`). If filtering by `create_time`, you must specify both a start time and an end time. If `create_time` is not specified, the query defaults to the past 30 days.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListWildfireVerdictChangeRequests` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWildfireVerdictChangeRequests` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -196,27 +196,27 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing WildfireVerdictChangeRequests. - "nextPageToken": "A String", # A token identifying a page of results the server should return. + { # Message for response to listing `WildfireVerdictChangeRequest` resources. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. "unreachable": [ # Unordered list. Locations that could not be reached. "A String", ], - "wildfireVerdictChangeRequests": [ # The list of WildfireVerdictChangeRequests - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + "wildfireVerdictChangeRequests": [ # The list of `WildfireVerdictChangeRequest` resources. + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }, ], }
diff --git a/docs/dyn/networksecurity_v1.projects.locations.securityProfileGroups.html b/docs/dyn/networksecurity_v1.projects.locations.securityProfileGroups.html index a1a4654eb5..63e987f7f3 100644 --- a/docs/dyn/networksecurity_v1.projects.locations.securityProfileGroups.html +++ b/docs/dyn/networksecurity_v1.projects.locations.securityProfileGroups.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, securityProfileGroupId=None, x__xgafv=None)

-

Creates a new SecurityProfileGroup in a given project and location.

+

Creates a new security profile group in a given project and location.

delete(name, etag=None, x__xgafv=None)

-

Deletes a single SecurityProfileGroup.

+

Deletes a single security profile group.

get(name, x__xgafv=None)

-

Gets details of a single SecurityProfileGroup.

+

Gets details of a single security profile group.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists SecurityProfileGroups in a given project and location.

+

Lists security profile group resources in a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the parameters of a single SecurityProfileGroup.

+

Updates the parameters of a single security profile group.

Method Details

close() @@ -103,31 +103,31 @@

Method Details

create(parent, body=None, securityProfileGroupId=None, x__xgafv=None) -
Creates a new SecurityProfileGroup in a given project and location.
+  
Creates a new security profile group in a given project and location.
 
 Args:
-  parent: string, Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/*/locations/{location}`. (required)
+  parent: string, Required. The parent resource of the `SecurityProfileGroup`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.
+{ # A resource that defines the behavior for various `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration.
-  "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration.
-  "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`.
-  "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters.
+  "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration.
+  "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.
+  "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`.
+  "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
-  "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.
+  "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration.
   "updateTime": "A String", # Output only. Last resource update timestamp.
-  "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration.
-  "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration.
+  "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration.
+  "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.
 }
 
-  securityProfileGroupId: string, Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1".
+  securityProfileGroupId: string, Required. Short name of the `SecurityProfileGroup` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile-group1`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -159,11 +159,11 @@ 

Method Details

delete(name, etag=None, x__xgafv=None) -
Deletes a single SecurityProfileGroup.
+  
Deletes a single security profile group.
 
 Args:
-  name: string, Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
-  etag: string, Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.
+  name: string, Required. The name of the `SecurityProfileGroup` to delete. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  etag: string, Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -195,10 +195,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single SecurityProfileGroup.
+  
Gets details of a single security profile group.
 
 Args:
-  name: string, Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  name: string, Required. The name of the `SecurityProfileGroup` to get. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -207,32 +207,32 @@ 

Method Details

Returns: An object of the form: - { # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. + { # A resource that defines the behavior for various `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration. - "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration. - "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`. - "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters. + "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration. + "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration. + "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`. + "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. - "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. + "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. - "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. + "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration. }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists SecurityProfileGroups in a given project and location.
+  
Lists security profile group resources in a given project and location.
 
 Args:
-  parent: string, Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/*/locations/{location}`. (required)
-  pageSize: integer, Optional. Maximum number of SecurityProfileGroups to return per call.
-  pageToken: string, Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data.
+  parent: string, Required. The project or organization and location from which the `SecurityProfileGroup` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Maximum number of `SecurityProfileGroup` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListSecurityProfileGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfileGroups` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -241,24 +241,24 @@ 

Method Details

Returns: An object of the form: - { # Response returned by the ListSecurityProfileGroups method. - "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. - "securityProfileGroups": [ # List of SecurityProfileGroups resources. - { # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. + { # Response returned by the `ListSecurityProfileGroups` method. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "securityProfileGroups": [ # List of `SecurityProfileGroup` resources. + { # A resource that defines the behavior for various `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration. - "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration. - "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`. - "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters. + "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration. + "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration. + "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`. + "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. - "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. + "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. - "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. + "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration. }, ], }
@@ -280,31 +280,31 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the parameters of a single SecurityProfileGroup.
+  
Updates the parameters of a single security profile group.
 
 Args:
-  name: string, Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  name: string, Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.
+{ # A resource that defines the behavior for various `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration.
-  "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration.
-  "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`.
-  "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters.
+  "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration.
+  "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.
+  "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`.
+  "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
-  "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.
+  "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration.
   "updateTime": "A String", # Output only. Last resource update timestamp.
-  "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration.
-  "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration.
+  "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration.
+  "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.
 }
 
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.
+  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfileGroup` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1.projects.locations.securityProfiles.html b/docs/dyn/networksecurity_v1.projects.locations.securityProfiles.html
index b7d9cd163f..684d4a1905 100644
--- a/docs/dyn/networksecurity_v1.projects.locations.securityProfiles.html
+++ b/docs/dyn/networksecurity_v1.projects.locations.securityProfiles.html
@@ -79,22 +79,22 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, securityProfileId=None, x__xgafv=None)

-

Creates a new SecurityProfile in a given project and location.

+

Creates a new security profile in a given project and location.

delete(name, etag=None, x__xgafv=None)

-

Deletes a single SecurityProfile.

+

Deletes a single security profile.

get(name, x__xgafv=None)

-

Gets details of a single SecurityProfile.

+

Gets details of a single security profile.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists SecurityProfiles in a given project and location.

+

Lists security profiles in a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the parameters of a single SecurityProfile.

+

Updates the parameters of a single security profile.

Method Details

close() @@ -103,28 +103,28 @@

Method Details

create(parent, body=None, securityProfileId=None, x__xgafv=None) -
Creates a new SecurityProfile in a given project and location.
+  
Creates a new security profile in a given project and location.
 
 Args:
-  parent: string, Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/*/locations/{location}`. (required)
+  parent: string, Required. The parent resource of the `SecurityProfile`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.
+{ # A resource that defines the behavior for one of many `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile.
+  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`.
     "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.
   },
-  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile.
+  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`.
     "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.
   },
-  "description": "A String", # Optional. An optional description of the profile. Max length 512 characters.
+  "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
-  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.
+  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`.
     "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol.
       { # Defines what action to take for antivirus threats per protocol.
         "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies.
@@ -145,9 +145,9 @@ 

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -158,75 +158,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -234,7 +234,7 @@

Method Details

}, } - securityProfileId: string, Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". + securityProfileId: string, Required. Short name of the `SecurityProfile` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile1`. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -266,11 +266,11 @@

Method Details

delete(name, etag=None, x__xgafv=None) -
Deletes a single SecurityProfile.
+  
Deletes a single security profile.
 
 Args:
-  name: string, Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`. (required)
-  etag: string, Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.
+  name: string, Required. The name of the `SecurityProfile` to delete. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
+  etag: string, Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -302,10 +302,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single SecurityProfile.
+  
Gets details of a single security profile.
 
 Args:
-  name: string, Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`. (required)
+  name: string, Required. The name of the `SecurityProfile` to get. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -314,21 +314,21 @@ 

Method Details

Returns: An object of the form: - { # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. + { # A resource that defines the behavior for one of many `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile. + "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`. "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group. }, - "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile. + "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`. "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group. }, - "description": "A String", # Optional. An optional description of the profile. Max length 512 characters. + "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. - "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. + "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`. "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol. { # Defines what action to take for antivirus threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. @@ -349,9 +349,9 @@

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -362,75 +362,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -441,12 +441,12 @@

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists SecurityProfiles in a given project and location.
+  
Lists security profiles in a given project and location.
 
 Args:
-  parent: string, Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/*/locations/{location}`. (required)
-  pageSize: integer, Optional. Maximum number of SecurityProfiles to return per call.
-  pageToken: string, Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data.
+  parent: string, Required. The project or organization and location from which the `SecurityProfile` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Maximum number of `SecurityProfile` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListSecurityProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfiles` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -455,24 +455,24 @@ 

Method Details

Returns: An object of the form: - { # Response returned by the ListSecurityProfiles method. - "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. - "securityProfiles": [ # List of SecurityProfile resources. - { # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. + { # Response returned by the `ListSecurityProfiles` method. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "securityProfiles": [ # List of `SecurityProfile` resources. + { # A resource that defines the behavior for one of many `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile. + "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`. "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group. }, - "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile. + "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`. "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group. }, - "description": "A String", # Optional. An optional description of the profile. Max length 512 characters. + "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. - "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. + "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`. "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol. { # Defines what action to take for antivirus threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. @@ -493,9 +493,9 @@

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -506,75 +506,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -601,28 +601,28 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the parameters of a single SecurityProfile.
+  
Updates the parameters of a single security profile.
 
 Args:
-  name: string, Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. (required)
+  name: string, Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.
+{ # A resource that defines the behavior for one of many `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile.
+  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`.
     "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.
   },
-  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile.
+  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`.
     "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.
   },
-  "description": "A String", # Optional. An optional description of the profile. Max length 512 characters.
+  "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
-  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.
+  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`.
     "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol.
       { # Defines what action to take for antivirus threats per protocol.
         "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies.
@@ -643,9 +643,9 @@ 

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -656,75 +656,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -732,7 +732,7 @@

Method Details

}, } - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. + updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfile` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.html index f557204e63..ce81dde522 100644 --- a/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.html +++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.html @@ -84,22 +84,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, firewallEndpointId=None, requestId=None, validateOnly=None, x__xgafv=None)

-

Creates a new FirewallEndpoint in a given organization and location.

+

Creates a new firewall endpoint in a given organization and location.

delete(name, requestId=None, x__xgafv=None)

-

Deletes a single org Endpoint.

+

Deletes a single organization endpoint.

get(name, x__xgafv=None)

-

Gets details of a single org Endpoint.

+

Gets details of a single organization endpoint.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists FirewallEndpoints in a given organization and location.

+

Lists firewall endpoints in a given organization and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

-

Update a single org Endpoint.

+

Updates a single organization endpoint.

Method Details

close() @@ -108,57 +108,57 @@

Method Details

create(parent, body=None, firewallEndpointId=None, requestId=None, validateOnly=None, x__xgafv=None) -
Creates a new FirewallEndpoint in a given organization and location.
+  
Creates a new firewall endpoint in a given organization and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource where this firewall endpoint is created. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Endpoint object.
-  "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.
+{ # Message describing a firewall endpoint.
+  "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.
     "A String",
   ],
-  "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.
-    { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.
-      "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}
-      "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.
+  "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.
+    { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.
+      "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.
+      "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.
     },
   ],
   "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise.
-  "createTime": "A String", # Output only. Create time stamp.
-  "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters.
+  "createTime": "A String", # Output only. Create timestamp.
+  "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters.
   "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint.
     "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint.
-    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.
-    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.
+    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.
+    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.
   },
-  "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id}
-  "labels": { # Optional. Labels as key value pairs
+  "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of resource.
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
-  "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use.
-  "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use.
+  "satisfiesPzi": True or False, # Output only. Reserved for future use.
+  "satisfiesPzs": True or False, # Output only. Reserved for future use.
   "state": "A String", # Output only. Current state of the endpoint.
-  "updateTime": "A String", # Output only. Update time stamp
-  "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis.
-    "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false.
-    "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis.
-      "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.
-      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.
-      "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.
+  "updateTime": "A String", # Output only. Update timestamp.
+  "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis.
+    "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.
+    "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis.
+      "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON).
+      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.
+      "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.
     },
-    "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.
-    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.
-    "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud
+    "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON).
+    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.
+    "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).
   },
 }
 
-  firewallEndpointId: string, Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC.
-  requestId: 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).
-  validateOnly: boolean, Optional. If set, validate the request and preview the endpoint, but do not actually create it.
+  firewallEndpointId: string, Required. The ID to use for the firewall endpoint, which becomes the final component of the endpoint's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  validateOnly: boolean, Optional. If set, validates the request and previews the endpoint, but does not actually create it.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -190,11 +190,11 @@ 

Method Details

delete(name, requestId=None, x__xgafv=None) -
Deletes a single org Endpoint.
+  
Deletes a single organization endpoint.
 
 Args:
-  name: string, Required. Name of the resource (required)
-  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  name: string, Required. The name of the resource. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -226,10 +226,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single org Endpoint.
+  
Gets details of a single organization endpoint.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The name of the resource. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -238,58 +238,58 @@ 

Method Details

Returns: An object of the form: - { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + { # Message describing a firewall endpoint. + "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`. "A String", ], - "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. - { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer. - "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}. + "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured. + { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer. + "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`. + "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`. }, ], "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise. - "createTime": "A String", # Output only. Create time stamp. - "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. + "createTime": "A String", # Output only. Create timestamp. + "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. - "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. - "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security. + "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`. }, - "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id} - "labels": { # Optional. Labels as key value pairs + "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of resource. + "name": "A String", # Immutable. Identifier. The name of the resource. "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. - "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use. - "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. - "updateTime": "A String", # Output only. Update time stamp - "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. - "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. - "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. - "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. - "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. - "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + "updateTime": "A String", # Output only. Update timestamp. + "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis. + "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`. + "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON). + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis. + "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`. }, - "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. - "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. - "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON). + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`. + "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud). }, }
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists FirewallEndpoints in a given organization and location.
+  
Lists firewall endpoints in a given organization and location.
 
 Args:
-  parent: string, Required. Parent value for ListEndpointsRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Hint for how to order the results
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, A token identifying a page of results the server should return.
+  parent: string, Required. The parent resource from which the firewall endpoints are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Optional. Hint for how to order the results.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, A page token, received from a previous `ListFirewallEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpoints` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -298,51 +298,51 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing Endpoints - "firewallEndpoints": [ # The list of Endpoint - { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + { # Message for response to listing endpoints. + "firewallEndpoints": [ # The list of endpoints. + { # Message describing a firewall endpoint. + "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`. "A String", ], - "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. - { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer. - "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}. + "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured. + { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer. + "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`. + "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`. }, ], "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise. - "createTime": "A String", # Output only. Create time stamp. - "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. + "createTime": "A String", # Output only. Create timestamp. + "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. - "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. - "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security. + "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`. }, - "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id} - "labels": { # Optional. Labels as key value pairs + "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of resource. + "name": "A String", # Immutable. Identifier. The name of the resource. "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. - "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use. - "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. - "updateTime": "A String", # Output only. Update time stamp - "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. - "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. - "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. - "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. - "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. - "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + "updateTime": "A String", # Output only. Update timestamp. + "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis. + "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`. + "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON). + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis. + "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`. }, - "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. - "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. - "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON). + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`. + "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud). }, }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. - "unreachable": [ # Locations that could not be reached. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "unreachable": [ # Locations that could not be reached. The list of unreachable locations might expand in the future. "A String", ], }
@@ -364,56 +364,56 @@

Method Details

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None) -
Update a single org Endpoint.
+  
Updates a single organization endpoint.
 
 Args:
-  name: string, Immutable. Identifier. Name of resource. (required)
+  name: string, Immutable. Identifier. The name of the resource. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Endpoint object.
-  "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.
+{ # Message describing a firewall endpoint.
+  "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.
     "A String",
   ],
-  "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.
-    { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.
-      "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}
-      "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.
+  "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.
+    { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.
+      "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.
+      "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.
     },
   ],
   "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise.
-  "createTime": "A String", # Output only. Create time stamp.
-  "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters.
+  "createTime": "A String", # Output only. Create timestamp.
+  "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters.
   "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint.
     "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint.
-    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.
-    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.
+    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.
+    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.
   },
-  "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id}
-  "labels": { # Optional. Labels as key value pairs
+  "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of resource.
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
-  "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use.
-  "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use.
+  "satisfiesPzi": True or False, # Output only. Reserved for future use.
+  "satisfiesPzs": True or False, # Output only. Reserved for future use.
   "state": "A String", # Output only. Current state of the endpoint.
-  "updateTime": "A String", # Output only. Update time stamp
-  "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis.
-    "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false.
-    "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis.
-      "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.
-      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.
-      "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.
+  "updateTime": "A String", # Output only. Update timestamp.
+  "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis.
+    "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.
+    "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis.
+      "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON).
+      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.
+      "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.
     },
-    "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.
-    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.
-    "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud
+    "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON).
+    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.
+    "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).
   },
 }
 
-  requestId: 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).
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Endpoint resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  updateMask: string, Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpoint` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
index 210f8d7399..9c57866eeb 100644
--- a/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
+++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
@@ -79,13 +79,13 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.

+

Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.

get(name, x__xgafv=None)

-

Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.

+

Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.

+

Lists the Advanced malware sandbox (WildFire) verdict change requests in a given firewall endpoint in an organization and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

@@ -97,28 +97,28 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.
+  
Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.
 
 Args:
-  parent: string, Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
+  parent: string, Required. Parent value for `CreateWildfireVerdictChangeRequestRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message for a WildfireVerdictChangeRequest.
-  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
-  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
-  "fileName": "A String", # Output only. The file name of the Malware Sample.
-  "fileType": "A String", # Output only. The file type of the Malware Sample.
-  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
-  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
-  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
-  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
-  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
-  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
-  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
-  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
-  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
-  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+{ # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`).
+  "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created.
+  "fileName": "A String", # Output only. The file name of the malware sample.
+  "fileType": "A String", # Output only. The file type of the malware sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the malware sample.
+  "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the malware sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved.
+  "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample.
+  "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`.
+  "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.
 }
 
   x__xgafv: string, V1 error format.
@@ -129,30 +129,30 @@ 

Method Details

Returns: An object of the form: - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }
get(name, x__xgafv=None) -
Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.
+  
Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.
 
 Args:
-  name: string, Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ (required)
+  name: string, Required. The name of the `WildfireVerdictChangeRequest` to retrieve. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -161,33 +161,33 @@ 

Method Details

Returns: An object of the form: - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.
+  
Lists the Advanced malware sandbox (WildFire) verdict change requests in a given firewall endpoint in an organization and location.
 
 Args:
-  parent: string, Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
-  filter: string, Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time > "2026-01-01T00:00:00Z"`)
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, Optional. A token identifying a page of results the server should return.
+  parent: string, Required. Parent value for `ListWildfireVerdictChangeRequestsRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`. (required)
+  filter: string, Optional. Filter expression to filter the results. Supported fields are: - `sha256` (string, equality only, for example, `sha256 = "..."`) - `state` (enum, equality only, valid values are `OPEN`, `CLOSED`, or `PENDING`, for example, `state = "PENDING"`) - `create_time` (timestamp, comparisons, for example, `create_time >= "2026-01-01T00:00:00Z" AND create_time <= "2026-01-31T23:59:59Z"`). If filtering by `create_time`, you must specify both a start time and an end time. If `create_time` is not specified, the query defaults to the past 30 days.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListWildfireVerdictChangeRequests` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWildfireVerdictChangeRequests` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -196,27 +196,27 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing WildfireVerdictChangeRequests. - "nextPageToken": "A String", # A token identifying a page of results the server should return. + { # Message for response to listing `WildfireVerdictChangeRequest` resources. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. "unreachable": [ # Unordered list. Locations that could not be reached. "A String", ], - "wildfireVerdictChangeRequests": [ # The list of WildfireVerdictChangeRequests - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + "wildfireVerdictChangeRequests": [ # The list of `WildfireVerdictChangeRequest` resources. + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }, ], }
diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfileGroups.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfileGroups.html index 378fced392..9a66cba404 100644 --- a/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfileGroups.html +++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfileGroups.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, securityProfileGroupId=None, x__xgafv=None)

-

Creates a new SecurityProfileGroup in a given organization and location.

+

Creates a new security profile group in a given organization and location.

delete(name, etag=None, x__xgafv=None)

-

Deletes a single SecurityProfileGroup.

+

Deletes a single security profile group.

get(name, x__xgafv=None)

-

Gets details of a single SecurityProfileGroup.

+

Gets details of a single security profile group.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists SecurityProfileGroups in a given organization and location.

+

Lists security profile group resources in a given organization and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the parameters of a single SecurityProfileGroup.

+

Updates the parameters of a single security profile group.

Method Details

close() @@ -103,31 +103,31 @@

Method Details

create(parent, body=None, securityProfileGroupId=None, x__xgafv=None) -
Creates a new SecurityProfileGroup in a given organization and location.
+  
Creates a new security profile group in a given organization and location.
 
 Args:
-  parent: string, Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/*/locations/{location}`. (required)
+  parent: string, Required. The parent resource of the `SecurityProfileGroup`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.
+{ # A resource that defines the behavior for various `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration.
-  "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration.
-  "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`.
-  "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters.
+  "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration.
+  "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.
+  "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`.
+  "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
-  "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.
+  "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration.
   "updateTime": "A String", # Output only. Last resource update timestamp.
-  "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration.
-  "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration.
+  "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration.
+  "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.
 }
 
-  securityProfileGroupId: string, Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1".
+  securityProfileGroupId: string, Required. Short name of the `SecurityProfileGroup` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile-group1`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -159,11 +159,11 @@ 

Method Details

delete(name, etag=None, x__xgafv=None) -
Deletes a single SecurityProfileGroup.
+  
Deletes a single security profile group.
 
 Args:
-  name: string, Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
-  etag: string, Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.
+  name: string, Required. The name of the `SecurityProfileGroup` to delete. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  etag: string, Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -195,10 +195,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single SecurityProfileGroup.
+  
Gets details of a single security profile group.
 
 Args:
-  name: string, Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  name: string, Required. The name of the `SecurityProfileGroup` to get. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -207,32 +207,32 @@ 

Method Details

Returns: An object of the form: - { # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. + { # A resource that defines the behavior for various `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration. - "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration. - "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`. - "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters. + "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration. + "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration. + "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`. + "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. - "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. + "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. - "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. + "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration. }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists SecurityProfileGroups in a given organization and location.
+  
Lists security profile group resources in a given organization and location.
 
 Args:
-  parent: string, Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/*/locations/{location}`. (required)
-  pageSize: integer, Optional. Maximum number of SecurityProfileGroups to return per call.
-  pageToken: string, Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data.
+  parent: string, Required. The project or organization and location from which the `SecurityProfileGroup` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Maximum number of `SecurityProfileGroup` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListSecurityProfileGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfileGroups` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -241,24 +241,24 @@ 

Method Details

Returns: An object of the form: - { # Response returned by the ListSecurityProfileGroups method. - "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. - "securityProfileGroups": [ # List of SecurityProfileGroups resources. - { # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. + { # Response returned by the `ListSecurityProfileGroups` method. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "securityProfileGroups": [ # List of `SecurityProfileGroup` resources. + { # A resource that defines the behavior for various `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration. - "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration. - "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`. - "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters. + "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration. + "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration. + "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`. + "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. - "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. + "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. - "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. + "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration. }, ], }
@@ -280,31 +280,31 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the parameters of a single SecurityProfileGroup.
+  
Updates the parameters of a single security profile group.
 
 Args:
-  name: string, Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  name: string, Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.
+{ # A resource that defines the behavior for various `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration.
-  "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration.
-  "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`.
-  "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters.
+  "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration.
+  "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.
+  "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`.
+  "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
-  "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.
+  "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration.
   "updateTime": "A String", # Output only. Last resource update timestamp.
-  "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration.
-  "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration.
+  "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration.
+  "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.
 }
 
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.
+  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfileGroup` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfiles.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfiles.html
index 84cf9949e7..5b4e476c36 100644
--- a/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfiles.html
+++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfiles.html
@@ -79,22 +79,22 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, securityProfileId=None, x__xgafv=None)

-

Creates a new SecurityProfile in a given organization and location.

+

Creates a new security profile in a given organization and location.

delete(name, etag=None, x__xgafv=None)

-

Deletes a single SecurityProfile.

+

Deletes a single security profile.

get(name, x__xgafv=None)

-

Gets details of a single SecurityProfile.

+

Gets details of a single security profile.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists SecurityProfiles in a given organization and location.

+

Lists security profile resources in a given organization and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the parameters of a single SecurityProfile.

+

Updates the parameters of a single security profile.

Method Details

close() @@ -103,28 +103,28 @@

Method Details

create(parent, body=None, securityProfileId=None, x__xgafv=None) -
Creates a new SecurityProfile in a given organization and location.
+  
Creates a new security profile in a given organization and location.
 
 Args:
-  parent: string, Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/*/locations/{location}`. (required)
+  parent: string, Required. The parent resource of the `SecurityProfile`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.
+{ # A resource that defines the behavior for one of many `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile.
+  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`.
     "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.
   },
-  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile.
+  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`.
     "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.
   },
-  "description": "A String", # Optional. An optional description of the profile. Max length 512 characters.
+  "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
-  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.
+  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`.
     "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol.
       { # Defines what action to take for antivirus threats per protocol.
         "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies.
@@ -145,9 +145,9 @@ 

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -158,75 +158,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -234,7 +234,7 @@

Method Details

}, } - securityProfileId: string, Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". + securityProfileId: string, Required. Short name of the `SecurityProfile` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile1`. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -266,11 +266,11 @@

Method Details

delete(name, etag=None, x__xgafv=None) -
Deletes a single SecurityProfile.
+  
Deletes a single security profile.
 
 Args:
-  name: string, Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`. (required)
-  etag: string, Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.
+  name: string, Required. The name of the `SecurityProfile` to delete. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
+  etag: string, Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -302,10 +302,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single SecurityProfile.
+  
Gets details of a single security profile.
 
 Args:
-  name: string, Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`. (required)
+  name: string, Required. The name of the `SecurityProfile` to get. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -314,21 +314,21 @@ 

Method Details

Returns: An object of the form: - { # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. + { # A resource that defines the behavior for one of many `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile. + "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`. "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group. }, - "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile. + "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`. "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group. }, - "description": "A String", # Optional. An optional description of the profile. Max length 512 characters. + "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. - "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. + "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`. "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol. { # Defines what action to take for antivirus threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. @@ -349,9 +349,9 @@

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -362,75 +362,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -441,12 +441,12 @@

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists SecurityProfiles in a given organization and location.
+  
Lists security profile resources in a given organization and location.
 
 Args:
-  parent: string, Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/*/locations/{location}`. (required)
-  pageSize: integer, Optional. Maximum number of SecurityProfiles to return per call.
-  pageToken: string, Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data.
+  parent: string, Required. The project or organization and location from which the `SecurityProfile` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Maximum number of `SecurityProfile` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListSecurityProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfiles` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -455,24 +455,24 @@ 

Method Details

Returns: An object of the form: - { # Response returned by the ListSecurityProfiles method. - "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. - "securityProfiles": [ # List of SecurityProfile resources. - { # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. + { # Response returned by the `ListSecurityProfiles` method. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "securityProfiles": [ # List of `SecurityProfile` resources. + { # A resource that defines the behavior for one of many `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile. + "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`. "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group. }, - "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile. + "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`. "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group. }, - "description": "A String", # Optional. An optional description of the profile. Max length 512 characters. + "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. - "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. + "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`. "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol. { # Defines what action to take for antivirus threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. @@ -493,9 +493,9 @@

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -506,75 +506,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -601,28 +601,28 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the parameters of a single SecurityProfile.
+  
Updates the parameters of a single security profile.
 
 Args:
-  name: string, Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. (required)
+  name: string, Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.
+{ # A resource that defines the behavior for one of many `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile.
+  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`.
     "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.
   },
-  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile.
+  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`.
     "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.
   },
-  "description": "A String", # Optional. An optional description of the profile. Max length 512 characters.
+  "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
-  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.
+  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`.
     "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol.
       { # Defines what action to take for antivirus threats per protocol.
         "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies.
@@ -643,9 +643,9 @@ 

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -656,75 +656,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -732,7 +732,7 @@

Method Details

}, } - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. + updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfile` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpointAssociations.html b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpointAssociations.html index fb988abddf..7445ff3c97 100644 --- a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpointAssociations.html +++ b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpointAssociations.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, firewallEndpointAssociationId=None, requestId=None, x__xgafv=None)

-

Creates a new FirewallEndpointAssociation in a given project and location.

+

Creates a new firewall endpoint association in a given project and location.

delete(name, requestId=None, x__xgafv=None)

-

Deletes a single FirewallEndpointAssociation.

+

Deletes a single firewall endpoint association.

get(name, x__xgafv=None)

-

Gets details of a single FirewallEndpointAssociation.

+

Gets details of a single firewall endpoint association.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists Associations in a given project and location.

+

Lists associations in a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

-

Update a single FirewallEndpointAssociation.

+

Updates a single firewall endpoint association.

Method Details

close() @@ -103,30 +103,30 @@

Method Details

create(parent, body=None, firewallEndpointAssociationId=None, requestId=None, x__xgafv=None) -
Creates a new FirewallEndpointAssociation in a given project and location.
+  
Creates a new firewall endpoint association in a given project and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource where this firewall endpoint association is created. Format: `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Association object
-  "createTime": "A String", # Output only. Create time stamp
-  "disabled": True or False, # Optional. Whether the association is disabled. True indicates that traffic won't be intercepted
-  "firewallEndpoint": "A String", # Required. The URL of the FirewallEndpoint that is being associated.
-  "labels": { # Optional. Labels as key value pairs
+{ # Message describing a firewall endpoint association.
+  "createTime": "A String", # Output only. Create timestamp.
+  "disabled": True or False, # Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`.
+  "firewallEndpoint": "A String", # Required. The URL of the `FirewallEndpoint` that is being associated.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. name of resource
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "network": "A String", # Required. The URL of the network that is being associated.
-  "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
+  "reconciling": True or False, # Output only. Whether reconciliation is in progress.
   "state": "A String", # Output only. Current state of the association.
-  "tlsInspectionPolicy": "A String", # Optional. The URL of the TlsInspectionPolicy that is being associated.
-  "updateTime": "A String", # Output only. Update time stamp
+  "tlsInspectionPolicy": "A String", # Optional. The URL of the `TlsInspectionPolicy` that is being associated.
+  "updateTime": "A String", # Output only. Update timestamp.
 }
 
-  firewallEndpointAssociationId: string, Optional. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_association_id from the method_signature of Create RPC.
-  requestId: 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).
+  firewallEndpointAssociationId: string, Optional. The ID to use for the firewall endpoint association, which becomes the final component of the association's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -158,11 +158,11 @@ 

Method Details

delete(name, requestId=None, x__xgafv=None) -
Deletes a single FirewallEndpointAssociation.
+  
Deletes a single firewall endpoint association.
 
 Args:
-  name: string, Required. Name of the resource (required)
-  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  name: string, Required. The name of the resource. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -194,10 +194,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single FirewallEndpointAssociation.
+  
Gets details of a single firewall endpoint association.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The name of the resource. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -206,32 +206,32 @@ 

Method Details

Returns: An object of the form: - { # Message describing Association object - "createTime": "A String", # Output only. Create time stamp - "disabled": True or False, # Optional. Whether the association is disabled. True indicates that traffic won't be intercepted - "firewallEndpoint": "A String", # Required. The URL of the FirewallEndpoint that is being associated. - "labels": { # Optional. Labels as key value pairs + { # Message describing a firewall endpoint association. + "createTime": "A String", # Output only. Create timestamp. + "disabled": True or False, # Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`. + "firewallEndpoint": "A String", # Required. The URL of the `FirewallEndpoint` that is being associated. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. name of resource + "name": "A String", # Immutable. Identifier. The name of the resource. "network": "A String", # Required. The URL of the network that is being associated. - "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. + "reconciling": True or False, # Output only. Whether reconciliation is in progress. "state": "A String", # Output only. Current state of the association. - "tlsInspectionPolicy": "A String", # Optional. The URL of the TlsInspectionPolicy that is being associated. - "updateTime": "A String", # Output only. Update time stamp + "tlsInspectionPolicy": "A String", # Optional. The URL of the `TlsInspectionPolicy` that is being associated. + "updateTime": "A String", # Output only. Update timestamp. }
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists Associations in a given project and location.
+  
Lists associations in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListAssociationsRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Hint for how to order the results
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, A token identifying a page of results the server should return.
+  parent: string, Required. The parent resource from which the firewall endpoint associations are listed. Format: `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Hint for how to order the results.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, A page token, received from a previous `ListFirewallEndpointAssociations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpointAssociations` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -240,25 +240,25 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing Associations - "firewallEndpointAssociations": [ # The list of Association - { # Message describing Association object - "createTime": "A String", # Output only. Create time stamp - "disabled": True or False, # Optional. Whether the association is disabled. True indicates that traffic won't be intercepted - "firewallEndpoint": "A String", # Required. The URL of the FirewallEndpoint that is being associated. - "labels": { # Optional. Labels as key value pairs + { # Message for response to listing associations. + "firewallEndpointAssociations": [ # The list of associations. + { # Message describing a firewall endpoint association. + "createTime": "A String", # Output only. Create timestamp. + "disabled": True or False, # Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`. + "firewallEndpoint": "A String", # Required. The URL of the `FirewallEndpoint` that is being associated. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. name of resource + "name": "A String", # Immutable. Identifier. The name of the resource. "network": "A String", # Required. The URL of the network that is being associated. - "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. + "reconciling": True or False, # Output only. Whether reconciliation is in progress. "state": "A String", # Output only. Current state of the association. - "tlsInspectionPolicy": "A String", # Optional. The URL of the TlsInspectionPolicy that is being associated. - "updateTime": "A String", # Output only. Update time stamp + "tlsInspectionPolicy": "A String", # Optional. The URL of the `TlsInspectionPolicy` that is being associated. + "updateTime": "A String", # Output only. Update timestamp. }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. - "unreachable": [ # Locations that could not be reached. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "unreachable": [ # Locations that could not be reached. The list of unreachable locations might expand in the future. "A String", ], }
@@ -280,30 +280,30 @@

Method Details

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None) -
Update a single FirewallEndpointAssociation.
+  
Updates a single firewall endpoint association.
 
 Args:
-  name: string, Immutable. Identifier. name of resource (required)
+  name: string, Immutable. Identifier. The name of the resource. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Association object
-  "createTime": "A String", # Output only. Create time stamp
-  "disabled": True or False, # Optional. Whether the association is disabled. True indicates that traffic won't be intercepted
-  "firewallEndpoint": "A String", # Required. The URL of the FirewallEndpoint that is being associated.
-  "labels": { # Optional. Labels as key value pairs
+{ # Message describing a firewall endpoint association.
+  "createTime": "A String", # Output only. Create timestamp.
+  "disabled": True or False, # Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`.
+  "firewallEndpoint": "A String", # Required. The URL of the `FirewallEndpoint` that is being associated.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. name of resource
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "network": "A String", # Required. The URL of the network that is being associated.
-  "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
+  "reconciling": True or False, # Output only. Whether reconciliation is in progress.
   "state": "A String", # Output only. Current state of the association.
-  "tlsInspectionPolicy": "A String", # Optional. The URL of the TlsInspectionPolicy that is being associated.
-  "updateTime": "A String", # Output only. Update time stamp
+  "tlsInspectionPolicy": "A String", # Optional. The URL of the `TlsInspectionPolicy` that is being associated.
+  "updateTime": "A String", # Output only. Update timestamp.
 }
 
-  requestId: 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).
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Association resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  updateMask: string, Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpointAssociation` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.html b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.html
index c772e06615..beead70270 100644
--- a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.html
+++ b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.html
@@ -84,22 +84,22 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, firewallEndpointId=None, requestId=None, validateOnly=None, x__xgafv=None)

-

Creates a new FirewallEndpoint in a given project and location.

+

Creates a new firewall endpoint in a given project and location.

delete(name, requestId=None, x__xgafv=None)

-

Deletes a single project Endpoint.

+

Deletes a single project endpoint.

get(name, x__xgafv=None)

-

Gets details of a single project Endpoint.

+

Gets details of a single project endpoint.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists FirewallEndpoints in a given project and location.

+

Lists firewall endpoints in a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

-

Update a single project Endpoint.

+

Updates a single project endpoint.

Method Details

close() @@ -108,57 +108,57 @@

Method Details

create(parent, body=None, firewallEndpointId=None, requestId=None, validateOnly=None, x__xgafv=None) -
Creates a new FirewallEndpoint in a given project and location.
+  
Creates a new firewall endpoint in a given project and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource where this firewall endpoint is created. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Endpoint object.
-  "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.
+{ # Message describing a firewall endpoint.
+  "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.
     "A String",
   ],
-  "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.
-    { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.
-      "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}
-      "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.
+  "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.
+    { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.
+      "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.
+      "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.
     },
   ],
   "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise.
-  "createTime": "A String", # Output only. Create time stamp.
-  "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters.
+  "createTime": "A String", # Output only. Create timestamp.
+  "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters.
   "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint.
     "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint.
-    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.
-    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.
+    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.
+    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.
   },
-  "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id}
-  "labels": { # Optional. Labels as key value pairs
+  "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of resource.
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
-  "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use.
-  "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use.
+  "satisfiesPzi": True or False, # Output only. Reserved for future use.
+  "satisfiesPzs": True or False, # Output only. Reserved for future use.
   "state": "A String", # Output only. Current state of the endpoint.
-  "updateTime": "A String", # Output only. Update time stamp
-  "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis.
-    "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false.
-    "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis.
-      "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.
-      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.
-      "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.
+  "updateTime": "A String", # Output only. Update timestamp.
+  "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis.
+    "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.
+    "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis.
+      "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON).
+      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.
+      "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.
     },
-    "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.
-    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.
-    "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud
+    "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON).
+    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.
+    "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).
   },
 }
 
-  firewallEndpointId: string, Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC.
-  requestId: 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).
-  validateOnly: boolean, Optional. If set, validate the request and preview the endpoint, but do not actually create it.
+  firewallEndpointId: string, Required. The ID to use for the firewall endpoint, which becomes the final component of the endpoint's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  validateOnly: boolean, Optional. If set, validates the request and previews the endpoint, but does not actually create it.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -190,11 +190,11 @@ 

Method Details

delete(name, requestId=None, x__xgafv=None) -
Deletes a single project Endpoint.
+  
Deletes a single project endpoint.
 
 Args:
-  name: string, Required. Name of the resource (required)
-  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  name: string, Required. The name of the resource. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -226,10 +226,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single project Endpoint.
+  
Gets details of a single project endpoint.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The name of the resource. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -238,58 +238,58 @@ 

Method Details

Returns: An object of the form: - { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + { # Message describing a firewall endpoint. + "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`. "A String", ], - "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. - { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer. - "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}. + "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured. + { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer. + "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`. + "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`. }, ], "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise. - "createTime": "A String", # Output only. Create time stamp. - "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. + "createTime": "A String", # Output only. Create timestamp. + "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. - "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. - "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security. + "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`. }, - "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id} - "labels": { # Optional. Labels as key value pairs + "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of resource. + "name": "A String", # Immutable. Identifier. The name of the resource. "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. - "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use. - "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. - "updateTime": "A String", # Output only. Update time stamp - "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. - "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. - "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. - "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. - "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. - "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + "updateTime": "A String", # Output only. Update timestamp. + "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis. + "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`. + "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON). + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis. + "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`. }, - "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. - "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. - "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON). + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`. + "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud). }, }
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists FirewallEndpoints in a given project and location.
+  
Lists firewall endpoints in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListEndpointsRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Hint for how to order the results
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, A token identifying a page of results the server should return.
+  parent: string, Required. The parent resource from which the firewall endpoints are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Filtering results.
+  orderBy: string, Optional. Hint for how to order the results.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, A page token, received from a previous `ListFirewallEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpoints` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -298,51 +298,51 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing Endpoints - "firewallEndpoints": [ # The list of Endpoint - { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + { # Message for response to listing endpoints. + "firewallEndpoints": [ # The list of endpoints. + { # Message describing a firewall endpoint. + "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`. "A String", ], - "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. - { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer. - "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}. + "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured. + { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer. + "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`. + "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`. }, ], "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise. - "createTime": "A String", # Output only. Create time stamp. - "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. + "createTime": "A String", # Output only. Create timestamp. + "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. - "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. - "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security. + "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`. }, - "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id} - "labels": { # Optional. Labels as key value pairs + "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of resource. + "name": "A String", # Immutable. Identifier. The name of the resource. "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. - "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use. - "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. - "updateTime": "A String", # Output only. Update time stamp - "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. - "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. - "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. - "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. - "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. - "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + "updateTime": "A String", # Output only. Update timestamp. + "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis. + "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`. + "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON). + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis. + "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`. }, - "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. - "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. - "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON). + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`. + "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud). }, }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. - "unreachable": [ # Locations that could not be reached. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "unreachable": [ # Locations that could not be reached. The list of unreachable locations might expand in the future. "A String", ], }
@@ -364,56 +364,56 @@

Method Details

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None) -
Update a single project Endpoint.
+  
Updates a single project endpoint.
 
 Args:
-  name: string, Immutable. Identifier. Name of resource. (required)
+  name: string, Immutable. Identifier. The name of the resource. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Endpoint object.
-  "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.
+{ # Message describing a firewall endpoint.
+  "associatedNetworks": [ # Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.
     "A String",
   ],
-  "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.
-    { # This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.
-      "name": "A String", # Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}
-      "network": "A String", # Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.
+  "associations": [ # Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.
+    { # A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.
+      "name": "A String", # Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.
+      "network": "A String", # Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.
     },
   ],
   "billingProjectId": "A String", # Optional. Project to charge for the deployed firewall endpoint. This field must be specified when creating the endpoint in the organization scope, and should be omitted otherwise.
-  "createTime": "A String", # Output only. Create time stamp.
-  "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters.
+  "createTime": "A String", # Output only. Create timestamp.
+  "description": "A String", # Optional. Description of the firewall endpoint. The maximum length is 2048 characters.
   "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint.
     "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint.
-    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.
-    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.
+    "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.
+    "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.
   },
-  "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id}
-  "labels": { # Optional. Labels as key value pairs
+  "explicitPrivateServiceConnectAttachment": "A String", # Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of resource.
+  "name": "A String", # Immutable. Identifier. The name of the resource.
   "reconciling": True or False, # Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.
-  "satisfiesPzi": True or False, # Output only. [Output Only] Reserved for future use.
-  "satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use.
+  "satisfiesPzi": True or False, # Output only. Reserved for future use.
+  "satisfiesPzs": True or False, # Output only. Reserved for future use.
   "state": "A String", # Output only. Current state of the endpoint.
-  "updateTime": "A String", # Output only. Update time stamp
-  "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis.
-    "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false.
-    "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis.
-      "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.
-      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.
-      "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.
+  "updateTime": "A String", # Output only. Update timestamp.
+  "wildfireSettings": { # Settings for Advanced malware sandbox analysis. # Optional. Settings for Advanced malware sandbox (WildFire) analysis.
+    "enabled": True or False, # Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.
+    "wildfireInlineCloudAnalysisSettings": { # Settings for Advanced malware sandbox inline cloud analysis. # Optional. Settings for Advanced malware sandbox inline cloud analysis.
+      "maxAnalysisDuration": "A String", # Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"240s"`). The default value is `30000` milliseconds (`"30s"` in JSON).
+      "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.
+      "timeoutAction": "A String", # Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.
     },
-    "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.
-    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.
-    "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud
+    "wildfireRealtimeLookupDuration": "A String", # Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `"0.001s"` to `"5s"`). The default value is `1000` milliseconds (`"1s"` in JSON).
+    "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.
+    "wildfireRegion": "A String", # Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).
   },
 }
 
-  requestId: 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).
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Endpoint resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).
+  updateMask: string, Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpoint` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
index fd247bb6a2..1544e154a5 100644
--- a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
+++ b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html
@@ -79,13 +79,13 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.

+

Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.

get(name, x__xgafv=None)

-

Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.

+

Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.

+

Lists the Advanced malware sandbox verdict change requests in a given firewall endpoint in a project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

@@ -97,28 +97,28 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.
+  
Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.
 
 Args:
-  parent: string, Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
+  parent: string, Required. Parent value for `CreateWildfireVerdictChangeRequestRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message for a WildfireVerdictChangeRequest.
-  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
-  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
-  "fileName": "A String", # Output only. The file name of the Malware Sample.
-  "fileType": "A String", # Output only. The file type of the Malware Sample.
-  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
-  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
-  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
-  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
-  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
-  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
-  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
-  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
-  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
-  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+{ # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`).
+  "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created.
+  "fileName": "A String", # Output only. The file name of the malware sample.
+  "fileType": "A String", # Output only. The file type of the malware sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the malware sample.
+  "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the malware sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved.
+  "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample.
+  "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`.
+  "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.
 }
 
   x__xgafv: string, V1 error format.
@@ -129,30 +129,30 @@ 

Method Details

Returns: An object of the form: - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }
get(name, x__xgafv=None) -
Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.
+  
Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.
 
 Args:
-  name: string, Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ (required)
+  name: string, Required. The name of the `WildfireVerdictChangeRequest` to retrieve. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -161,33 +161,33 @@ 

Method Details

Returns: An object of the form: - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.
+  
Lists the Advanced malware sandbox verdict change requests in a given firewall endpoint in a project and location.
 
 Args:
-  parent: string, Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
-  filter: string, Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time > "2026-01-01T00:00:00Z"`)
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
-  pageToken: string, Optional. A token identifying a page of results the server should return.
+  parent: string, Required. Parent value for `ListWildfireVerdictChangeRequestsRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`. (required)
+  filter: string, Optional. Filter expression to filter the results. Supported fields are: - `sha256` (string, equality only, for example, `sha256 = "..."`) - `state` (enum, equality only, valid values are `OPEN`, `CLOSED`, or `PENDING`, for example, `state = "PENDING"`) - `create_time` (timestamp, comparisons, for example, `create_time >= "2026-01-01T00:00:00Z" AND create_time <= "2026-01-31T23:59:59Z"`). If filtering by `create_time`, you must specify both a start time and an end time. If `create_time` is not specified, the query defaults to the past 30 days.
+  pageSize: integer, Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListWildfireVerdictChangeRequests` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWildfireVerdictChangeRequests` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -196,27 +196,27 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing WildfireVerdictChangeRequests. - "nextPageToken": "A String", # A token identifying a page of results the server should return. + { # Message for response to listing `WildfireVerdictChangeRequest` resources. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. "unreachable": [ # Unordered list. Locations that could not be reached. "A String", ], - "wildfireVerdictChangeRequests": [ # The list of WildfireVerdictChangeRequests - { # Message for a WildfireVerdictChangeRequest. - "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters. - "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created. - "fileName": "A String", # Output only. The file name of the Malware Sample. - "fileType": "A String", # Output only. The file type of the Malware Sample. - "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample. - "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample. - "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample. - "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. - "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of. - "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample. - "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest. - "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. - "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ + "wildfireVerdictChangeRequests": [ # The list of `WildfireVerdictChangeRequest` resources. + { # Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`). + "comment": "A String", # Required. The justification for the verdict change request. The maximum length is 2048 characters. + "createTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was created. + "fileName": "A String", # Output only. The file name of the malware sample. + "fileType": "A String", # Output only. The file type of the malware sample. + "finalVerdict": "A String", # Output only. The final verdict of the malware sample. + "name": "A String", # Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. + "newVerdict": "A String", # Required. The suggested verdict to apply to the malware sample. + "oldVerdict": "A String", # Output only. The original verdict of the malware sample. + "resolutionTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved. + "sha256": "A String", # Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change. + "sourceRegion": "A String", # Output only. The region of the file associated with the malware sample. + "state": "A String", # Output only. The review state of the `WildfireVerdictChangeRequest`. + "updateTime": "A String", # Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated. + "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`. }, ], }
diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfileGroups.html b/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfileGroups.html index d072b0a1f6..844e973f6d 100644 --- a/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfileGroups.html +++ b/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfileGroups.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, securityProfileGroupId=None, x__xgafv=None)

-

Creates a new SecurityProfileGroup in a given project and location.

+

Creates a new security profile group in a given project and location.

delete(name, etag=None, x__xgafv=None)

-

Deletes a single SecurityProfileGroup.

+

Deletes a single security profile group.

get(name, x__xgafv=None)

-

Gets details of a single SecurityProfileGroup.

+

Gets details of a single security profile group.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists SecurityProfileGroups in a given project and location.

+

Lists security profile group resources in a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the parameters of a single SecurityProfileGroup.

+

Updates the parameters of a single security profile group.

Method Details

close() @@ -103,31 +103,31 @@

Method Details

create(parent, body=None, securityProfileGroupId=None, x__xgafv=None) -
Creates a new SecurityProfileGroup in a given project and location.
+  
Creates a new security profile group in a given project and location.
 
 Args:
-  parent: string, Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/*/locations/{location}`. (required)
+  parent: string, Required. The parent resource of the `SecurityProfileGroup`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.
+{ # A resource that defines the behavior for various `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration.
-  "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration.
-  "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`.
-  "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters.
+  "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration.
+  "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.
+  "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`.
+  "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
-  "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.
+  "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration.
   "updateTime": "A String", # Output only. Last resource update timestamp.
-  "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration.
-  "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration.
+  "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration.
+  "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.
 }
 
-  securityProfileGroupId: string, Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1".
+  securityProfileGroupId: string, Required. Short name of the `SecurityProfileGroup` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile-group1`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -159,11 +159,11 @@ 

Method Details

delete(name, etag=None, x__xgafv=None) -
Deletes a single SecurityProfileGroup.
+  
Deletes a single security profile group.
 
 Args:
-  name: string, Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
-  etag: string, Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.
+  name: string, Required. The name of the `SecurityProfileGroup` to delete. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  etag: string, Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -195,10 +195,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single SecurityProfileGroup.
+  
Gets details of a single security profile group.
 
 Args:
-  name: string, Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  name: string, Required. The name of the `SecurityProfileGroup` to get. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -207,32 +207,32 @@ 

Method Details

Returns: An object of the form: - { # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. + { # A resource that defines the behavior for various `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration. - "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration. - "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`. - "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters. + "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration. + "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration. + "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`. + "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. - "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. + "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. - "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. + "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration. }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists SecurityProfileGroups in a given project and location.
+  
Lists security profile group resources in a given project and location.
 
 Args:
-  parent: string, Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/*/locations/{location}`. (required)
-  pageSize: integer, Optional. Maximum number of SecurityProfileGroups to return per call.
-  pageToken: string, Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data.
+  parent: string, Required. The project or organization and location from which the `SecurityProfileGroup` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Maximum number of `SecurityProfileGroup` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListSecurityProfileGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfileGroups` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -241,24 +241,24 @@ 

Method Details

Returns: An object of the form: - { # Response returned by the ListSecurityProfileGroups method. - "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. - "securityProfileGroups": [ # List of SecurityProfileGroups resources. - { # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. + { # Response returned by the `ListSecurityProfileGroups` method. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "securityProfileGroups": [ # List of `SecurityProfileGroup` resources. + { # A resource that defines the behavior for various `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration. - "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration. - "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`. - "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters. + "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration. + "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration. + "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`. + "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. - "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. + "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. - "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. + "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration. }, ], }
@@ -280,31 +280,31 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the parameters of a single SecurityProfileGroup.
+  
Updates the parameters of a single security profile group.
 
 Args:
-  name: string, Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
+  name: string, Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.
+{ # A resource that defines the behavior for various `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomIntercept configuration.
-  "customMirroringProfile": "A String", # Optional. Reference to a SecurityProfile with the CustomMirroring configuration.
-  "dataPathId": "A String", # Output only. Identifier used by the data-path. Unique within `{container, location}`.
-  "description": "A String", # Optional. An optional description of the profile group. Max length 2048 characters.
+  "customInterceptProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom intercept configuration.
+  "customMirroringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.
+  "dataPathId": "A String", # Output only. Identifier used by the data path. Unique within `{container, location}`.
+  "description": "A String", # Optional. An optional description of the profile group. The maximum length is 2048 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
-  "threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.
+  "threatPreventionProfile": "A String", # Optional. Reference to a `SecurityProfile` with the threat prevention configuration.
   "updateTime": "A String", # Output only. Last resource update timestamp.
-  "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration.
-  "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration.
+  "urlFilteringProfile": "A String", # Optional. Reference to a `SecurityProfile` with the URL filtering configuration.
+  "wildfireAnalysisProfile": "A String", # Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.
 }
 
-  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.
+  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfileGroup` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfiles.html b/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfiles.html
index dc3b534934..5fddc2052a 100644
--- a/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfiles.html
+++ b/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfiles.html
@@ -79,22 +79,22 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, securityProfileId=None, x__xgafv=None)

-

Creates a new SecurityProfile in a given project and location.

+

Creates a new security profile in a given project and location.

delete(name, etag=None, x__xgafv=None)

-

Deletes a single SecurityProfile.

+

Deletes a single security profile.

get(name, x__xgafv=None)

-

Gets details of a single SecurityProfile.

+

Gets details of a single security profile.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists SecurityProfiles in a given project and location.

+

Lists security profiles in a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the parameters of a single SecurityProfile.

+

Updates the parameters of a single security profile.

Method Details

close() @@ -103,28 +103,28 @@

Method Details

create(parent, body=None, securityProfileId=None, x__xgafv=None) -
Creates a new SecurityProfile in a given project and location.
+  
Creates a new security profile in a given project and location.
 
 Args:
-  parent: string, Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/*/locations/{location}`. (required)
+  parent: string, Required. The parent resource of the `SecurityProfile`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.
+{ # A resource that defines the behavior for one of many `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile.
+  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`.
     "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.
   },
-  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile.
+  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`.
     "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.
   },
-  "description": "A String", # Optional. An optional description of the profile. Max length 512 characters.
+  "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
-  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.
+  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`.
     "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol.
       { # Defines what action to take for antivirus threats per protocol.
         "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies.
@@ -145,9 +145,9 @@ 

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -158,75 +158,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -234,7 +234,7 @@

Method Details

}, } - securityProfileId: string, Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". + securityProfileId: string, Required. Short name of the `SecurityProfile` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile1`. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -266,11 +266,11 @@

Method Details

delete(name, etag=None, x__xgafv=None) -
Deletes a single SecurityProfile.
+  
Deletes a single security profile.
 
 Args:
-  name: string, Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`. (required)
-  etag: string, Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.
+  name: string, Required. The name of the `SecurityProfile` to delete. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
+  etag: string, Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -302,10 +302,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of a single SecurityProfile.
+  
Gets details of a single security profile.
 
 Args:
-  name: string, Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`. (required)
+  name: string, Required. The name of the `SecurityProfile` to get. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -314,21 +314,21 @@ 

Method Details

Returns: An object of the form: - { # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. + { # A resource that defines the behavior for one of many `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile. + "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`. "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group. }, - "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile. + "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`. "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group. }, - "description": "A String", # Optional. An optional description of the profile. Max length 512 characters. + "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. - "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. + "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`. "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol. { # Defines what action to take for antivirus threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. @@ -349,9 +349,9 @@

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -362,75 +362,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -441,12 +441,12 @@

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists SecurityProfiles in a given project and location.
+  
Lists security profiles in a given project and location.
 
 Args:
-  parent: string, Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/*/locations/{location}`. (required)
-  pageSize: integer, Optional. Maximum number of SecurityProfiles to return per call.
-  pageToken: string, Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data.
+  parent: string, Required. The project or organization and location from which the `SecurityProfile` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Maximum number of `SecurityProfile` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A page token, received from a previous `ListSecurityProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfiles` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -455,24 +455,24 @@ 

Method Details

Returns: An object of the form: - { # Response returned by the ListSecurityProfiles method. - "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. - "securityProfiles": [ # List of SecurityProfile resources. - { # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. + { # Response returned by the `ListSecurityProfiles` method. + "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "securityProfiles": [ # List of `SecurityProfile` resources. + { # A resource that defines the behavior for one of many `ProfileType` values. "createTime": "A String", # Output only. Resource creation timestamp. - "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile. + "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`. "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group. }, - "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile. + "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`. "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group. }, - "description": "A String", # Optional. An optional description of the profile. Max length 512 characters. + "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters. "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Optional. Labels as key value pairs. + "labels": { # Optional. Labels as key-value pairs. "a_key": "A String", }, - "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. - "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile. + "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. + "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`. "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol. { # Defines what action to take for antivirus threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. @@ -493,9 +493,9 @@

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -506,75 +506,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -601,28 +601,28 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the parameters of a single SecurityProfile.
+  
Updates the parameters of a single security profile.
 
 Args:
-  name: string, Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. (required)
+  name: string, Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.
+{ # A resource that defines the behavior for one of many `ProfileType` values.
   "createTime": "A String", # Output only. Resource creation timestamp.
-  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom TPPI configuration for the SecurityProfile.
+  "customInterceptProfile": { # CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. # The custom network security in-band integration configuration for the `SecurityProfile`.
     "interceptEndpointGroup": "A String", # Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.
   },
-  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom Packet Mirroring v2 configuration for the SecurityProfile.
+  "customMirroringProfile": { # CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action. # The custom network security out-of-band integration configuration for the `SecurityProfile`.
     "mirroringEndpointGroup": "A String", # Required. Immutable. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.
   },
-  "description": "A String", # Optional. An optional description of the profile. Max length 512 characters.
+  "description": "A String", # Optional. An optional description of the profile. The maximum length is 512 characters.
   "etag": "A String", # Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
-  "labels": { # Optional. Labels as key value pairs.
+  "labels": { # Optional. Labels as key-value pairs.
     "a_key": "A String",
   },
-  "name": "A String", # Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
-  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the SecurityProfile.
+  "name": "A String", # Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.
+  "threatPreventionProfile": { # ThreatPreventionProfile defines an action for specific threat signatures or severity levels. # The threat prevention configuration for the `SecurityProfile`.
     "antivirusOverrides": [ # Optional. Configuration for overriding antivirus actions per protocol.
       { # Defines what action to take for antivirus threats per protocol.
         "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies.
@@ -643,9 +643,9 @@ 

Method Details

}, ], }, - "type": "A String", # Immutable. The single ProfileType that the SecurityProfile resource configures. + "type": "A String", # Immutable. The single `ProfileType` that the `SecurityProfile` resource configures. "updateTime": "A String", # Output only. Last resource update timestamp. - "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the SecurityProfile. + "urlFilteringProfile": { # UrlFilteringProfile defines filters based on URL. # The URL filtering configuration for the `SecurityProfile`. "urlFilters": [ # Optional. The list of filtering configs in which each config defines an action to take for some URL match. { # A URL filter defines an action to take for some URL match. "filteringAction": "A String", # Required. The action taken when this filter is applied. @@ -656,75 +656,75 @@

Method Details

}, ], }, - "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. - "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. - { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. - "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "wildfireAnalysisProfile": { # `WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior. # The Advanced malware sandbox analysis configuration for the `SecurityProfile`. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for Advanced malware sandbox inline cloud analysis. + { # The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis. + "action": "A String", # Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox inline cloud analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox inline cloud analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox inline cloud analysis. }, ], - "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. - { # Defines what action to take for WildFire Inline ML threats per protocol. - "action": "A String", # Required. The action to take for WildFire Inline ML override. - "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox inline ML threats per protocol. + "action": "A String", # Required. The action to take for Advanced malware sandbox inline ML override. + "protocol": "A String", # Required. Protocol to match for Advanced malware sandbox inline ML override. }, ], - "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSetting": { # Defines the settings for Advanced malware sandbox inline ML analysis. # Optional. Settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, - "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. - { # Defines the settings for WildFire Inline ML analysis. - "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. - { # Defines the file to exclude from WildFire Inline ML analysis. - "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. - "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + "wildfireInlineMlSettings": [ # Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis. + { # Defines the settings for Advanced malware sandbox inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from Advanced malware sandbox inline ML analysis. + { # Defines the file to exclude from Advanced malware sandbox inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis. }, ], - "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. - { # Configuration for WildFire Inline ML analysis per file type. - "action": "A String", # Required. Action to take when a threat is detected using Inline ML. - "fileType": "A String", # Required. File type to configure Inline ML for. + "inlineMlConfigs": [ # Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis. + { # Configuration for Advanced malware sandbox inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using inline ML. + "fileType": "A String", # Required. File type to configure inline ML for. }, ], }, ], - "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. - { # Defines what action to take for WildFire threats per protocol. + "wildfireOverrides": [ # Optional. Configuration for overriding Advanced malware sandbox actions per protocol. + { # Defines what action to take for Advanced malware sandbox threats per protocol. "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. "protocol": "A String", # Required. Protocol to match. }, ], - "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. - "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. - { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. - "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. - "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`. + "wildfireSubmissionRules": [ # Optional. Configurations for Advanced malware sandbox (WildFire) file submissions. + { # Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scanning. # Submit a custom list of file types for Advanced malware sandbox analysis. + "fileTypes": [ # Required. File types to be submitted for Advanced malware sandbox analysis. "A String", ], }, - "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. - "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + "direction": "A String", # Required. Direction for the files to be analyzed by Advanced malware sandbox. + "fileSelectionMode": "A String", # Required. File selection mode for Advanced malware sandbox analysis. }, ], - "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. - { # Defines what action to take for a specific WildFire threat_id match. + "wildfireThreatOverrides": [ # Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match. + { # Defines what action to take for a specific Advanced malware sandbox `threat_id` match. "action": "A String", # Required. Threat action override. "threatId": "A String", # Required. Threat ID to match. }, @@ -732,7 +732,7 @@

Method Details

}, } - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. + updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfile` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/recaptchaenterprise_v1.projects.assessments.html b/docs/dyn/recaptchaenterprise_v1.projects.assessments.html index 313908e3a0..40a6a0a00a 100644 --- a/docs/dyn/recaptchaenterprise_v1.projects.assessments.html +++ b/docs/dyn/recaptchaenterprise_v1.projects.assessments.html @@ -218,7 +218,7 @@

Method Details

], "merchants": [ # Optional. Information about the user or users fulfilling the transaction. { # Details about a user's account involved in the transaction. - "accountId": "A String", # Optional. Unique account identifier for this user. If using Account defense, this should match the hashed_account_id field. Otherwise, a unique and persistent identifier for this account. + "accountId": "A String", # Optional. Unique account identifier for this user. If using Account defense, this should match the `user_info.account_id` field. Otherwise, a unique and persistent identifier for this account. "creationMs": "A String", # Optional. The epoch milliseconds of the user's account creation. "email": "A String", # Optional. The email address of the user. "emailVerified": True or False, # Optional. Whether the email has been verified to be accessible by the user (OTP or similar). @@ -240,7 +240,7 @@

Method Details

"shippingValue": 3.14, # Optional. The value of shipping in the specified currency. 0 for free or no shipping. "transactionId": "A String", # Unique identifier for the transaction. This custom identifier can be used to reference this transaction in the future, for example, labeling a refund or chargeback event. Two attempts at the same transaction should use the same transaction id. "user": { # Details about a user's account involved in the transaction. # Optional. Information about the user paying/initiating the transaction. - "accountId": "A String", # Optional. Unique account identifier for this user. If using Account defense, this should match the hashed_account_id field. Otherwise, a unique and persistent identifier for this account. + "accountId": "A String", # Optional. Unique account identifier for this user. If using Account defense, this should match the `user_info.account_id` field. Otherwise, a unique and persistent identifier for this account. "creationMs": "A String", # Optional. The epoch milliseconds of the user's account creation. "email": "A String", # Optional. The email address of the user. "emailVerified": True or False, # Optional. Whether the email has been verified to be accessible by the user (OTP or similar). @@ -329,7 +329,7 @@

Method Details

}, }, "name": "A String", # Output only. Identifier. The resource name for the Assessment in the format `projects/{project}/assessments/{assessment}`. - "phoneFraudAssessment": { # Assessment for Phone Fraud # Output only. Assessment returned when a site key, a token, and a phone number as `user_id` are provided. SMS defense needs to be enabled. + "phoneFraudAssessment": { # Assessment for Phone Fraud # Output only. Assessment returned when a site key, a token, `user_info.account_id`, and a phone number in `user_info.user_ids` are provided. SMS defense must be enabled. "smsTollFraudVerdict": { # Information about SMS toll fraud. # Output only. Assessment of this phone event for risk of SMS toll fraud. "reasons": [ # Output only. Reasons contributing to the SMS toll fraud verdict. "A String", @@ -362,7 +362,7 @@

Method Details

"verifiedBots": [ # Output only. Bots with identities that have been verified by reCAPTCHA and detected in the event. { # Bot information and metadata. "botType": "A String", # Optional. Enumerated field representing the type of bot. - "name": "A String", # Optional. Enumerated string value that indicates the identity of the bot, formatted in kebab-case. Current example values include the following: * google-agent - AI_AGENT * browser-base - AI_AGENT * chat-gpt - AI_AGENT * aws-bedrock - AI_AGENT * cybaa-bot - AI_AGENT * cloudflare - AI_AGENT * payhawk - AI_AGENT * duck-duck-go - SEARCH_INDEXER * mediaboard - CONTENT_SCRAPER * marker-io - AI_AGENT * anchor-browser - AI_AGENT * shopify - AI_AGENT * stackscope - CONTENT_SCRAPER * manus - AI_AGENT * kernel-sh - AI_AGENT * zvelo - SEARCH_INDEXER * meta-muse - AI_AGENT Ensure that your applications can handle identifier values not explicitly listed here. Deprecated values might take some time to stop showing up in responses. New values can be pushed so this list should be taken as non exhaustive. + "name": "A String", # Optional. Enumerated string value that indicates the identity of the bot, formatted in kebab-case. Current example values include the following: * google-agent - AI_AGENT * browser-base - AI_AGENT * chat-gpt - AI_AGENT * aws-bedrock - AI_AGENT * cybaa-bot - AI_AGENT * cloudflare - AI_AGENT * payhawk - AI_AGENT * duck-duck-go - AI_AGENT * mediaboard - CONTENT_SCRAPER * marker-io - AI_AGENT * anchor-browser - AI_AGENT * shopify - AI_AGENT * stackscope - CONTENT_SCRAPER * manus - AI_AGENT * kernel-sh - AI_AGENT * zvelo - SEARCH_INDEXER * meta-muse - AI_AGENT * duck-duck-bot - SEARCH_INDEXER * my-porta - SEARCH_INDEXER * ison-search - SEARCH_INDEXER * rokt - SEARCH_INDEXER Ensure that your applications can handle identifier values not explicitly listed here. Deprecated values might take some time to stop showing up in responses. New values can be pushed so this list should be taken as non exhaustive. }, ], }, @@ -470,7 +470,7 @@

Method Details

], "merchants": [ # Optional. Information about the user or users fulfilling the transaction. { # Details about a user's account involved in the transaction. - "accountId": "A String", # Optional. Unique account identifier for this user. If using Account defense, this should match the hashed_account_id field. Otherwise, a unique and persistent identifier for this account. + "accountId": "A String", # Optional. Unique account identifier for this user. If using Account defense, this should match the `user_info.account_id` field. Otherwise, a unique and persistent identifier for this account. "creationMs": "A String", # Optional. The epoch milliseconds of the user's account creation. "email": "A String", # Optional. The email address of the user. "emailVerified": True or False, # Optional. Whether the email has been verified to be accessible by the user (OTP or similar). @@ -492,7 +492,7 @@

Method Details

"shippingValue": 3.14, # Optional. The value of shipping in the specified currency. 0 for free or no shipping. "transactionId": "A String", # Unique identifier for the transaction. This custom identifier can be used to reference this transaction in the future, for example, labeling a refund or chargeback event. Two attempts at the same transaction should use the same transaction id. "user": { # Details about a user's account involved in the transaction. # Optional. Information about the user paying/initiating the transaction. - "accountId": "A String", # Optional. Unique account identifier for this user. If using Account defense, this should match the hashed_account_id field. Otherwise, a unique and persistent identifier for this account. + "accountId": "A String", # Optional. Unique account identifier for this user. If using Account defense, this should match the `user_info.account_id` field. Otherwise, a unique and persistent identifier for this account. "creationMs": "A String", # Optional. The epoch milliseconds of the user's account creation. "email": "A String", # Optional. The email address of the user. "emailVerified": True or False, # Optional. Whether the email has been verified to be accessible by the user (OTP or similar). @@ -581,7 +581,7 @@

Method Details

}, }, "name": "A String", # Output only. Identifier. The resource name for the Assessment in the format `projects/{project}/assessments/{assessment}`. - "phoneFraudAssessment": { # Assessment for Phone Fraud # Output only. Assessment returned when a site key, a token, and a phone number as `user_id` are provided. SMS defense needs to be enabled. + "phoneFraudAssessment": { # Assessment for Phone Fraud # Output only. Assessment returned when a site key, a token, `user_info.account_id`, and a phone number in `user_info.user_ids` are provided. SMS defense must be enabled. "smsTollFraudVerdict": { # Information about SMS toll fraud. # Output only. Assessment of this phone event for risk of SMS toll fraud. "reasons": [ # Output only. Reasons contributing to the SMS toll fraud verdict. "A String", @@ -614,7 +614,7 @@

Method Details

"verifiedBots": [ # Output only. Bots with identities that have been verified by reCAPTCHA and detected in the event. { # Bot information and metadata. "botType": "A String", # Optional. Enumerated field representing the type of bot. - "name": "A String", # Optional. Enumerated string value that indicates the identity of the bot, formatted in kebab-case. Current example values include the following: * google-agent - AI_AGENT * browser-base - AI_AGENT * chat-gpt - AI_AGENT * aws-bedrock - AI_AGENT * cybaa-bot - AI_AGENT * cloudflare - AI_AGENT * payhawk - AI_AGENT * duck-duck-go - SEARCH_INDEXER * mediaboard - CONTENT_SCRAPER * marker-io - AI_AGENT * anchor-browser - AI_AGENT * shopify - AI_AGENT * stackscope - CONTENT_SCRAPER * manus - AI_AGENT * kernel-sh - AI_AGENT * zvelo - SEARCH_INDEXER * meta-muse - AI_AGENT Ensure that your applications can handle identifier values not explicitly listed here. Deprecated values might take some time to stop showing up in responses. New values can be pushed so this list should be taken as non exhaustive. + "name": "A String", # Optional. Enumerated string value that indicates the identity of the bot, formatted in kebab-case. Current example values include the following: * google-agent - AI_AGENT * browser-base - AI_AGENT * chat-gpt - AI_AGENT * aws-bedrock - AI_AGENT * cybaa-bot - AI_AGENT * cloudflare - AI_AGENT * payhawk - AI_AGENT * duck-duck-go - AI_AGENT * mediaboard - CONTENT_SCRAPER * marker-io - AI_AGENT * anchor-browser - AI_AGENT * shopify - AI_AGENT * stackscope - CONTENT_SCRAPER * manus - AI_AGENT * kernel-sh - AI_AGENT * zvelo - SEARCH_INDEXER * meta-muse - AI_AGENT * duck-duck-bot - SEARCH_INDEXER * my-porta - SEARCH_INDEXER * ison-search - SEARCH_INDEXER * rokt - SEARCH_INDEXER Ensure that your applications can handle identifier values not explicitly listed here. Deprecated values might take some time to stop showing up in responses. New values can be pushed so this list should be taken as non exhaustive. }, ], }, diff --git a/docs/dyn/recaptchaenterprise_v1.projects.keys.html b/docs/dyn/recaptchaenterprise_v1.projects.keys.html index 5da1bfeed8..ef0c8de9ea 100644 --- a/docs/dyn/recaptchaenterprise_v1.projects.keys.html +++ b/docs/dyn/recaptchaenterprise_v1.projects.keys.html @@ -193,7 +193,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. "testingOptions": { # Options for user acceptance testing. # Optional. Options for user acceptance testing. - "testingChallenge": "A String", # Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. + "testingChallenge": "A String", # Optional. For challenge-based keys only (`CHECKBOX`, `INVISIBLE`), all challenge requests for this site do not show a challenge if `NOCAPTCHA`, or show an unsolvable challenge if `UNSOLVABLE_CHALLENGE`. "testingScore": 3.14, # Optional. All assessments for this Key return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. }, "universalSettings": { # Settings for keys that are configured through their Policy. # Settings for keys that are configured through their Policy. @@ -259,7 +259,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. "testingOptions": { # Options for user acceptance testing. # Optional. Options for user acceptance testing. - "testingChallenge": "A String", # Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. + "testingChallenge": "A String", # Optional. For challenge-based keys only (`CHECKBOX`, `INVISIBLE`), all challenge requests for this site do not show a challenge if `NOCAPTCHA`, or show an unsolvable challenge if `UNSOLVABLE_CHALLENGE`. "testingScore": 3.14, # Optional. All assessments for this Key return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. }, "universalSettings": { # Settings for keys that are configured through their Policy. # Settings for keys that are configured through their Policy. @@ -350,7 +350,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. "testingOptions": { # Options for user acceptance testing. # Optional. Options for user acceptance testing. - "testingChallenge": "A String", # Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. + "testingChallenge": "A String", # Optional. For challenge-based keys only (`CHECKBOX`, `INVISIBLE`), all challenge requests for this site do not show a challenge if `NOCAPTCHA`, or show an unsolvable challenge if `UNSOLVABLE_CHALLENGE`. "testingScore": 3.14, # Optional. All assessments for this Key return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. }, "universalSettings": { # Settings for keys that are configured through their Policy. # Settings for keys that are configured through their Policy. @@ -450,7 +450,7 @@

Method Details

"challenge": { # An outcome that indicates that a challenge of a specified difficulty should be presented to the user. # Present a challenge to the user. "difficulty": "A String", # Optional. The difficulty of the challenge to present to the user. If unspecified, `BALANCE` is used. }, - "condition": "A String", # Optional. A CEL condition that must be met for this rule to apply. If unspecified, the rule applies unconditionally. The following fields can be referenced in the condition: * `score` * `user_ip_address` * `user_asn` * `user_agent` * `verified_bots.name` * `verified_bots.bot_type` Examples: * `score < 0.5` * `user_ip_address == "123.45.67.89"` * `user_agent.contains("Chrome")` * `score < 0.5 && user_ip_address == "123.45.67.89"` + "condition": "A String", # Optional. A CEL condition that must be met for this rule to apply. If unspecified, the rule applies unconditionally. The following fields can be referenced in the condition: * `score` * `user_ip_address` * `user_asn` * `user_agent` * `region_code` * `verified_bots.name` * `verified_bots.bot_type` Examples: * `score < 0.5` * `user_ip_address == "123.45.67.89"` * `user_agent.contains("Chrome")` * `score < 0.5 && user_ip_address == "123.45.67.89"` "noChallenge": { # An outcome that indicates that no challenge should be presented to the user. # Do not present a challenge to the user. }, }, @@ -521,7 +521,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. "testingOptions": { # Options for user acceptance testing. # Optional. Options for user acceptance testing. - "testingChallenge": "A String", # Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. + "testingChallenge": "A String", # Optional. For challenge-based keys only (`CHECKBOX`, `INVISIBLE`), all challenge requests for this site do not show a challenge if `NOCAPTCHA`, or show an unsolvable challenge if `UNSOLVABLE_CHALLENGE`. "testingScore": 3.14, # Optional. All assessments for this Key return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. }, "universalSettings": { # Settings for keys that are configured through their Policy. # Settings for keys that are configured through their Policy. @@ -659,7 +659,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. "testingOptions": { # Options for user acceptance testing. # Optional. Options for user acceptance testing. - "testingChallenge": "A String", # Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. + "testingChallenge": "A String", # Optional. For challenge-based keys only (`CHECKBOX`, `INVISIBLE`), all challenge requests for this site do not show a challenge if `NOCAPTCHA`, or show an unsolvable challenge if `UNSOLVABLE_CHALLENGE`. "testingScore": 3.14, # Optional. All assessments for this Key return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. }, "universalSettings": { # Settings for keys that are configured through their Policy. # Settings for keys that are configured through their Policy. @@ -727,7 +727,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. "testingOptions": { # Options for user acceptance testing. # Optional. Options for user acceptance testing. - "testingChallenge": "A String", # Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. + "testingChallenge": "A String", # Optional. For challenge-based keys only (`CHECKBOX`, `INVISIBLE`), all challenge requests for this site do not show a challenge if `NOCAPTCHA`, or show an unsolvable challenge if `UNSOLVABLE_CHALLENGE`. "testingScore": 3.14, # Optional. All assessments for this Key return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. }, "universalSettings": { # Settings for keys that are configured through their Policy. # Settings for keys that are configured through their Policy. @@ -794,7 +794,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. "testingOptions": { # Options for user acceptance testing. # Optional. Options for user acceptance testing. - "testingChallenge": "A String", # Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. + "testingChallenge": "A String", # Optional. For challenge-based keys only (`CHECKBOX`, `INVISIBLE`), all challenge requests for this site do not show a challenge if `NOCAPTCHA`, or show an unsolvable challenge if `UNSOLVABLE_CHALLENGE`. "testingScore": 3.14, # Optional. All assessments for this Key return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. }, "universalSettings": { # Settings for keys that are configured through their Policy. # Settings for keys that are configured through their Policy. @@ -891,7 +891,7 @@

Method Details

"challenge": { # An outcome that indicates that a challenge of a specified difficulty should be presented to the user. # Present a challenge to the user. "difficulty": "A String", # Optional. The difficulty of the challenge to present to the user. If unspecified, `BALANCE` is used. }, - "condition": "A String", # Optional. A CEL condition that must be met for this rule to apply. If unspecified, the rule applies unconditionally. The following fields can be referenced in the condition: * `score` * `user_ip_address` * `user_asn` * `user_agent` * `verified_bots.name` * `verified_bots.bot_type` Examples: * `score < 0.5` * `user_ip_address == "123.45.67.89"` * `user_agent.contains("Chrome")` * `score < 0.5 && user_ip_address == "123.45.67.89"` + "condition": "A String", # Optional. A CEL condition that must be met for this rule to apply. If unspecified, the rule applies unconditionally. The following fields can be referenced in the condition: * `score` * `user_ip_address` * `user_asn` * `user_agent` * `region_code` * `verified_bots.name` * `verified_bots.bot_type` Examples: * `score < 0.5` * `user_ip_address == "123.45.67.89"` * `user_agent.contains("Chrome")` * `score < 0.5 && user_ip_address == "123.45.67.89"` "noChallenge": { # An outcome that indicates that no challenge should be presented to the user. # Do not present a challenge to the user. }, }, @@ -935,7 +935,7 @@

Method Details

"challenge": { # An outcome that indicates that a challenge of a specified difficulty should be presented to the user. # Present a challenge to the user. "difficulty": "A String", # Optional. The difficulty of the challenge to present to the user. If unspecified, `BALANCE` is used. }, - "condition": "A String", # Optional. A CEL condition that must be met for this rule to apply. If unspecified, the rule applies unconditionally. The following fields can be referenced in the condition: * `score` * `user_ip_address` * `user_asn` * `user_agent` * `verified_bots.name` * `verified_bots.bot_type` Examples: * `score < 0.5` * `user_ip_address == "123.45.67.89"` * `user_agent.contains("Chrome")` * `score < 0.5 && user_ip_address == "123.45.67.89"` + "condition": "A String", # Optional. A CEL condition that must be met for this rule to apply. If unspecified, the rule applies unconditionally. The following fields can be referenced in the condition: * `score` * `user_ip_address` * `user_asn` * `user_agent` * `region_code` * `verified_bots.name` * `verified_bots.bot_type` Examples: * `score < 0.5` * `user_ip_address == "123.45.67.89"` * `user_agent.contains("Chrome")` * `score < 0.5 && user_ip_address == "123.45.67.89"` "noChallenge": { # An outcome that indicates that no challenge should be presented to the user. # Do not present a challenge to the user. }, }, diff --git a/docs/dyn/websecurityscanner_v1.projects.scanConfigs.html b/docs/dyn/websecurityscanner_v1.projects.scanConfigs.html index a02fcd3939..d708d85d32 100644 --- a/docs/dyn/websecurityscanner_v1.projects.scanConfigs.html +++ b/docs/dyn/websecurityscanner_v1.projects.scanConfigs.html @@ -99,7 +99,7 @@

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a ScanConfig. This method support partial update of a ScanConfig.

+

Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`

start(name, body=None, x__xgafv=None)

Start a ScanRun according to the given ScanConfig.

@@ -458,7 +458,7 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a ScanConfig. This method support partial update of a ScanConfig.
+  
Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`
 
 Args:
   name: string, Identifier. The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system. (required)
diff --git a/docs/dyn/websecurityscanner_v1alpha.projects.scanConfigs.html b/docs/dyn/websecurityscanner_v1alpha.projects.scanConfigs.html
index 8f2835d749..a15977c3df 100644
--- a/docs/dyn/websecurityscanner_v1alpha.projects.scanConfigs.html
+++ b/docs/dyn/websecurityscanner_v1alpha.projects.scanConfigs.html
@@ -99,7 +99,7 @@ 

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a ScanConfig. This method support partial update of a ScanConfig.

+

Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`

start(name, body=None, x__xgafv=None)

Start a ScanRun according to the given ScanConfig.

@@ -366,7 +366,7 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a ScanConfig. This method support partial update of a ScanConfig.
+  
Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`
 
 Args:
   name: string, The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system. (required)
diff --git a/docs/dyn/websecurityscanner_v1beta.projects.scanConfigs.html b/docs/dyn/websecurityscanner_v1beta.projects.scanConfigs.html
index 6b4c962f3d..4900f1f0fc 100644
--- a/docs/dyn/websecurityscanner_v1beta.projects.scanConfigs.html
+++ b/docs/dyn/websecurityscanner_v1beta.projects.scanConfigs.html
@@ -99,7 +99,7 @@ 

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a ScanConfig. This method support partial update of a ScanConfig.

+

Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`

start(name, body=None, x__xgafv=None)

Start a ScanRun according to the given ScanConfig.

@@ -458,7 +458,7 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a ScanConfig. This method support partial update of a ScanConfig.
+  
Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`
 
 Args:
   name: string, The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system. (required)
diff --git a/googleapiclient/discovery_cache/documents/admin.directory_v1.json b/googleapiclient/discovery_cache/documents/admin.directory_v1.json
index 3763117e4c..3e746eda59 100644
--- a/googleapiclient/discovery_cache/documents/admin.directory_v1.json
+++ b/googleapiclient/discovery_cache/documents/admin.directory_v1.json
@@ -3890,7 +3890,7 @@
 "users": {
 "methods": {
 "createGuest": {
-"description": "Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Open Beta.",
+"description": "Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545).",
 "flatPath": "admin/directory/v1/users:createGuest",
 "httpMethod": "POST",
 "id": "directory.users.createGuest",
@@ -4729,7 +4729,7 @@
 }
 }
 },
-"revision": "20260914",
+"revision": "20261104",
 "rootUrl": "https://admin.googleapis.com/",
 "schemas": {
 "Alias": {
diff --git a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
index 9be26dfcea..7c234f84b7 100644
--- a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
@@ -5146,7 +5146,7 @@
 }
 }
 },
-"revision": "20260908",
+"revision": "20261102",
 "rootUrl": "https://analyticsadmin.googleapis.com/",
 "schemas": {
 "GoogleAnalyticsAdminV1alphaAccessBetweenFilter": {
@@ -8702,7 +8702,7 @@
 "description": "The account to create."
 },
 "redirectUri": {
-"description": "Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in Cloud Console as a Redirect URI.",
+"description": "Redirect URI where the user will be sent after accepting Terms of Service.",
 "type": "string"
 }
 },
diff --git a/googleapiclient/discovery_cache/documents/analyticsadmin.v1beta.json b/googleapiclient/discovery_cache/documents/analyticsadmin.v1beta.json
index 307f42c175..0dae959940 100644
--- a/googleapiclient/discovery_cache/documents/analyticsadmin.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/analyticsadmin.v1beta.json
@@ -1788,7 +1788,7 @@
 }
 }
 },
-"revision": "20260908",
+"revision": "20261102",
 "rootUrl": "https://analyticsadmin.googleapis.com/",
 "schemas": {
 "GoogleAnalyticsAdminV1betaAccessBetweenFilter": {
@@ -3320,7 +3320,7 @@
 "description": "The account to create."
 },
 "redirectUri": {
-"description": "Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in Cloud Console as a Redirect URI.",
+"description": "Redirect URI where the user will be sent after accepting Terms of Service.",
 "type": "string"
 }
 },
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
index 252ccbf5b8..04b4f86fa6 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
@@ -2324,7 +2324,7 @@
 }
 }
 },
-"revision": "20261025",
+"revision": "20261029",
 "rootUrl": "https://cloudbuild.googleapis.com/",
 "schemas": {
 "ApprovalConfig": {
@@ -2977,10 +2977,15 @@
 "REGIONAL_USER_OWNED_BUCKET",
 "LEGACY_BUCKET"
 ],
+"enumDeprecated": [
+false,
+false,
+true
+],
 "enumDescriptions": [
 "Unspecified.",
 "Bucket is located in user-owned project in the same region as the build. The builder service account must have access to create and write to Cloud Storage buckets in the build project.",
-"Bucket is located in a Google-owned project and is not regionalized."
+"Deprecated: Use `REGIONAL_USER_OWNED_BUCKET` instead. Bucket is located in a Google-owned project and is not regionalized."
 ],
 "type": "string"
 },
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
index bcb0e3361e..d45558c246 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
@@ -563,7 +563,7 @@
 }
 }
 },
-"revision": "20260424",
+"revision": "20261029",
 "rootUrl": "https://cloudfunctions.googleapis.com/",
 "schemas": {
 "AuditConfig": {
@@ -706,7 +706,7 @@
 "type": "string"
 },
 "buildWorkerPool": {
-"description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project.",
+"description": "Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project.",
 "type": "string"
 },
 "description": {
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json
index acdbc0ea0a..44e447dfad 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json
@@ -783,7 +783,7 @@
 }
 }
 },
-"revision": "20260424",
+"revision": "20261029",
 "rootUrl": "https://cloudfunctions.googleapis.com/",
 "schemas": {
 "AbortFunctionUpgradeRequest": {
@@ -935,7 +935,7 @@
 "type": "string"
 },
 "workerPool": {
-"description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.",
+"description": "Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.",
 "type": "string"
 }
 },
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json
index 45acd96a61..0fb5a6a106 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json
@@ -783,7 +783,7 @@
 }
 }
 },
-"revision": "20260424",
+"revision": "20261029",
 "rootUrl": "https://cloudfunctions.googleapis.com/",
 "schemas": {
 "AbortFunctionUpgradeRequest": {
@@ -935,7 +935,7 @@
 "type": "string"
 },
 "workerPool": {
-"description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.",
+"description": "Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.",
 "type": "string"
 }
 },
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json
index 230f9bbbd2..858b3a08dd 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json
@@ -783,7 +783,7 @@
 }
 }
 },
-"revision": "20260424",
+"revision": "20261029",
 "rootUrl": "https://cloudfunctions.googleapis.com/",
 "schemas": {
 "AbortFunctionUpgradeRequest": {
@@ -935,7 +935,7 @@
 "type": "string"
 },
 "workerPool": {
-"description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.",
+"description": "Name of the Cloud Build private pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.",
 "type": "string"
 }
 },
diff --git a/googleapiclient/discovery_cache/documents/colaboratory.v1.json b/googleapiclient/discovery_cache/documents/colaboratory.v1.json
new file mode 100644
index 0000000000..4c5e5e4f27
--- /dev/null
+++ b/googleapiclient/discovery_cache/documents/colaboratory.v1.json
@@ -0,0 +1,312 @@
+{
+"auth": {
+"oauth2": {
+"scopes": {
+"https://www.googleapis.com/auth/colaboratory": {
+"description": "Read, write, and delete your Colab resources"
+},
+"https://www.googleapis.com/auth/colaboratory.readonly": {
+"description": "Read-only access to your Colab resources"
+}
+}
+}
+},
+"basePath": "",
+"baseUrl": "https://colaboratory.googleapis.com/",
+"batchPath": "batch",
+"canonicalName": "Colab",
+"description": "The Colab API lets you programmatically manage Colab runtimes.",
+"discoveryVersion": "v1",
+"documentationLink": "https://developers.google.com/colab/api/reference/rest",
+"fullyEncodeReservedExpansion": true,
+"icons": {
+"x16": "http://www.google.com/images/icons/product/search-16.gif",
+"x32": "http://www.google.com/images/icons/product/search-32.gif"
+},
+"id": "colaboratory:v1",
+"kind": "discovery#restDescription",
+"mtlsRootUrl": "https://colaboratory.mtls.googleapis.com/",
+"name": "colaboratory",
+"ownerDomain": "google.com",
+"ownerName": "Google",
+"parameters": {
+"$.xgafv": {
+"description": "V1 error format.",
+"enum": [
+"1",
+"2"
+],
+"enumDescriptions": [
+"v1 error format",
+"v2 error format"
+],
+"location": "query",
+"type": "string"
+},
+"access_token": {
+"description": "OAuth access token.",
+"location": "query",
+"type": "string"
+},
+"alt": {
+"default": "json",
+"description": "Data format for response.",
+"enum": [
+"json",
+"media",
+"proto"
+],
+"enumDescriptions": [
+"Responses with Content-Type of application/json",
+"Media download with context-dependent Content-Type",
+"Responses with Content-Type of application/x-protobuf"
+],
+"location": "query",
+"type": "string"
+},
+"callback": {
+"description": "JSONP",
+"location": "query",
+"type": "string"
+},
+"fields": {
+"description": "Selector specifying which fields to include in a partial response.",
+"location": "query",
+"type": "string"
+},
+"key": {
+"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
+"location": "query",
+"type": "string"
+},
+"oauth_token": {
+"description": "OAuth 2.0 token for the current user.",
+"location": "query",
+"type": "string"
+},
+"prettyPrint": {
+"default": "true",
+"description": "Returns response with indentations and line breaks.",
+"location": "query",
+"type": "boolean"
+},
+"quotaUser": {
+"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
+"location": "query",
+"type": "string"
+},
+"uploadType": {
+"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+"location": "query",
+"type": "string"
+},
+"upload_protocol": {
+"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+"location": "query",
+"type": "string"
+}
+},
+"protocol": "rest",
+"resources": {
+"operations": {
+"methods": {
+"get": {
+"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
+"flatPath": "v1/operations/{operationsId}",
+"httpMethod": "GET",
+"id": "colaboratory.operations.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource.",
+"location": "path",
+"pattern": "^operations/.*$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory",
+"https://www.googleapis.com/auth/colaboratory.readonly"
+]
+},
+"list": {
+"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
+"flatPath": "v1/operations",
+"httpMethod": "GET",
+"id": "colaboratory.operations.list",
+"parameterOrder": [],
+"parameters": {
+"pageSize": {
+"description": "The standard list page size.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "The standard list page token.",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/operations",
+"response": {
+"$ref": "ListOperationsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory",
+"https://www.googleapis.com/auth/colaboratory.readonly"
+]
+},
+"wait": {
+"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.",
+"flatPath": "v1/operations/{operationsId}:wait",
+"httpMethod": "GET",
+"id": "colaboratory.operations.wait",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to wait on.",
+"location": "path",
+"pattern": "^operations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"timeout": {
+"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.",
+"format": "google-duration",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}:wait",
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory",
+"https://www.googleapis.com/auth/colaboratory.readonly"
+]
+}
+}
+}
+},
+"revision": "20261102",
+"rootUrl": "https://colaboratory.googleapis.com/",
+"schemas": {
+"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 for 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"
+},
+"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"
+},
+"Operation": {
+"description": "This resource represents a long-running operation that is the result of a network API call.",
+"id": "Operation",
+"properties": {
+"done": {
+"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
+"type": "boolean"
+},
+"error": {
+"$ref": "Status",
+"description": "The error result of the operation in case of failure or cancellation."
+},
+"metadata": {
+"additionalProperties": {
+"description": "Properties of the object. Contains field @type with type URL.",
+"type": "any"
+},
+"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
+"type": "object"
+},
+"name": {
+"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
+"type": "string"
+},
+"response": {
+"additionalProperties": {
+"description": "Properties of the object. Contains field @type with type URL.",
+"type": "any"
+},
+"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
+"type": "object"
+}
+},
+"type": "object"
+},
+"Status": {
+"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
+"id": "Status",
+"properties": {
+"code": {
+"description": "The status code, which should be an enum value of google.rpc.Code.",
+"format": "int32",
+"type": "integer"
+},
+"details": {
+"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
+"items": {
+"additionalProperties": {
+"description": "Properties of the object. Contains field @type with type URL.",
+"type": "any"
+},
+"type": "object"
+},
+"type": "array"
+},
+"message": {
+"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
+"type": "string"
+}
+},
+"type": "object"
+}
+},
+"servicePath": "",
+"title": "Colab API",
+"version": "v1",
+"version_module": true
+}
\ No newline at end of file
diff --git a/googleapiclient/discovery_cache/documents/colaboratory.v1beta.json b/googleapiclient/discovery_cache/documents/colaboratory.v1beta.json
new file mode 100644
index 0000000000..d8415162c5
--- /dev/null
+++ b/googleapiclient/discovery_cache/documents/colaboratory.v1beta.json
@@ -0,0 +1,524 @@
+{
+"auth": {
+"oauth2": {
+"scopes": {
+"https://www.googleapis.com/auth/colaboratory": {
+"description": "Read, write, and delete your Colab resources"
+},
+"https://www.googleapis.com/auth/colaboratory.readonly": {
+"description": "Read-only access to your Colab resources"
+}
+}
+}
+},
+"basePath": "",
+"baseUrl": "https://colaboratory.googleapis.com/",
+"batchPath": "batch",
+"canonicalName": "Colab",
+"description": "The Colab API lets you programmatically manage Colab runtimes.",
+"discoveryVersion": "v1",
+"documentationLink": "https://developers.google.com/colab/api/reference/rest",
+"fullyEncodeReservedExpansion": true,
+"icons": {
+"x16": "http://www.google.com/images/icons/product/search-16.gif",
+"x32": "http://www.google.com/images/icons/product/search-32.gif"
+},
+"id": "colaboratory:v1beta",
+"kind": "discovery#restDescription",
+"mtlsRootUrl": "https://colaboratory.mtls.googleapis.com/",
+"name": "colaboratory",
+"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": {
+"runtimes": {
+"methods": {
+"create": {
+"description": "Creates a Colab runtime assignment. When runtime creation is refused with a [`FAILED_PRECONDITION` (code: 9)](https://github.com/googleapis/googleapis/blob/437254f595a380cd9323111700ce0fcf9d6d2c21/google/rpc/code.proto#L128) error, a more specific error reason will be returned in the details of the Operation error wrapped in google.rpc.ErrorInfo. A requests-per-minute-per-project and a requests-per-minute-per-user quota are enforced on this API. To see the exact limit your project is subject to, after you enable the Colab API, view it in your project's [Quotas & System Limits](https://console.cloud.google.com/apis/api/colaboratory.googleapis.com/quotas) page. Note that there is no usage reporting on the per-user limit and it is not overridable at the individual user level.",
+"flatPath": "v1beta/runtimes",
+"httpMethod": "POST",
+"id": "colaboratory.runtimes.create",
+"parameterOrder": [],
+"parameters": {
+"requestId": {
+"description": "Optional. A unique identifier for this request. This request is only idempotent if a `request_id` is provided. See [AIP-155](https://google.aip.dev/155) for more details. If provided, the request ID must be in UUID4 format per https://linter.aip.dev/155/request-id-format.",
+"location": "query",
+"type": "string"
+},
+"runtimeId": {
+"description": "Optional. A unique identifier for the runtime. If not supplied, a random ID will be generated. If a runtime with the given ID owned by the requesting user already exists, a completed Operation with an [`ALREADY_EXISTS` (code: 6)](https://github.com/googleapis/googleapis/blob/437254f595a380cd9323111700ce0fcf9d6d2c21/google/rpc/code.proto#L84) error will be returned. See [AIP-133](https://google.aip.dev/133#user-specified-ids) for more details. The ID must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034), specifically: - 1 to 63 characters - Lower-case letters, digits, and hyphens - Start with a letter - End with a letter or digit",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1beta/runtimes",
+"request": {
+"$ref": "Runtime"
+},
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory"
+]
+},
+"delete": {
+"description": "Deletes a Colab runtime assignment. **Best Practices:** - Avoid deleting runtimes unless necessary. Reuse runtimes for efficiency. - Open a new Jupyter session on an existing runtime for state isolation.",
+"flatPath": "v1beta/runtimes/{runtimesId}",
+"httpMethod": "DELETE",
+"id": "colaboratory.runtimes.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"allowMissing": {
+"description": "Optional. If set to `true`, and the runtime is not found, the request will succeed but no action will be taken on the server.",
+"location": "query",
+"type": "boolean"
+},
+"name": {
+"description": "Required. The name of the runtime to unassign. Format: `runtimes/{runtime_id}`.",
+"location": "path",
+"pattern": "^runtimes/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1beta/{+name}",
+"response": {
+"$ref": "Empty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory"
+]
+},
+"get": {
+"description": "Gets a Colab runtime assigned to the requesting user.",
+"flatPath": "v1beta/runtimes/{runtimesId}",
+"httpMethod": "GET",
+"id": "colaboratory.runtimes.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the runtime to retrieve. Format: `runtimes/{runtime_id}`.",
+"location": "path",
+"pattern": "^runtimes/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1beta/{+name}",
+"response": {
+"$ref": "Runtime"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory",
+"https://www.googleapis.com/auth/colaboratory.readonly"
+]
+},
+"list": {
+"description": "Lists Colab runtimes assigned to the requesting user.",
+"flatPath": "v1beta/runtimes",
+"httpMethod": "GET",
+"id": "colaboratory.runtimes.list",
+"parameterOrder": [],
+"parameters": {},
+"path": "v1beta/runtimes",
+"response": {
+"$ref": "ListRuntimesResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory",
+"https://www.googleapis.com/auth/colaboratory.readonly"
+]
+}
+}
+},
+"runtimespecs": {
+"methods": {
+"list": {
+"description": "Lists available Colab runtime specs and their eligibility to the requesting user.",
+"flatPath": "v1beta/runtimespecs",
+"httpMethod": "GET",
+"id": "colaboratory.runtimespecs.list",
+"parameterOrder": [],
+"parameters": {},
+"path": "v1beta/runtimespecs",
+"response": {
+"$ref": "ListRuntimeSpecsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory",
+"https://www.googleapis.com/auth/colaboratory.readonly"
+]
+}
+}
+},
+"v1beta": {
+"methods": {
+"getSubscription": {
+"description": "Gets the subscription of the requesting user.",
+"flatPath": "v1beta/subscription",
+"httpMethod": "GET",
+"id": "colaboratory.getSubscription",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the subscription to retrieve. The only valid value is \"subscription\".",
+"location": "path",
+"pattern": "^subscription$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1beta/{+name}",
+"response": {
+"$ref": "Subscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/colaboratory",
+"https://www.googleapis.com/auth/colaboratory.readonly"
+]
+}
+}
+}
+},
+"revision": "20261104",
+"rootUrl": "https://colaboratory.googleapis.com/",
+"schemas": {
+"ConnectionInfo": {
+"description": "Connection info used to authenticate to the runtime.",
+"id": "ConnectionInfo",
+"properties": {
+"expireTime": {
+"description": "Required. Output only. The expiration time of the runtime proxy token.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"token": {
+"description": "Required. Output only. The runtime proxy token. This is a short-lived credential used to authenticate to the runtime. Clients should set this token as the value of the `X-Colab-Runtime-Proxy-Token` HTTP header when connecting to the runtime, and call the GetRuntime API to refresh this token when approaching `expire_time`.",
+"readOnly": true,
+"type": "string"
+},
+"url": {
+"description": "Required. Output only. The authenticated URL that can be used to connect to the runtime.",
+"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"
+},
+"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 for 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"
+},
+"Key": {
+"description": "Key fields that uniquely identify a runtime spec.",
+"id": "Key",
+"properties": {
+"accelerator": {
+"description": "Required. Runtime accelerator model name (e.g., \"T4\", \"L4\", \"A100\"). For CPU runtime specs, this field will be \"NONE\".",
+"type": "string"
+},
+"shape": {
+"description": "Required. Runtime shape.",
+"enum": [
+"SHAPE_UNSPECIFIED",
+"SHAPE_STANDARD",
+"SHAPE_HIGHMEM"
+],
+"enumDescriptions": [
+"Default value. This value is unused.",
+"Standard shape.",
+"High memory shape."
+],
+"type": "string"
+},
+"variant": {
+"description": "Required. Runtime variant.",
+"enum": [
+"VARIANT_UNSPECIFIED",
+"VARIANT_CPU",
+"VARIANT_GPU",
+"VARIANT_TPU"
+],
+"enumDescriptions": [
+"Default value. This value is unused.",
+"CPU variant.",
+"GPU variant.",
+"TPU variant."
+],
+"type": "string"
+}
+},
+"type": "object"
+},
+"ListRuntimeSpecsResponse": {
+"description": "Response message for `ListRuntimeSpecs`.",
+"id": "ListRuntimeSpecsResponse",
+"properties": {
+"runtimeSpecs": {
+"description": "The list of runtime specs available to the requesting user.",
+"items": {
+"$ref": "RuntimeSpec"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"ListRuntimesResponse": {
+"description": "Response message for `ListRuntimes`.",
+"id": "ListRuntimesResponse",
+"properties": {
+"runtimes": {
+"description": "The list of runtimes assigned to the requesting user.",
+"items": {
+"$ref": "Runtime"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"Operation": {
+"description": "This resource represents a long-running operation that is the result of a network API call.",
+"id": "Operation",
+"properties": {
+"done": {
+"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
+"type": "boolean"
+},
+"error": {
+"$ref": "Status",
+"description": "The error result of the operation in case of failure or cancellation."
+},
+"metadata": {
+"additionalProperties": {
+"description": "Properties of the object. Contains field @type with type URL.",
+"type": "any"
+},
+"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
+"type": "object"
+},
+"name": {
+"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
+"type": "string"
+},
+"response": {
+"additionalProperties": {
+"description": "Properties of the object. Contains field @type with type URL.",
+"type": "any"
+},
+"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
+"type": "object"
+}
+},
+"type": "object"
+},
+"Runtime": {
+"description": "A Colab managed runtime. This is essentially a Jupyter server that runs on Google infrastructure. Clients should use the connection_info provided to connect to the runtime, and leverage the standard Jupyter [REST API](https://jupyter-server.readthedocs.io/en/stable/developers/rest-api.html) and/or [client library](https://jupyter-client.readthedocs.io/en/stable/api/jupyter_client.html) to interact with the runtime.",
+"id": "Runtime",
+"properties": {
+"connectionInfo": {
+"$ref": "ConnectionInfo",
+"description": "Output only. The connection info used to authenticate to the runtime.",
+"readOnly": true
+},
+"name": {
+"description": "Identifier. The name of the runtime in the format `runtimes/{runtime_id}`, where `runtime_id` is either the value supplied via CreateRuntimeRequest.runtime_id or, if none was supplied, a random ID generated by the backend.",
+"type": "string"
+},
+"runtimeSpec": {
+"$ref": "Key",
+"description": "Required. The specification of the runtime. When calling `CreateRuntime`, this field should be set to an eligible runtime spec obtained from the ListRuntimeSpecsResponse."
+},
+"version": {
+"description": "Optional. The version of the runtime image. See [Colab Runtime Version FAQ](https://research.google.com/colaboratory/runtime-version-faq.html) for supported runtime versions. If omitted (empty), the latest runtime image is used.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"RuntimeSpec": {
+"description": "A specification of a runtime.",
+"id": "RuntimeSpec",
+"properties": {
+"eligible": {
+"description": "Output only. Whether the requesting user is eligible for the runtime spec.",
+"readOnly": true,
+"type": "boolean"
+},
+"key": {
+"$ref": "Key",
+"description": "Required. The key of the runtime spec."
+}
+},
+"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"
+},
+"Subscription": {
+"description": "Colab user subscription information.",
+"id": "Subscription",
+"properties": {
+"name": {
+"description": "Identifier. Name of the subscription. This will always be \"subscription\".",
+"type": "string"
+},
+"tier": {
+"description": "Required. User's Colab subscription tier.",
+"enum": [
+"SUBSCRIPTION_TIER_UNSPECIFIED",
+"SUBSCRIPTION_TIER_FREE",
+"SUBSCRIPTION_TIER_PRO",
+"SUBSCRIPTION_TIER_PRO_PLUS"
+],
+"enumDescriptions": [
+"Default value. This value is unused.",
+"User is not subscribed to any paid tier.",
+"User is subscribed to Colab Pro.",
+"User is subscribed to Colab Pro+."
+],
+"type": "string"
+}
+},
+"type": "object"
+}
+},
+"servicePath": "",
+"title": "Colab API",
+"version": "v1beta",
+"version_module": true
+}
\ No newline at end of file
diff --git a/googleapiclient/discovery_cache/documents/css.v1.json b/googleapiclient/discovery_cache/documents/css.v1.json
index 71a6b58395..aa89f84a56 100644
--- a/googleapiclient/discovery_cache/documents/css.v1.json
+++ b/googleapiclient/discovery_cache/documents/css.v1.json
@@ -547,7 +547,7 @@
 }
 }
 },
-"revision": "20260930",
+"revision": "20261104",
 "rootUrl": "https://css.googleapis.com/",
 "schemas": {
 "Account": {
@@ -739,7 +739,7 @@
 "type": "string"
 },
 "excludedDestinations": {
-"description": "The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).",
+"description": "The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). Supported values are: - `css_ads_experiences` - `css_organic_experiences`",
 "items": {
 "type": "string"
 },
@@ -799,7 +799,7 @@
 "type": "string"
 },
 "includedDestinations": {
-"description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.",
+"description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excluded_destinations`. Supported values are: - `css_ads_experiences` - `css_organic_experiences`",
 "items": {
 "type": "string"
 },
diff --git a/googleapiclient/discovery_cache/documents/curationpartners.v1.json b/googleapiclient/discovery_cache/documents/curationpartners.v1.json
index b438eca574..e7fd2be1ae 100644
--- a/googleapiclient/discovery_cache/documents/curationpartners.v1.json
+++ b/googleapiclient/discovery_cache/documents/curationpartners.v1.json
@@ -816,7 +816,7 @@
 }
 }
 },
-"revision": "20261020",
+"revision": "20261103",
 "rootUrl": "https://curationpartners.googleapis.com/",
 "schemas": {
 "AccessControlSettings": {
@@ -2148,13 +2148,15 @@
 "TIME_ZONE_SOURCE_UNSPECIFIED",
 "AD_EXCHANGE",
 "UTC",
-"PROVIDED"
+"PROVIDED",
+"CURATOR"
 ],
 "enumDescriptions": [
 "Unspecified default value.",
 "Use the Pacific time zone(PT).",
 "Use UTC time zone.",
-"Use the time zone provided in the ReportDefinition.time_zone field. Reports may take longer to run since the dates are dynamically calculated at request time."
+"Use the time zone provided in the ReportDefinition.time_zone field. Reports may take longer to run since the dates are dynamically calculated at request time.",
+"Use the time zone from the curator's account settings."
 ],
 "type": "string"
 }
diff --git a/googleapiclient/discovery_cache/documents/databasecenter.v1beta.json b/googleapiclient/discovery_cache/documents/databasecenter.v1beta.json
index 23b3f9d050..4bc2a5b684 100644
--- a/googleapiclient/discovery_cache/documents/databasecenter.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/databasecenter.v1beta.json
@@ -364,7 +364,7 @@
 }
 }
 },
-"revision": "20260930",
+"revision": "20261102",
 "rootUrl": "https://databasecenter.googleapis.com/",
 "schemas": {
 "AdditionalDetail": {
@@ -440,6 +440,7 @@
 "SIGNAL_TYPE_UNSPECIFIED",
 "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
 "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
+"SIGNAL_TYPE_NO_PROMOTABLE_REPLICA",
 "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
 "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
 "SIGNAL_TYPE_LAST_BACKUP_FAILED",
@@ -482,6 +483,7 @@
 "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
 "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
 "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
+"SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING",
 "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
 "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
 "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
@@ -531,20 +533,134 @@
 "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
 "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
 "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
+"SIGNAL_TYPE_MANY_IDLE_CONNECTIONS",
 "SIGNAL_TYPE_REPLICATION_LAG",
+"SIGNAL_TYPE_OUTDATED_VERSION",
 "SIGNAL_TYPE_OUTDATED_CLIENT",
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
+"SIGNAL_TYPE_PERFORMANCE_KPI_CHANGE",
 "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
 "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
 "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
 "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
 ],
+"enumDeprecated": [
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
 "Unspecified.",
 "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.",
 "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
+"Deprecated: This signal is not supported. Represents if a resource has a promotable replica.",
 "Represents if a resource has an automated backup policy.",
 "Represents if a resources has a short backup retention period.",
 "Represents if the last backup of a resource failed.",
@@ -587,6 +703,7 @@
 "Represents if a Cloud SQL database has a weak password configured for the root account.",
 "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
 "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
+"Deprecated: This signal is not supported. Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
 "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
@@ -636,11 +753,14 @@
 "Location org policy not satisfied.",
 "Outdated DB minor version.",
 "Schema not optimized.",
+"Deprecated: This signal is not supported. High number of idle connections.",
 "Replication delay.",
+"Deprecated: This signal is not supported. Outdated version.",
 "Outdated client.",
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
+"Represents a change in performance KPIs.",
 "Represents a database version nearing end of life.",
 "Indicates a high risk of maintenance downtime.",
 "Indicates both a low cache hit rate and a risk of maintenance downtime.",
@@ -1244,6 +1364,8 @@
 "ENGINE_POSTGRES",
 "ENGINE_SQL_SERVER",
 "ENGINE_NATIVE",
+"ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT",
+"ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT",
 "ENGINE_MEMORYSTORE_FOR_REDIS",
 "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER",
 "ENGINE_MEMORSTORE_FOR_VALKEY",
@@ -1261,6 +1383,8 @@ false,
 false,
 false,
 false,
+true,
+true,
 false,
 false,
 true,
@@ -1278,6 +1402,8 @@ false
 "Postgres binary running as engine in database instance.",
 "SQLServer binary running as engine in database instance.",
 "Native database binary running as engine in instance.",
+"Deprecated: Use ENGINE_NATIVE instead for PRODUCT_TYPE_SPANNER. Cloud Spanner with PostgreSQL dialect.",
+"Deprecated: Use ENGINE_NATIVE instead for PRODUCT_TYPE_SPANNER. Cloud Spanner with Google SQL dialect.",
 "Memorystore with Redis dialect.",
 "Memorystore with Redis cluster dialect.",
 "Deprecated: Use ENGINE_MEMORYSTORE_FOR_VALKEY instead.",
@@ -1298,6 +1424,7 @@ false
 "PRODUCT_TYPE_CLOUD_SQL",
 "PRODUCT_TYPE_ALLOYDB",
 "PRODUCT_TYPE_SPANNER",
+"PRODUCT_TYPE_ON_PREM",
 "PRODUCT_TYPE_BIGTABLE",
 "PRODUCT_TYPE_MEMORYSTORE",
 "PRODUCT_TYPE_FIRESTORE",
@@ -1306,11 +1433,26 @@ false
 "PRODUCT_TYPE_BIGQUERY",
 "PRODUCT_TYPE_OTHER"
 ],
+"enumDeprecated": [
+false,
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
 "PRODUCT_TYPE_UNSPECIFIED means product type is not known or that the user didn't provide this field in the request.",
 "Cloud SQL product area in Google Cloud",
 "AlloyDB product area in Google Cloud",
 "Spanner product area in Google Cloud",
+"Deprecated: Use PRODUCT_TYPE_CLOUDSQL with instance type as EXTERNAL_PRIMARY instead. On premises database product.",
 "Bigtable product area in Google Cloud",
 "Memorystore product area in Google Cloud",
 "Firestore product area in Google Cloud",
@@ -1516,6 +1658,7 @@ false
 "SIGNAL_TYPE_UNSPECIFIED",
 "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
 "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
+"SIGNAL_TYPE_NO_PROMOTABLE_REPLICA",
 "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
 "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
 "SIGNAL_TYPE_LAST_BACKUP_FAILED",
@@ -1558,6 +1701,7 @@ false
 "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
 "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
 "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
+"SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING",
 "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
 "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
 "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
@@ -1607,20 +1751,134 @@ false
 "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
 "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
 "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
+"SIGNAL_TYPE_MANY_IDLE_CONNECTIONS",
 "SIGNAL_TYPE_REPLICATION_LAG",
+"SIGNAL_TYPE_OUTDATED_VERSION",
 "SIGNAL_TYPE_OUTDATED_CLIENT",
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
+"SIGNAL_TYPE_PERFORMANCE_KPI_CHANGE",
 "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
 "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
 "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
 "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
 ],
+"enumDeprecated": [
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
 "Unspecified.",
 "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.",
 "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
+"Deprecated: This signal is not supported. Represents if a resource has a promotable replica.",
 "Represents if a resource has an automated backup policy.",
 "Represents if a resources has a short backup retention period.",
 "Represents if the last backup of a resource failed.",
@@ -1663,6 +1921,7 @@ false
 "Represents if a Cloud SQL database has a weak password configured for the root account.",
 "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
 "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
+"Deprecated: This signal is not supported. Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
 "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
@@ -1712,11 +1971,14 @@ false
 "Location org policy not satisfied.",
 "Outdated DB minor version.",
 "Schema not optimized.",
+"Deprecated: This signal is not supported. High number of idle connections.",
 "Replication delay.",
+"Deprecated: This signal is not supported. Outdated version.",
 "Outdated client.",
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
+"Represents a change in performance KPIs.",
 "Represents a database version nearing end of life.",
 "Indicates a high risk of maintenance downtime.",
 "Indicates both a low cache hit rate and a risk of maintenance downtime.",
@@ -1990,6 +2252,8 @@ false
 "ENGINE_POSTGRES",
 "ENGINE_SQL_SERVER",
 "ENGINE_NATIVE",
+"ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT",
+"ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT",
 "ENGINE_MEMORYSTORE_FOR_REDIS",
 "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER",
 "ENGINE_MEMORSTORE_FOR_VALKEY",
@@ -2007,6 +2271,8 @@ false,
 false,
 false,
 false,
+true,
+true,
 false,
 false,
 true,
@@ -2024,6 +2290,8 @@ false
 "Postgres binary running as engine in database instance.",
 "SQLServer binary running as engine in database instance.",
 "Native database binary running as engine in instance.",
+"Deprecated: Use ENGINE_NATIVE instead for PRODUCT_TYPE_SPANNER. Cloud Spanner with PostgreSQL dialect.",
+"Deprecated: Use ENGINE_NATIVE instead for PRODUCT_TYPE_SPANNER. Cloud Spanner with Google SQL dialect.",
 "Memorystore with Redis dialect.",
 "Memorystore with Redis cluster dialect.",
 "Deprecated: Use ENGINE_MEMORYSTORE_FOR_VALKEY instead.",
@@ -2048,6 +2316,7 @@ false
 "PRODUCT_TYPE_CLOUD_SQL",
 "PRODUCT_TYPE_ALLOYDB",
 "PRODUCT_TYPE_SPANNER",
+"PRODUCT_TYPE_ON_PREM",
 "PRODUCT_TYPE_BIGTABLE",
 "PRODUCT_TYPE_MEMORYSTORE",
 "PRODUCT_TYPE_FIRESTORE",
@@ -2056,11 +2325,26 @@ false
 "PRODUCT_TYPE_BIGQUERY",
 "PRODUCT_TYPE_OTHER"
 ],
+"enumDeprecated": [
+false,
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
 "PRODUCT_TYPE_UNSPECIFIED means product type is not known or that the user didn't provide this field in the request.",
 "Cloud SQL product area in Google Cloud",
 "AlloyDB product area in Google Cloud",
 "Spanner product area in Google Cloud",
+"Deprecated: Use PRODUCT_TYPE_CLOUDSQL with instance type as EXTERNAL_PRIMARY instead. On premises database product.",
 "Bigtable product area in Google Cloud",
 "Memorystore product area in Google Cloud",
 "Firestore product area in Google Cloud",
@@ -2631,6 +2915,7 @@ false
 "SIGNAL_TYPE_UNSPECIFIED",
 "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
 "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
+"SIGNAL_TYPE_NO_PROMOTABLE_REPLICA",
 "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
 "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
 "SIGNAL_TYPE_LAST_BACKUP_FAILED",
@@ -2673,6 +2958,7 @@ false
 "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
 "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
 "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
+"SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING",
 "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
 "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
 "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
@@ -2722,20 +3008,134 @@ false
 "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
 "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
 "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
+"SIGNAL_TYPE_MANY_IDLE_CONNECTIONS",
 "SIGNAL_TYPE_REPLICATION_LAG",
+"SIGNAL_TYPE_OUTDATED_VERSION",
 "SIGNAL_TYPE_OUTDATED_CLIENT",
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
+"SIGNAL_TYPE_PERFORMANCE_KPI_CHANGE",
 "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
 "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
 "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
 "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
 ],
-"enumDescriptions": [
-"Unspecified.",
-"Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.",
-"Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
+"enumDeprecated": [
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false
+],
+"enumDescriptions": [
+"Unspecified.",
+"Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.",
+"Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
+"Deprecated: This signal is not supported. Represents if a resource has a promotable replica.",
 "Represents if a resource has an automated backup policy.",
 "Represents if a resources has a short backup retention period.",
 "Represents if the last backup of a resource failed.",
@@ -2778,6 +3178,7 @@ false
 "Represents if a Cloud SQL database has a weak password configured for the root account.",
 "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
 "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
+"Deprecated: This signal is not supported. Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
 "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
@@ -2827,11 +3228,14 @@ false
 "Location org policy not satisfied.",
 "Outdated DB minor version.",
 "Schema not optimized.",
+"Deprecated: This signal is not supported. High number of idle connections.",
 "Replication delay.",
+"Deprecated: This signal is not supported. Outdated version.",
 "Outdated client.",
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
+"Represents a change in performance KPIs.",
 "Represents a database version nearing end of life.",
 "Indicates a high risk of maintenance downtime.",
 "Indicates both a low cache hit rate and a risk of maintenance downtime.",
@@ -2870,6 +3274,7 @@ false
 "SIGNAL_TYPE_UNSPECIFIED",
 "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
 "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
+"SIGNAL_TYPE_NO_PROMOTABLE_REPLICA",
 "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
 "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
 "SIGNAL_TYPE_LAST_BACKUP_FAILED",
@@ -2912,6 +3317,7 @@ false
 "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
 "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
 "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
+"SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING",
 "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
 "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
 "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
@@ -2961,20 +3367,134 @@ false
 "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
 "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
 "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
+"SIGNAL_TYPE_MANY_IDLE_CONNECTIONS",
 "SIGNAL_TYPE_REPLICATION_LAG",
+"SIGNAL_TYPE_OUTDATED_VERSION",
 "SIGNAL_TYPE_OUTDATED_CLIENT",
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
+"SIGNAL_TYPE_PERFORMANCE_KPI_CHANGE",
 "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
 "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
 "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
 "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
 ],
+"enumDeprecated": [
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
 "Unspecified.",
 "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.",
 "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
+"Deprecated: This signal is not supported. Represents if a resource has a promotable replica.",
 "Represents if a resource has an automated backup policy.",
 "Represents if a resources has a short backup retention period.",
 "Represents if the last backup of a resource failed.",
@@ -3017,6 +3537,7 @@ false
 "Represents if a Cloud SQL database has a weak password configured for the root account.",
 "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
 "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
+"Deprecated: This signal is not supported. Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
 "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
@@ -3066,11 +3587,14 @@ false
 "Location org policy not satisfied.",
 "Outdated DB minor version.",
 "Schema not optimized.",
+"Deprecated: This signal is not supported. High number of idle connections.",
 "Replication delay.",
+"Deprecated: This signal is not supported. Outdated version.",
 "Outdated client.",
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
+"Represents a change in performance KPIs.",
 "Represents a database version nearing end of life.",
 "Indicates a high risk of maintenance downtime.",
 "Indicates both a low cache hit rate and a risk of maintenance downtime.",
@@ -3121,6 +3645,7 @@ false
 "SIGNAL_TYPE_UNSPECIFIED",
 "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
 "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
+"SIGNAL_TYPE_NO_PROMOTABLE_REPLICA",
 "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
 "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
 "SIGNAL_TYPE_LAST_BACKUP_FAILED",
@@ -3163,6 +3688,7 @@ false
 "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
 "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
 "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
+"SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING",
 "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
 "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
 "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
@@ -3212,20 +3738,134 @@ false
 "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
 "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
 "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
+"SIGNAL_TYPE_MANY_IDLE_CONNECTIONS",
 "SIGNAL_TYPE_REPLICATION_LAG",
+"SIGNAL_TYPE_OUTDATED_VERSION",
 "SIGNAL_TYPE_OUTDATED_CLIENT",
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
+"SIGNAL_TYPE_PERFORMANCE_KPI_CHANGE",
 "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
 "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
 "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
 "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
 ],
+"enumDeprecated": [
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
 "Unspecified.",
 "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.",
 "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
+"Deprecated: This signal is not supported. Represents if a resource has a promotable replica.",
 "Represents if a resource has an automated backup policy.",
 "Represents if a resources has a short backup retention period.",
 "Represents if the last backup of a resource failed.",
@@ -3268,6 +3908,7 @@ false
 "Represents if a Cloud SQL database has a weak password configured for the root account.",
 "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
 "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
+"Deprecated: This signal is not supported. Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
 "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
@@ -3317,11 +3958,14 @@ false
 "Location org policy not satisfied.",
 "Outdated DB minor version.",
 "Schema not optimized.",
+"Deprecated: This signal is not supported. High number of idle connections.",
 "Replication delay.",
+"Deprecated: This signal is not supported. Outdated version.",
 "Outdated client.",
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
+"Represents a change in performance KPIs.",
 "Represents a database version nearing end of life.",
 "Indicates a high risk of maintenance downtime.",
 "Indicates both a low cache hit rate and a risk of maintenance downtime.",
@@ -3347,6 +3991,7 @@ false
 "SIGNAL_TYPE_UNSPECIFIED",
 "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
 "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
+"SIGNAL_TYPE_NO_PROMOTABLE_REPLICA",
 "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
 "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
 "SIGNAL_TYPE_LAST_BACKUP_FAILED",
@@ -3389,6 +4034,7 @@ false
 "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
 "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
 "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
+"SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING",
 "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
 "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
 "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
@@ -3438,20 +4084,134 @@ false
 "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
 "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
 "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
+"SIGNAL_TYPE_MANY_IDLE_CONNECTIONS",
 "SIGNAL_TYPE_REPLICATION_LAG",
+"SIGNAL_TYPE_OUTDATED_VERSION",
 "SIGNAL_TYPE_OUTDATED_CLIENT",
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
+"SIGNAL_TYPE_PERFORMANCE_KPI_CHANGE",
 "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
 "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
 "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
 "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
 ],
+"enumDeprecated": [
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+true,
+false,
+true,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
 "Unspecified.",
 "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.",
 "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
+"Deprecated: This signal is not supported. Represents if a resource has a promotable replica.",
 "Represents if a resource has an automated backup policy.",
 "Represents if a resources has a short backup retention period.",
 "Represents if the last backup of a resource failed.",
@@ -3494,6 +4254,7 @@ false
 "Represents if a Cloud SQL database has a weak password configured for the root account.",
 "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
 "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
+"Deprecated: This signal is not supported. Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
 "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
 "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
@@ -3543,11 +4304,14 @@ false
 "Location org policy not satisfied.",
 "Outdated DB minor version.",
 "Schema not optimized.",
+"Deprecated: This signal is not supported. High number of idle connections.",
 "Replication delay.",
+"Deprecated: This signal is not supported. Outdated version.",
 "Outdated client.",
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
+"Represents a change in performance KPIs.",
 "Represents a database version nearing end of life.",
 "Indicates a high risk of maintenance downtime.",
 "Indicates both a low cache hit rate and a risk of maintenance downtime.",
diff --git a/googleapiclient/discovery_cache/documents/dfareporting.v5.json b/googleapiclient/discovery_cache/documents/dfareporting.v5.json
index 0a25c02afa..71c05c5531 100644
--- a/googleapiclient/discovery_cache/documents/dfareporting.v5.json
+++ b/googleapiclient/discovery_cache/documents/dfareporting.v5.json
@@ -8806,7 +8806,7 @@
 "studioCreativeAssets": {
 "methods": {
 "insert": {
-"description": "Inserts a new studio creative asset.",
+"description": "Inserts a new studio creative asset. Requests to upload an asset file must be sent to the upload URI using multipart media upload (or resumable media upload). For [multipart uploads](https://developers.google.com/doubleclick-advertisers/upload#multipart) (`uploadType=multipart`), the request uses `multipart/related` and includes two parts: * **Metadata**: A JSON object representing DfareportingStudioCreativeAssetsInsertRequest with `studioAdvertiserId`, and optional `studioAccountId` and `studioCreativeId`. * **Media**: The binary data of the asset file, specifying the `Content-Type` of the asset and a `Content-Disposition` header with `name=\"media\"` and `filename=\"\"` (for example, `Content-Disposition: form-data; name=\"media\"; filename=\"asset.jpg\"`).",
 "flatPath": "studio/creativeAssets",
 "httpMethod": "POST",
 "id": "dfareporting.studioCreativeAssets.insert",
@@ -10123,7 +10123,7 @@
 }
 }
 },
-"revision": "20261023",
+"revision": "20261107",
 "rootUrl": "https://dfareporting.googleapis.com/",
 "schemas": {
 "Account": {
diff --git a/googleapiclient/discovery_cache/documents/dlp.v2.json b/googleapiclient/discovery_cache/documents/dlp.v2.json
index c9dfb51345..7c9116085f 100644
--- a/googleapiclient/discovery_cache/documents/dlp.v2.json
+++ b/googleapiclient/discovery_cache/documents/dlp.v2.json
@@ -5274,7 +5274,7 @@
 }
 }
 },
-"revision": "20261028",
+"revision": "20261031",
 "rootUrl": "https://dlp.googleapis.com/",
 "schemas": {
 "GooglePrivacyDlpV2Action": {
@@ -5994,7 +5994,7 @@
 "csv",
 "tsv",
 "Audio file types. Only used for profiling.",
-"Video file types. Only used for profiling.",
+"Video file types.",
 "Executable file types. Only used for profiling.",
 "AI model file types. Only used for profiling.",
 "TIFF image format."
@@ -6266,7 +6266,7 @@
 "Includes all files.",
 "Includes all file extensions not covered by another entry. Binary scanning attempts to convert the content of the file to utf_8 to scan the file. If you wish to avoid this fall back, specify one or more of the other file types in your storage scan.",
 "Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, xhtml, lhs, ics, ini, java, js, json, jsonl, kix, kml, ocaml, md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml.",
-"Included file extensions: bmp, gif, jpg, jpeg, jpe, png. Setting bytes_limit_per_file or bytes_limit_per_file_percent has no effect on image files. Image inspection is restricted to the `global`, `us`, `asia`, and `europe` regions.",
+"Included file extensions: bmp, gif, jpg, jpeg, jpe, png, tif, tiff. Setting bytes_limit_per_file or bytes_limit_per_file_percent has no effect on image files. Image inspection is restricted to the `global`, `us`, `asia`, and `europe` regions.",
 "Microsoft Word files larger than 30 MB will be scanned as binary files. Included file extensions: docx, dotx, docm, dotm. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on Word files.",
 "PDF files larger than 30 MB will be scanned as binary files. Included file extensions: pdf. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on PDF files.",
 "Included file extensions: avro",
@@ -7730,7 +7730,7 @@
 "Includes all files.",
 "Includes all file extensions not covered by another entry. Binary scanning attempts to convert the content of the file to utf_8 to scan the file. If you wish to avoid this fall back, specify one or more of the other file types in your storage scan.",
 "Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, xhtml, lhs, ics, ini, java, js, json, jsonl, kix, kml, ocaml, md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml.",
-"Included file extensions: bmp, gif, jpg, jpeg, jpe, png. Setting bytes_limit_per_file or bytes_limit_per_file_percent has no effect on image files. Image inspection is restricted to the `global`, `us`, `asia`, and `europe` regions.",
+"Included file extensions: bmp, gif, jpg, jpeg, jpe, png, tif, tiff. Setting bytes_limit_per_file or bytes_limit_per_file_percent has no effect on image files. Image inspection is restricted to the `global`, `us`, `asia`, and `europe` regions.",
 "Microsoft Word files larger than 30 MB will be scanned as binary files. Included file extensions: docx, dotx, docm, dotm. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on Word files.",
 "PDF files larger than 30 MB will be scanned as binary files. Included file extensions: pdf. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` has no effect on PDF files.",
 "Included file extensions: avro",
diff --git a/googleapiclient/discovery_cache/documents/drive.v3.json b/googleapiclient/discovery_cache/documents/drive.v3.json
index f85e938028..67b8788302 100644
--- a/googleapiclient/discovery_cache/documents/drive.v3.json
+++ b/googleapiclient/discovery_cache/documents/drive.v3.json
@@ -3044,7 +3044,7 @@
 }
 }
 },
-"revision": "20261023",
+"revision": "20261106",
 "rootUrl": "https://www.googleapis.com/",
 "schemas": {
 "About": {
@@ -3429,6 +3429,10 @@
 "description": "The approval ID.",
 "type": "string"
 },
+"approvedRevisionId": {
+"description": "The revision ID of the file when the approval completed successfully. This is only set when the approval status is APPROVED.",
+"type": "string"
+},
 "completeTime": {
 "description": "The time the approval was completed.",
 "format": "google-datetime",
diff --git a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json
index 91beff596a..2a80020b8e 100644
--- a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json
@@ -111,7 +111,7 @@
 "jwks": {
 "methods": {
 "get": {
-"description": "Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.",
+"description": "Returns a public JWK set as specified by [RFC 7517](https://www.rfc-editor.org/info/rfc7517/) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.",
 "flatPath": "v1/jwks",
 "httpMethod": "GET",
 "id": "firebaseappcheck.jwks.get",
@@ -1564,7 +1564,7 @@
 }
 }
 },
-"revision": "20260918",
+"revision": "20261106",
 "rootUrl": "https://firebaseappcheck.googleapis.com/",
 "schemas": {
 "GoogleFirebaseAppcheckV1AppAttestConfig": {
@@ -1588,7 +1588,7 @@
 "id": "GoogleFirebaseAppcheckV1AppCheckToken",
 "properties": {
 "token": {
-"description": "The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.",
+"description": "The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.",
 "type": "string"
 },
 "ttl": {
@@ -2173,42 +2173,42 @@
 "type": "object"
 },
 "GoogleFirebaseAppcheckV1PublicJwk": {
-"description": "A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1).",
+"description": "A JWK as specified by [section 4 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4) and [section 6.3.1 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1).",
 "id": "GoogleFirebaseAppcheckV1PublicJwk",
 "properties": {
 "alg": {
-"description": "See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4).",
+"description": "See [section 4.4 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.4).",
 "type": "string"
 },
 "e": {
-"description": "See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2).",
+"description": "See [section 6.3.1.2 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1.2).",
 "type": "string"
 },
 "kid": {
-"description": "See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5).",
+"description": "See [section 4.5 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.5).",
 "type": "string"
 },
 "kty": {
-"description": "See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1).",
+"description": "See [section 4.1 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.1).",
 "type": "string"
 },
 "n": {
-"description": "See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1).",
+"description": "See [section 6.3.1.1 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1.1).",
 "type": "string"
 },
 "use": {
-"description": "See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2).",
+"description": "See [section 4.2 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.2).",
 "type": "string"
 }
 },
 "type": "object"
 },
 "GoogleFirebaseAppcheckV1PublicJwkSet": {
-"description": "The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours.",
+"description": "The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://www.rfc-editor.org/info/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours.",
 "id": "GoogleFirebaseAppcheckV1PublicJwkSet",
 "properties": {
 "keys": {
-"description": "The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5).",
+"description": "The set of public keys. See [section 5.1 of RFC 7517](https://www.rfc-editor.org/info/rfc7517#section-5).",
 "items": {
 "$ref": "GoogleFirebaseAppcheckV1PublicJwk"
 },
diff --git a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json
index 57594a892e..f862fa6bf9 100644
--- a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json
@@ -111,7 +111,7 @@
 "jwks": {
 "methods": {
 "get": {
-"description": "Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.",
+"description": "Returns a public JWK set as specified by [RFC 7517](https://www.rfc-editor.org/info/rfc7517/) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.",
 "flatPath": "v1beta/jwks",
 "httpMethod": "GET",
 "id": "firebaseappcheck.jwks.get",
@@ -1932,7 +1932,7 @@
 }
 }
 },
-"revision": "20261010",
+"revision": "20261106",
 "rootUrl": "https://firebaseappcheck.googleapis.com/",
 "schemas": {
 "GoogleFirebaseAppcheckV1betaAppAttestConfig": {
@@ -1957,11 +1957,11 @@
 "properties": {
 "attestationToken": {
 "deprecated": true,
-"description": "The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.",
+"description": "The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.",
 "type": "string"
 },
 "token": {
-"description": "The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.",
+"description": "The App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.",
 "type": "string"
 },
 "ttl": {
@@ -1978,7 +1978,7 @@
 "id": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse",
 "properties": {
 "attestationToken": {
-"description": "An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.",
+"description": "An App Check token. App Check tokens are signed [JWTs](https://www.rfc-editor.org/info/rfc7519/) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.",
 "type": "string"
 },
 "ttl": {
@@ -2677,42 +2677,42 @@
 "type": "object"
 },
 "GoogleFirebaseAppcheckV1betaPublicJwk": {
-"description": "A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1).",
+"description": "A JWK as specified by [section 4 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4) and [section 6.3.1 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1).",
 "id": "GoogleFirebaseAppcheckV1betaPublicJwk",
 "properties": {
 "alg": {
-"description": "See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4).",
+"description": "See [section 4.4 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.4).",
 "type": "string"
 },
 "e": {
-"description": "See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2).",
+"description": "See [section 6.3.1.2 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1.2).",
 "type": "string"
 },
 "kid": {
-"description": "See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5).",
+"description": "See [section 4.5 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.5).",
 "type": "string"
 },
 "kty": {
-"description": "See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1).",
+"description": "See [section 4.1 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.1).",
 "type": "string"
 },
 "n": {
-"description": "See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1).",
+"description": "See [section 6.3.1.1 of RFC 7518](https://www.rfc-editor.org/info/rfc7518/#section-6.3.1.1).",
 "type": "string"
 },
 "use": {
-"description": "See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2).",
+"description": "See [section 4.2 of RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-4.2).",
 "type": "string"
 }
 },
 "type": "object"
 },
 "GoogleFirebaseAppcheckV1betaPublicJwkSet": {
-"description": "The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours.",
+"description": "The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://www.rfc-editor.org/info/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours.",
 "id": "GoogleFirebaseAppcheckV1betaPublicJwkSet",
 "properties": {
 "keys": {
-"description": "The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5).",
+"description": "The set of public keys. See [section 5.1 of RFC 7517](https://www.rfc-editor.org/info/rfc7517#section-5).",
 "items": {
 "$ref": "GoogleFirebaseAppcheckV1betaPublicJwk"
 },
diff --git a/googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json b/googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json
index 1b29d10961..3c8fea47ff 100644
--- a/googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json
@@ -1502,7 +1502,7 @@
 }
 }
 },
-"revision": "20261011",
+"revision": "20261101",
 "rootUrl": "https://firebasedataconnect.googleapis.com/",
 "schemas": {
 "CancelOperationRequest": {
@@ -2590,7 +2590,7 @@
 "type": "object"
 },
 "connectors": {
-"description": "Output only. The list of connectors in this service.",
+"description": "Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource.",
 "items": {
 "$ref": "Connector"
 },
@@ -2633,7 +2633,7 @@
 "type": "boolean"
 },
 "schemas": {
-"description": "Optional. The list of schemas in this service.",
+"description": "Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource.",
 "items": {
 "$ref": "Schema"
 },
diff --git a/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json b/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json
index a03757959c..aa3c807b95 100644
--- a/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json
@@ -1502,7 +1502,7 @@
 }
 }
 },
-"revision": "20261011",
+"revision": "20261101",
 "rootUrl": "https://firebasedataconnect.googleapis.com/",
 "schemas": {
 "CancelOperationRequest": {
@@ -2590,7 +2590,7 @@
 "type": "object"
 },
 "connectors": {
-"description": "Output only. The list of connectors in this service.",
+"description": "Output only. The list of connectors in this service. Connectors returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetConnector` to retrieve the complete resource.",
 "items": {
 "$ref": "Connector"
 },
@@ -2633,7 +2633,7 @@
 "type": "boolean"
 },
 "schemas": {
-"description": "Optional. The list of schemas in this service.",
+"description": "Optional. The list of schemas in this service. Schemas returned in this collection are a summary view. Authoritative lifecycle metadata and entity tags are omitted from embedded representations. Call `GetSchema` to retrieve the complete resource.",
 "items": {
 "$ref": "Schema"
 },
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
index c793b6bb28..b2550c6976 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
@@ -2740,7 +2740,7 @@
 }
 }
 },
-"revision": "20261025",
+"revision": "20261031",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceFeatureSpec": {
@@ -8075,6 +8075,7 @@ false
 "MODERNIZATION_INCOMPATIBLE_CONFIG",
 "MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_REQUIRES_MANUAL_WORKLOAD_RESTART",
+"MODERNIZATION_UNEVICTABLE_POD_DISRUPTION_BUDGET",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -8145,6 +8146,7 @@ false
 "Incompatible config found in the cluster.",
 "Gateway pods per cluster limit exceeded.",
 "Cluster contains workloads that will require manual restart during modernization.",
+"Cluster contains PodDisruptionBudgets that prevent automated pod eviction during modernization.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
@@ -8347,6 +8349,7 @@ false
 "MODERNIZATION_INCOMPATIBLE_CONFIG",
 "MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_REQUIRES_MANUAL_WORKLOAD_RESTART",
+"MODERNIZATION_UNEVICTABLE_POD_DISRUPTION_BUDGET",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -8417,6 +8420,7 @@ false
 "Incompatible config found in the cluster.",
 "Gateway pods per cluster limit exceeded.",
 "Cluster contains workloads that will require manual restart during modernization.",
+"Cluster contains PodDisruptionBudgets that prevent automated pod eviction during modernization.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
index ed8c5bc251..56a6f1a5d1 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
@@ -2596,7 +2596,7 @@
 }
 }
 },
-"revision": "20261025",
+"revision": "20261031",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceFeatureSpec": {
@@ -7618,6 +7618,7 @@ false
 "MODERNIZATION_INCOMPATIBLE_CONFIG",
 "MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_REQUIRES_MANUAL_WORKLOAD_RESTART",
+"MODERNIZATION_UNEVICTABLE_POD_DISRUPTION_BUDGET",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -7688,6 +7689,7 @@ false
 "Incompatible config found in the cluster.",
 "Gateway pods per cluster limit exceeded.",
 "Cluster contains workloads that will require manual restart during modernization.",
+"Cluster contains PodDisruptionBudgets that prevent automated pod eviction during modernization.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
@@ -7890,6 +7892,7 @@ false
 "MODERNIZATION_INCOMPATIBLE_CONFIG",
 "MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_REQUIRES_MANUAL_WORKLOAD_RESTART",
+"MODERNIZATION_UNEVICTABLE_POD_DISRUPTION_BUDGET",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -7960,6 +7963,7 @@ false
 "Incompatible config found in the cluster.",
 "Gateway pods per cluster limit exceeded.",
 "Cluster contains workloads that will require manual restart during modernization.",
+"Cluster contains PodDisruptionBudgets that prevent automated pod eviction during modernization.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2.json b/googleapiclient/discovery_cache/documents/gkehub.v2.json
index c85f39898e..80ac4dc6fd 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v2.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v2.json
@@ -554,7 +554,7 @@
 }
 }
 },
-"revision": "20261017",
+"revision": "20261031",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceState": {
@@ -3161,6 +3161,7 @@
 "MODERNIZATION_INCOMPATIBLE_CONFIG",
 "MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_REQUIRES_MANUAL_WORKLOAD_RESTART",
+"MODERNIZATION_UNEVICTABLE_POD_DISRUPTION_BUDGET",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -3231,6 +3232,7 @@
 "Incompatible config found in the cluster.",
 "Gateway pods per cluster limit exceeded.",
 "Cluster contains workloads that will require manual restart during modernization.",
+"Cluster contains PodDisruptionBudgets that prevent automated pod eviction during modernization.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json
index 3d681941a4..43e57401da 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json
@@ -554,7 +554,7 @@
 }
 }
 },
-"revision": "20261017",
+"revision": "20261031",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceState": {
@@ -3161,6 +3161,7 @@
 "MODERNIZATION_INCOMPATIBLE_CONFIG",
 "MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_REQUIRES_MANUAL_WORKLOAD_RESTART",
+"MODERNIZATION_UNEVICTABLE_POD_DISRUPTION_BUDGET",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -3231,6 +3232,7 @@
 "Incompatible config found in the cluster.",
 "Gateway pods per cluster limit exceeded.",
 "Cluster contains workloads that will require manual restart during modernization.",
+"Cluster contains PodDisruptionBudgets that prevent automated pod eviction during modernization.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
diff --git a/googleapiclient/discovery_cache/documents/homegraph.v1.json b/googleapiclient/discovery_cache/documents/homegraph.v1.json
index 87079e90cd..6aacf73128 100644
--- a/googleapiclient/discovery_cache/documents/homegraph.v1.json
+++ b/googleapiclient/discovery_cache/documents/homegraph.v1.json
@@ -216,7 +216,7 @@
 }
 }
 },
-"revision": "20261023",
+"revision": "20261102",
 "rootUrl": "https://homegraph.googleapis.com/",
 "schemas": {
 "AgentDeviceId": {
@@ -700,7 +700,7 @@ true
 "type": "object"
 },
 "JsonTrait": {
-"description": "Dynamic JSON trait state payload conforming to `json_trait_schema.md`. Used for Category 2 (vendor Matter clusters) and Category 3 (non-Matter capabilities) traits across all wire and internal paths, and for Category 1 traits on external JSON-only wire paths (e.g., `Query` with `JSON_TRAIT_ONLY`).",
+"description": "Represents a dynamic JSON trait state payload that conforms to `json_trait_schema.md`. This message is used for Category 2 (vendor Matter clusters) and Category 3 (non-Matter capabilities) traits across all wire and internal paths, and for Category 1 traits on external JSON-only wire paths (for example, `Query` with `JSON_TRAIT_ONLY`).",
 "id": "JsonTrait",
 "properties": {
 "data": {
@@ -708,18 +708,18 @@ true
 "description": "Properties of the object.",
 "type": "any"
 },
-"description": "Optional. Trait attribute map conforming to the trait's registered JSON Schema.",
+"description": "Optional. Holds the trait attributes, which conform to the trait's registered JSON Schema.",
 "type": "object"
 },
 "id": {
-"description": "Required. Canonical symbolic trait ID per `json_trait_schema.md`: - Standard Matter (Cat 1): `matter.` (e.g., `matter.thermostat`) - Google / vendor Matter (Cat 1/2): `matter..` (e.g., `matter.google.`, `matter.eve.utility`) - Non-Matter (Cat 3, any provider incl. Google): `ghp..` (e.g., `ghp.acme.warranty`, `ghp.google.`)",
+"description": "Required. Identifies the trait by its canonical four-segment capability ID, `capability...`: * Standard or Google Matter (Category 1): `capability.matter.standard.` or `capability.matter.google.`, for example `capability.matter.standard.Thermostat`. * Vendor Matter (Category 2): `capability.matter..`. * Non-Matter (Category 3, from any provider including Google): `capability.generic..`, for example `capability.generic.acme.Warranty`.",
 "type": "string"
 }
 },
 "type": "object"
 },
 "JsonTraitEvent": {
-"description": "Dynamic JSON event payload conforming to `json_trait_schema.md`.",
+"description": "Represents a dynamic JSON event payload that conforms to `json_trait_schema.md`.",
 "id": "JsonTraitEvent",
 "properties": {
 "data": {
@@ -727,11 +727,11 @@ true
 "description": "Properties of the object.",
 "type": "any"
 },
-"description": "Optional. Event payload fields conforming to the event's registered JSON Schema.",
+"description": "Optional. Holds the event payload fields, which conform to the event's registered JSON Schema.",
 "type": "object"
 },
 "id": {
-"description": "Required. Fully qualified event ID: `.` (e.g., `matter.doorLock.lockOperation`, `ghp.acme.warranty.claimUpdated`).",
+"description": "Required. Identifies the event as `.`, where `` is the PascalCase key in the schema's `x-capability-info.events`, for example `capability.matter.standard.DoorLock.LockOperation` or `capability.generic.acme.Warranty.ClaimUpdated`.",
 "type": "string"
 }
 },
diff --git a/googleapiclient/discovery_cache/documents/identitytoolkit.v1.json b/googleapiclient/discovery_cache/documents/identitytoolkit.v1.json
index f65e8b5a5f..edbc7e2a1b 100644
--- a/googleapiclient/discovery_cache/documents/identitytoolkit.v1.json
+++ b/googleapiclient/discovery_cache/documents/identitytoolkit.v1.json
@@ -1239,7 +1239,7 @@
 }
 }
 },
-"revision": "20260311",
+"revision": "20261026",
 "rootUrl": "https://identitytoolkit.googleapis.com/",
 "schemas": {
 "GoogleCloudIdentitytoolkitV1Argon2Parameters": {
@@ -1694,6 +1694,7 @@
 "type": "array"
 },
 "federatedUserId": {
+"description": "The federated user identifier of one or more accounts to fetch. Should only be specified by authenticated requests bearing a Google OAuth 2.0 credential with proper [permissions](https://cloud.google.com/identity-platform/docs/access-control).",
 "items": {
 "$ref": "GoogleCloudIdentitytoolkitV1FederatedUserIdentifier"
 },
@@ -2278,6 +2279,7 @@ true
 "id": "GoogleCloudIdentitytoolkitV1QueryUserInfoRequest",
 "properties": {
 "expression": {
+"description": "Query conditions used to filter results. If more than one is passed, only the first SqlExpression is evaluated.",
 "items": {
 "$ref": "GoogleCloudIdentitytoolkitV1SqlExpression"
 },
@@ -2294,6 +2296,7 @@ true
 "type": "string"
 },
 "order": {
+"description": "The order for sorting query result. Defaults to __ascending__ order. Only valid when `return_user_info` is set to `true`.",
 "enum": [
 "ORDER_UNSPECIFIED",
 "ASC",
@@ -2311,6 +2314,7 @@ true
 "type": "boolean"
 },
 "sortBy": {
+"description": "The field to use for sorting user accounts. Defaults to `USER_ID`. Note: when `phone_number` is specified in `expression`, the result ignores the sorting. Only valid when `return_user_info` is set to `true`.",
 "enum": [
 "SORT_BY_FIELD_UNSPECIFIED",
 "USER_ID",
@@ -2548,6 +2552,7 @@ true
 "type": "string"
 },
 "deleteAttribute": {
+"description": "The account's attributes to be deleted.",
 "items": {
 "enum": [
 "USER_ATTRIBUTE_NAME_UNSPECIFIED",
@@ -3636,6 +3641,7 @@ true
 "type": "integer"
 },
 "passwordHashOrder": {
+"description": "Password and salt order when verify password.",
 "enum": [
 "UNSPECIFIED_ORDER",
 "SALT_AND_PASSWORD",
diff --git a/googleapiclient/discovery_cache/documents/managedkafka.v1.json b/googleapiclient/discovery_cache/documents/managedkafka.v1.json
index efef1da2bf..069da4c832 100644
--- a/googleapiclient/discovery_cache/documents/managedkafka.v1.json
+++ b/googleapiclient/discovery_cache/documents/managedkafka.v1.json
@@ -3186,7 +3186,7 @@
 }
 }
 },
-"revision": "20260904",
+"revision": "20261029",
 "rootUrl": "https://managedkafka.googleapis.com/",
 "schemas": {
 "AccessConfig": {
@@ -3449,7 +3449,7 @@
 "description": "Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform."
 },
 "kafkaVersion": {
-"description": "Optional. The Apache Kafka version of the cluster (for example, `3.7.x`, `4.3.x`). If not specified during cluster creation, defaults to `3.7.x`.",
+"description": "Optional. The Apache Kafka version of the cluster. Specifically, this value is the finalized metadata version. If not specified during cluster creation, defaults to `3.7.x`. Supported values: `3.7.x`.",
 "type": "string"
 },
 "labels": {
diff --git a/googleapiclient/discovery_cache/documents/meet.v2.json b/googleapiclient/discovery_cache/documents/meet.v2.json
index 85c21f6d1f..5115b090ca 100644
--- a/googleapiclient/discovery_cache/documents/meet.v2.json
+++ b/googleapiclient/discovery_cache/documents/meet.v2.json
@@ -860,7 +860,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Identifier. Resource name of the member. Format: spaces/{space}/members/{member}",
+"description": "Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}`",
 "location": "path",
 "pattern": "^spaces/[^/]+/members/[^/]+$",
 "required": true,
@@ -889,7 +889,7 @@
 }
 }
 },
-"revision": "20260915",
+"revision": "20261029",
 "rootUrl": "https://meet.googleapis.com/",
 "schemas": {
 "ActiveConference": {
@@ -1221,7 +1221,7 @@
 "type": "string"
 },
 "name": {
-"description": "Identifier. Resource name of the member. Format: spaces/{space}/members/{member}",
+"description": "Identifier. Resource name of the member. Format: `spaces/{space}/members/{member}`",
 "type": "string"
 },
 "role": {
@@ -1727,7 +1727,7 @@
 "type": "string"
 },
 "name": {
-"description": "Output only. Resource name of the entry. Format: \"conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}\"",
+"description": "Output only. Resource name of the entry. Format: `conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}`",
 "readOnly": true,
 "type": "string"
 },
diff --git a/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json b/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
index e06c5a294e..067ad5a5b1 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
@@ -154,7 +154,7 @@
 }
 }
 },
-"revision": "20261026",
+"revision": "20261102",
 "rootUrl": "https://mybusinessnotifications.googleapis.com/",
 "schemas": {
 "NotificationSetting": {
@@ -188,10 +188,10 @@ false,
 false,
 false,
 false,
-false,
-false,
-false,
-false,
+true,
+true,
+true,
+true,
 false,
 true,
 false
@@ -202,10 +202,10 @@ false
 "A new review has been added to the location. The review_name field on the notification will provide the resource name of the review that was added, and location_name will have the location's resource name.",
 "A review on the location has been updated. The review_name field on the notification will provide the resource name of the review that was added, and location_name will have the location's resource name.",
 "A new media item has been added to the location by a Google Maps user. The notification will provide the resource name of the new media item.",
-"A new question is added to the location. The notification will provide the resource name of question.",
-"A question of the location is updated. The notification will provide the resource name of question.",
-"A new answer is added to the location. The notification will provide the resource name of question and answer.",
-"An answer of the location is updated. The notification will provide the resource name of question and answer.",
+"Deprecated: The My Business Q&A API was discontinued on November 3, 2025. A new question is added to the location. The notification will provide the resource name of question.",
+"Deprecated: The My Business Q&A API was discontinued on November 3, 2025. A question of the location is updated. The notification will provide the resource name of question.",
+"Deprecated: The My Business Q&A API was discontinued on November 3, 2025. A new answer is added to the location. The notification will provide the resource name of question and answer.",
+"Deprecated: The My Business Q&A API was discontinued on November 3, 2025. An answer of the location is updated. The notification will provide the resource name of question and answer.",
 "Indicates whether there is a change in location metadata's duplicate location field.",
 "Deprecated: Migrate the existing usages of this value to the more expanded \"VOICE_OF_MERCHANT_UPDATED\".",
 "Indicates whether the location has an update in Voice of Merchant (VOM) status. VOM dictates whether the location is in good standing and the merchant has control over the business on Google. Any edits made to the location will propagate to Maps after passing the review phase. Call GetVoiceOfMerchantState rpc for more details."
diff --git a/googleapiclient/discovery_cache/documents/networksecurity.v1.json b/googleapiclient/discovery_cache/documents/networksecurity.v1.json
index a0b8893612..27c8fd8adf 100644
--- a/googleapiclient/discovery_cache/documents/networksecurity.v1.json
+++ b/googleapiclient/discovery_cache/documents/networksecurity.v1.json
@@ -573,7 +573,7 @@
 "firewallEndpoints": {
 "methods": {
 "create": {
-"description": "Creates a new FirewallEndpoint in a given organization and location.",
+"description": "Creates a new firewall endpoint in a given organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints",
 "httpMethod": "POST",
 "id": "networksecurity.organizations.locations.firewallEndpoints.create",
@@ -582,24 +582,24 @@
 ],
 "parameters": {
 "firewallEndpointId": {
-"description": "Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC.",
+"description": "Required. The ID to use for the firewall endpoint, which becomes the final component of the endpoint's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Value for parent.",
+"description": "Required. The parent resource where this firewall endpoint is created. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/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).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "validateOnly": {
-"description": "Optional. If set, validate the request and preview the endpoint, but do not actually create it.",
+"description": "Optional. If set, validates the request and previews the endpoint, but does not actually create it.",
 "location": "query",
 "type": "boolean"
 }
@@ -616,7 +616,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single org Endpoint.",
+"description": "Deletes a single organization endpoint.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.organizations.locations.firewallEndpoints.delete",
@@ -625,14 +625,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 }
@@ -646,7 +646,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single org Endpoint.",
+"description": "Gets details of a single organization endpoint.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.firewallEndpoints.get",
@@ -655,7 +655,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -671,7 +671,7 @@
 ]
 },
 "list": {
-"description": "Lists FirewallEndpoints in a given organization and location.",
+"description": "Lists firewall endpoints in a given organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.firewallEndpoints.list",
@@ -680,28 +680,28 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filtering results",
+"description": "Optional. Filtering results.",
 "location": "query",
 "type": "string"
 },
 "orderBy": {
-"description": "Hint for how to order the results",
+"description": "Optional. Hint for how to order the results.",
 "location": "query",
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A page token, received from a previous `ListFirewallEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpoints` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListEndpointsRequest",
+"description": "Required. The parent resource from which the firewall endpoints are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
@@ -717,7 +717,7 @@
 ]
 },
 "patch": {
-"description": "Update a single org Endpoint.",
+"description": "Updates a single organization endpoint.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.organizations.locations.firewallEndpoints.patch",
@@ -726,19 +726,19 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of resource.",
+"description": "Immutable. Identifier. The name of the resource.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "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).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the Endpoint resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.",
+"description": "Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpoint` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -760,7 +760,7 @@
 "wildfireVerdictChangeRequests": {
 "methods": {
 "create": {
-"description": "Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.",
+"description": "Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests",
 "httpMethod": "POST",
 "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.create",
@@ -769,7 +769,7 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}",
+"description": "Required. Parent value for `CreateWildfireVerdictChangeRequestRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -788,7 +788,7 @@
 ]
 },
 "get": {
-"description": "Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.",
+"description": "Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests/{wildfireVerdictChangeRequestsId}",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.get",
@@ -797,7 +797,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
+"description": "Required. The name of the `WildfireVerdictChangeRequest` to retrieve. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+/wildfireVerdictChangeRequests/[^/]+$",
 "required": true,
@@ -813,7 +813,7 @@
 ]
 },
 "list": {
-"description": "Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.",
+"description": "Lists the Advanced malware sandbox (WildFire) verdict change requests in a given firewall endpoint in an organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.list",
@@ -822,23 +822,23 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = \"...\"`) - `state` (enum, equality only, e.g. `state = \"ACTIVE\"`) - `create_time` (timestamp, comparisons, e.g. `create_time > \"2026-01-01T00:00:00Z\"`)",
+"description": "Optional. Filter expression to filter the results. Supported fields are: - `sha256` (string, equality only, for example, `sha256 = \"...\"`) - `state` (enum, equality only, valid values are `OPEN`, `CLOSED`, or `PENDING`, for example, `state = \"PENDING\"`) - `create_time` (timestamp, comparisons, for example, `create_time >= \"2026-01-01T00:00:00Z\" AND create_time <= \"2026-01-31T23:59:59Z\"`). If filtering by `create_time`, you must specify both a start time and an end time. If `create_time` is not specified, the query defaults to the past 30 days.",
 "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.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. A token identifying a page of results the server should return.",
+"description": "Optional. A page token, received from a previous `ListWildfireVerdictChangeRequests` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWildfireVerdictChangeRequests` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}",
+"description": "Required. Parent value for `ListWildfireVerdictChangeRequestsRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -988,7 +988,7 @@
 "securityProfileGroups": {
 "methods": {
 "create": {
-"description": "Creates a new SecurityProfileGroup in a given organization and location.",
+"description": "Creates a new security profile group in a given organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups",
 "httpMethod": "POST",
 "id": "networksecurity.organizations.locations.securityProfileGroups.create",
@@ -997,14 +997,14 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The parent resource of the `SecurityProfileGroup`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "securityProfileGroupId": {
-"description": "Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"security_profile_group1\".",
+"description": "Required. Short name of the `SecurityProfileGroup` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile-group1`.",
 "location": "query",
 "type": "string"
 }
@@ -1021,7 +1021,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single SecurityProfileGroup.",
+"description": "Deletes a single security profile group.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.organizations.locations.securityProfileGroups.delete",
@@ -1030,12 +1030,12 @@
 ],
 "parameters": {
 "etag": {
-"description": "Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.",
+"description": "Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.",
 "location": "query",
 "type": "string"
 },
 "name": {
-"description": "Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Required. The name of the `SecurityProfileGroup` to delete. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
@@ -1051,7 +1051,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single SecurityProfileGroup.",
+"description": "Gets details of a single security profile group.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.securityProfileGroups.get",
@@ -1060,7 +1060,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Required. The name of the `SecurityProfileGroup` to get. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
@@ -1076,7 +1076,7 @@
 ]
 },
 "list": {
-"description": "Lists SecurityProfileGroups in a given organization and location.",
+"description": "Lists security profile group resources in a given organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.securityProfileGroups.list",
@@ -1085,18 +1085,18 @@
 ],
 "parameters": {
 "pageSize": {
-"description": "Optional. Maximum number of SecurityProfileGroups to return per call.",
+"description": "Optional. Maximum number of `SecurityProfileGroup` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data.",
+"description": "Optional. A page token, received from a previous `ListSecurityProfileGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfileGroups` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The project or organization and location from which the `SecurityProfileGroup` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
@@ -1112,7 +1112,7 @@
 ]
 },
 "patch": {
-"description": "Updates the parameters of a single SecurityProfileGroup.",
+"description": "Updates the parameters of a single security profile group.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.organizations.locations.securityProfileGroups.patch",
@@ -1121,14 +1121,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
+"description": "Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfileGroup` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -1150,7 +1150,7 @@
 "securityProfiles": {
 "methods": {
 "create": {
-"description": "Creates a new SecurityProfile in a given organization and location.",
+"description": "Creates a new security profile in a given organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles",
 "httpMethod": "POST",
 "id": "networksecurity.organizations.locations.securityProfiles.create",
@@ -1159,14 +1159,14 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The parent resource of the `SecurityProfile`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "securityProfileId": {
-"description": "Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"security_profile1\".",
+"description": "Required. Short name of the `SecurityProfile` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile1`.",
 "location": "query",
 "type": "string"
 }
@@ -1183,7 +1183,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single SecurityProfile.",
+"description": "Deletes a single security profile.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.organizations.locations.securityProfiles.delete",
@@ -1192,12 +1192,12 @@
 ],
 "parameters": {
 "etag": {
-"description": "Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.",
+"description": "Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.",
 "location": "query",
 "type": "string"
 },
 "name": {
-"description": "Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.",
+"description": "Required. The name of the `SecurityProfile` to delete. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
@@ -1213,7 +1213,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single SecurityProfile.",
+"description": "Gets details of a single security profile.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.securityProfiles.get",
@@ -1222,7 +1222,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.",
+"description": "Required. The name of the `SecurityProfile` to get. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
@@ -1238,7 +1238,7 @@
 ]
 },
 "list": {
-"description": "Lists SecurityProfiles in a given organization and location.",
+"description": "Lists security profile resources in a given organization and location.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.securityProfiles.list",
@@ -1247,18 +1247,18 @@
 ],
 "parameters": {
 "pageSize": {
-"description": "Optional. Maximum number of SecurityProfiles to return per call.",
+"description": "Optional. Maximum number of `SecurityProfile` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data.",
+"description": "Optional. A page token, received from a previous `ListSecurityProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfiles` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The project or organization and location from which the `SecurityProfile` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
@@ -1274,7 +1274,7 @@
 ]
 },
 "patch": {
-"description": "Updates the parameters of a single SecurityProfile.",
+"description": "Updates the parameters of a single security profile.",
 "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.organizations.locations.securityProfiles.patch",
@@ -1283,14 +1283,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
+"description": "Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfile` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -2854,7 +2854,7 @@
 "firewallEndpointAssociations": {
 "methods": {
 "create": {
-"description": "Creates a new FirewallEndpointAssociation in a given project and location.",
+"description": "Creates a new firewall endpoint association in a given project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.create",
@@ -2863,19 +2863,19 @@
 ],
 "parameters": {
 "firewallEndpointAssociationId": {
-"description": "Optional. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_association_id from the method_signature of Create RPC.",
+"description": "Optional. The ID to use for the firewall endpoint association, which becomes the final component of the association's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Value for parent.",
+"description": "Required. The parent resource where this firewall endpoint association is created. Format: `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 }
@@ -2892,7 +2892,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single FirewallEndpointAssociation.",
+"description": "Deletes a single firewall endpoint association.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations/{firewallEndpointAssociationsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.delete",
@@ -2901,14 +2901,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpointAssociations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 }
@@ -2922,7 +2922,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single FirewallEndpointAssociation.",
+"description": "Gets details of a single firewall endpoint association.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations/{firewallEndpointAssociationsId}",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.get",
@@ -2931,7 +2931,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpointAssociations/[^/]+$",
 "required": true,
@@ -2947,7 +2947,7 @@
 ]
 },
 "list": {
-"description": "Lists Associations in a given project and location.",
+"description": "Lists associations in a given project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.list",
@@ -2956,28 +2956,28 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filtering results",
+"description": "Optional. Filtering results.",
 "location": "query",
 "type": "string"
 },
 "orderBy": {
-"description": "Hint for how to order the results",
+"description": "Hint for how to order the results.",
 "location": "query",
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A page token, received from a previous `ListFirewallEndpointAssociations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpointAssociations` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListAssociationsRequest",
+"description": "Required. The parent resource from which the firewall endpoint associations are listed. Format: `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -2993,7 +2993,7 @@
 ]
 },
 "patch": {
-"description": "Update a single FirewallEndpointAssociation.",
+"description": "Updates a single firewall endpoint association.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations/{firewallEndpointAssociationsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.patch",
@@ -3002,19 +3002,19 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. name of resource",
+"description": "Immutable. Identifier. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpointAssociations/[^/]+$",
 "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).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the Association resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.",
+"description": "Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpointAssociation` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -3036,7 +3036,7 @@
 "firewallEndpoints": {
 "methods": {
 "create": {
-"description": "Creates a new FirewallEndpoint in a given project and location.",
+"description": "Creates a new firewall endpoint in a given project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.firewallEndpoints.create",
@@ -3045,24 +3045,24 @@
 ],
 "parameters": {
 "firewallEndpointId": {
-"description": "Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC.",
+"description": "Required. The ID to use for the firewall endpoint, which becomes the final component of the endpoint's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Value for parent.",
+"description": "Required. The parent resource where this firewall endpoint is created. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "validateOnly": {
-"description": "Optional. If set, validate the request and preview the endpoint, but do not actually create it.",
+"description": "Optional. If set, validates the request and previews the endpoint, but does not actually create it.",
 "location": "query",
 "type": "boolean"
 }
@@ -3079,7 +3079,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single project Endpoint.",
+"description": "Deletes a single project endpoint.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.projects.locations.firewallEndpoints.delete",
@@ -3088,14 +3088,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 }
@@ -3109,7 +3109,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single project 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",
@@ -3118,7 +3118,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -3134,7 +3134,7 @@
 ]
 },
 "list": {
-"description": "Lists FirewallEndpoints in a given project and location.",
+"description": "Lists firewall endpoints in a given project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpoints.list",
@@ -3143,28 +3143,28 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filtering results",
+"description": "Optional. Filtering results.",
 "location": "query",
 "type": "string"
 },
 "orderBy": {
-"description": "Hint for how to order the results",
+"description": "Optional. Hint for how to order the results.",
 "location": "query",
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A page token, received from a previous `ListFirewallEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpoints` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListEndpointsRequest",
+"description": "Required. The parent resource from which the firewall endpoints are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -3180,7 +3180,7 @@
 ]
 },
 "patch": {
-"description": "Update a single project Endpoint.",
+"description": "Updates a single project endpoint.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.projects.locations.firewallEndpoints.patch",
@@ -3189,19 +3189,19 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of resource.",
+"description": "Immutable. Identifier. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "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).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the Endpoint resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.",
+"description": "Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpoint` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -3223,7 +3223,7 @@
 "wildfireVerdictChangeRequests": {
 "methods": {
 "create": {
-"description": "Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.",
+"description": "Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.create",
@@ -3232,7 +3232,7 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}",
+"description": "Required. Parent value for `CreateWildfireVerdictChangeRequestRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -3251,7 +3251,7 @@
 ]
 },
 "get": {
-"description": "Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.",
+"description": "Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests/{wildfireVerdictChangeRequestsId}",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.get",
@@ -3260,7 +3260,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
+"description": "Required. The name of the `WildfireVerdictChangeRequest` to retrieve. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+/wildfireVerdictChangeRequests/[^/]+$",
 "required": true,
@@ -3276,7 +3276,7 @@
 ]
 },
 "list": {
-"description": "Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.",
+"description": "Lists the Advanced malware sandbox verdict change requests in a given firewall endpoint in a project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.list",
@@ -3285,23 +3285,23 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = \"...\"`) - `state` (enum, equality only, e.g. `state = \"ACTIVE\"`) - `create_time` (timestamp, comparisons, e.g. `create_time > \"2026-01-01T00:00:00Z\"`)",
+"description": "Optional. Filter expression to filter the results. Supported fields are: - `sha256` (string, equality only, for example, `sha256 = \"...\"`) - `state` (enum, equality only, valid values are `OPEN`, `CLOSED`, or `PENDING`, for example, `state = \"PENDING\"`) - `create_time` (timestamp, comparisons, for example, `create_time >= \"2026-01-01T00:00:00Z\" AND create_time <= \"2026-01-31T23:59:59Z\"`). If filtering by `create_time`, you must specify both a start time and an end time. If `create_time` is not specified, the query defaults to the past 30 days.",
 "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.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. A token identifying a page of results the server should return.",
+"description": "Optional. A page token, received from a previous `ListWildfireVerdictChangeRequests` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWildfireVerdictChangeRequests` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}",
+"description": "Required. Parent value for `ListWildfireVerdictChangeRequestsRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -5509,7 +5509,7 @@
 "securityProfileGroups": {
 "methods": {
 "create": {
-"description": "Creates a new SecurityProfileGroup in a given project and location.",
+"description": "Creates a new security profile group in a given project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.securityProfileGroups.create",
@@ -5518,14 +5518,14 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The parent resource of the `SecurityProfileGroup`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "securityProfileGroupId": {
-"description": "Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"security_profile_group1\".",
+"description": "Required. Short name of the `SecurityProfileGroup` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile-group1`.",
 "location": "query",
 "type": "string"
 }
@@ -5542,7 +5542,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single SecurityProfileGroup.",
+"description": "Deletes a single security profile group.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.projects.locations.securityProfileGroups.delete",
@@ -5551,12 +5551,12 @@
 ],
 "parameters": {
 "etag": {
-"description": "Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.",
+"description": "Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.",
 "location": "query",
 "type": "string"
 },
 "name": {
-"description": "Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Required. The name of the `SecurityProfileGroup` to delete. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
@@ -5572,7 +5572,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single SecurityProfileGroup.",
+"description": "Gets details of a single security profile group.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.securityProfileGroups.get",
@@ -5581,7 +5581,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Required. The name of the `SecurityProfileGroup` to get. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
@@ -5597,7 +5597,7 @@
 ]
 },
 "list": {
-"description": "Lists SecurityProfileGroups in a given project and location.",
+"description": "Lists security profile group resources in a given project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.securityProfileGroups.list",
@@ -5606,18 +5606,18 @@
 ],
 "parameters": {
 "pageSize": {
-"description": "Optional. Maximum number of SecurityProfileGroups to return per call.",
+"description": "Optional. Maximum number of `SecurityProfileGroup` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data.",
+"description": "Optional. A page token, received from a previous `ListSecurityProfileGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfileGroups` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The project or organization and location from which the `SecurityProfileGroup` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -5633,7 +5633,7 @@
 ]
 },
 "patch": {
-"description": "Updates the parameters of a single SecurityProfileGroup.",
+"description": "Updates the parameters of a single security profile group.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.projects.locations.securityProfileGroups.patch",
@@ -5642,14 +5642,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
+"description": "Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfileGroup` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -5671,7 +5671,7 @@
 "securityProfiles": {
 "methods": {
 "create": {
-"description": "Creates a new SecurityProfile in a given project and location.",
+"description": "Creates a new security profile in a given project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfiles",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.securityProfiles.create",
@@ -5680,14 +5680,14 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The parent resource of the `SecurityProfile`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "securityProfileId": {
-"description": "Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"security_profile1\".",
+"description": "Required. Short name of the `SecurityProfile` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile1`.",
 "location": "query",
 "type": "string"
 }
@@ -5704,7 +5704,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single SecurityProfile.",
+"description": "Deletes a single security profile.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.projects.locations.securityProfiles.delete",
@@ -5713,12 +5713,12 @@
 ],
 "parameters": {
 "etag": {
-"description": "Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.",
+"description": "Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.",
 "location": "query",
 "type": "string"
 },
 "name": {
-"description": "Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.",
+"description": "Required. The name of the `SecurityProfile` to delete. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
@@ -5734,7 +5734,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single SecurityProfile.",
+"description": "Gets details of a single security profile.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.securityProfiles.get",
@@ -5743,7 +5743,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.",
+"description": "Required. The name of the `SecurityProfile` to get. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
@@ -5759,7 +5759,7 @@
 ]
 },
 "list": {
-"description": "Lists SecurityProfiles in a given project and location.",
+"description": "Lists security profiles in a given project and location.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfiles",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.securityProfiles.list",
@@ -5768,18 +5768,18 @@
 ],
 "parameters": {
 "pageSize": {
-"description": "Optional. Maximum number of SecurityProfiles to return per call.",
+"description": "Optional. Maximum number of `SecurityProfile` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data.",
+"description": "Optional. A page token, received from a previous `ListSecurityProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfiles` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The project or organization and location from which the `SecurityProfile` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -5795,7 +5795,7 @@
 ]
 },
 "patch": {
-"description": "Updates the parameters of a single SecurityProfile.",
+"description": "Updates the parameters of a single security profile.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.projects.locations.securityProfiles.patch",
@@ -5804,14 +5804,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
+"description": "Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfile` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -6403,7 +6403,7 @@
 }
 }
 },
-"revision": "20261023",
+"revision": "20261104",
 "rootUrl": "https://networksecurity.googleapis.com/",
 "schemas": {
 "AddAddressGroupItemsRequest": {
@@ -7346,12 +7346,12 @@
 "type": "object"
 },
 "FirewallEndpoint": {
-"description": "Message describing Endpoint object.",
+"description": "Message describing a firewall endpoint.",
 "id": "FirewallEndpoint",
 "properties": {
 "associatedNetworks": {
 "deprecated": true,
-"description": "Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.",
+"description": "Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.",
 "items": {
 "type": "string"
 },
@@ -7359,7 +7359,7 @@
 "type": "array"
 },
 "associations": {
-"description": "Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.",
+"description": "Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.",
 "items": {
 "$ref": "FirewallEndpointAssociationReference"
 },
@@ -7371,13 +7371,13 @@
 "type": "string"
 },
 "createTime": {
-"description": "Output only. Create time stamp.",
+"description": "Output only. Create timestamp.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "description": {
-"description": "Optional. Description of the firewall endpoint. Max length 2048 characters.",
+"description": "Optional. Description of the firewall endpoint. The maximum length is 2048 characters.",
 "type": "string"
 },
 "endpointSettings": {
@@ -7388,11 +7388,11 @@
 "additionalProperties": {
 "type": "string"
 },
-"description": "Optional. Labels as key value pairs",
+"description": "Optional. Labels as key-value pairs.",
 "type": "object"
 },
 "name": {
-"description": "Immutable. Identifier. Name of resource.",
+"description": "Immutable. Identifier. The name of the resource.",
 "type": "string"
 },
 "reconciling": {
@@ -7401,12 +7401,12 @@
 "type": "boolean"
 },
 "satisfiesPzi": {
-"description": "Output only. [Output Only] Reserved for future use.",
+"description": "Output only. Reserved for future use.",
 "readOnly": true,
 "type": "boolean"
 },
 "satisfiesPzs": {
-"description": "Output only. [Output Only] Reserved for future use.",
+"description": "Output only. Reserved for future use.",
 "readOnly": true,
 "type": "boolean"
 },
@@ -7430,45 +7430,45 @@
 "type": "string"
 },
 "updateTime": {
-"description": "Output only. Update time stamp",
+"description": "Output only. Update timestamp.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "wildfireSettings": {
 "$ref": "FirewallEndpointWildfireSettings",
-"description": "Optional. Settings for WildFire analysis."
+"description": "Optional. Settings for Advanced malware sandbox (WildFire) analysis."
 }
 },
 "type": "object"
 },
 "FirewallEndpointAssociation": {
-"description": "Message describing Association object",
+"description": "Message describing a firewall endpoint association.",
 "id": "FirewallEndpointAssociation",
 "properties": {
 "createTime": {
-"description": "Output only. Create time stamp",
+"description": "Output only. Create timestamp.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "disabled": {
-"description": "Optional. Whether the association is disabled. True indicates that traffic won't be intercepted",
+"description": "Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`.",
 "type": "boolean"
 },
 "firewallEndpoint": {
-"description": "Required. The URL of the FirewallEndpoint that is being associated.",
+"description": "Required. The URL of the `FirewallEndpoint` that is being associated.",
 "type": "string"
 },
 "labels": {
 "additionalProperties": {
 "type": "string"
 },
-"description": "Optional. Labels as key value pairs",
+"description": "Optional. Labels as key-value pairs.",
 "type": "object"
 },
 "name": {
-"description": "Immutable. Identifier. name of resource",
+"description": "Immutable. Identifier. The name of the resource.",
 "type": "string"
 },
 "network": {
@@ -7476,7 +7476,7 @@
 "type": "string"
 },
 "reconciling": {
-"description": "Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.",
+"description": "Output only. Whether reconciliation is in progress.",
 "readOnly": true,
 "type": "boolean"
 },
@@ -7502,11 +7502,11 @@
 "type": "string"
 },
 "tlsInspectionPolicy": {
-"description": "Optional. The URL of the TlsInspectionPolicy that is being associated.",
+"description": "Optional. The URL of the `TlsInspectionPolicy` that is being associated.",
 "type": "string"
 },
 "updateTime": {
-"description": "Output only. Update time stamp",
+"description": "Output only. Update timestamp.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
@@ -7515,16 +7515,16 @@
 "type": "object"
 },
 "FirewallEndpointAssociationReference": {
-"description": "This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.",
+"description": "A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.",
 "id": "FirewallEndpointAssociationReference",
 "properties": {
 "name": {
-"description": "Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}",
+"description": "Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.",
 "readOnly": true,
 "type": "string"
 },
 "network": {
-"description": "Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.",
+"description": "Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.",
 "readOnly": true,
 "type": "string"
 }
@@ -7559,70 +7559,70 @@
 ],
 "enumDescriptions": [
 "Palo Alto Networks content cloud region not specified.",
-"us.hawkeye.services-edge.paloaltonetworks.com",
-"APAC content cloud portal: apac.hawkeye.services-edge.paloaltonetworks.com",
-"India content cloud portal: in.hawkeye.services-edge.paloaltonetworks.com",
-"UK content cloud portal: uk.hawkeye.services-edge.paloaltonetworks.com",
-"France content cloud portal: fr.hawkeye.services-edge.paloaltonetworks.com",
-"Japan content cloud portal: jp.hawkeye.services-edge.paloaltonetworks.com",
-"Australia content cloud portal: au.hawkeye.services-edge.paloaltonetworks.com",
-"Canada content cloud portal: ca.hawkeye.services-edge.paloaltonetworks.com",
-"Switzerland content cloud portal: ch.hawkeye.services-edge.paloaltonetworks.com",
-"Netherlands content cloud portal: nl.hawkeye.services-edge.paloaltonetworks.com",
-"Indonesia content cloud portal: id.hawkeye.services-edge.paloaltonetworks.com",
-"Qatar content cloud portal: qa.hawkeye.services-edge.paloaltonetworks.com",
-"Taiwan content cloud portal: tw.hawkeye.services-edge.paloaltonetworks.com",
-"Poland content cloud portal: pl.hawkeye.services-edge.paloaltonetworks.com",
-"South Korea content cloud portal: kr.hawkeye.services-edge.paloaltonetworks.com",
-"Saudi Arabia content cloud portal: sa.hawkeye.services-edge.paloaltonetworks.com",
-"Italy content cloud portal: it.hawkeye.services-edge.paloaltonetworks.com"
+"US Central content cloud portal: `us.hawkeye.services-edge.paloaltonetworks.com`.",
+"APAC content cloud portal: `apac.hawkeye.services-edge.paloaltonetworks.com`.",
+"India content cloud portal: `in.hawkeye.services-edge.paloaltonetworks.com`.",
+"UK content cloud portal: `uk.hawkeye.services-edge.paloaltonetworks.com`.",
+"France content cloud portal: `fr.hawkeye.services-edge.paloaltonetworks.com`.",
+"Japan content cloud portal: `jp.hawkeye.services-edge.paloaltonetworks.com`.",
+"Australia content cloud portal: `au.hawkeye.services-edge.paloaltonetworks.com`.",
+"Canada content cloud portal: `ca.hawkeye.services-edge.paloaltonetworks.com`.",
+"Switzerland content cloud portal: `ch.hawkeye.services-edge.paloaltonetworks.com`.",
+"Netherlands content cloud portal: `nl.hawkeye.services-edge.paloaltonetworks.com`.",
+"Indonesia content cloud portal: `id.hawkeye.services-edge.paloaltonetworks.com`.",
+"Qatar content cloud portal: `qa.hawkeye.services-edge.paloaltonetworks.com`.",
+"Taiwan content cloud portal: `tw.hawkeye.services-edge.paloaltonetworks.com`.",
+"Poland content cloud portal: `pl.hawkeye.services-edge.paloaltonetworks.com`.",
+"South Korea content cloud portal: `kr.hawkeye.services-edge.paloaltonetworks.com`.",
+"Saudi Arabia content cloud portal: `sa.hawkeye.services-edge.paloaltonetworks.com`.",
+"Italy content cloud portal: `it.hawkeye.services-edge.paloaltonetworks.com`."
 ],
 "type": "string"
 },
 "httpPartialResponseBlocked": {
-"description": "Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.",
+"description": "Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.",
 "type": "boolean"
 },
 "jumboFramesEnabled": {
-"description": "Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.",
+"description": "Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.",
 "type": "boolean"
 }
 },
 "type": "object"
 },
 "FirewallEndpointWildfireSettings": {
-"description": "Settings for WildFire analysis.",
+"description": "Settings for Advanced malware sandbox analysis.",
 "id": "FirewallEndpointWildfireSettings",
 "properties": {
 "enabled": {
-"description": "Optional. Indicates whether WildFire analysis is enabled. Default value is false.",
+"description": "Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.",
 "type": "boolean"
 },
 "wildfireInlineCloudAnalysisSettings": {
 "$ref": "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings",
-"description": "Optional. Settings for WildFire inline cloud analysis."
+"description": "Optional. Settings for Advanced malware sandbox inline cloud analysis."
 },
 "wildfireRealtimeLookupDuration": {
-"description": "Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.",
+"description": "Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `\"0.001s\"` to `\"5s\"`). The default value is `1000` milliseconds (`\"1s\"` in JSON).",
 "format": "google-duration",
 "type": "string"
 },
 "wildfireRealtimeLookupTimeoutAction": {
-"description": "Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.",
+"description": "Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.",
 "enum": [
 "WILDFIRE_REALTIME_SIGNATURE_LOOKUP_TIMEOUT_ACTION_UNSPECIFIED",
 "ALLOW",
 "DENY"
 ],
 "enumDescriptions": [
-"WildFire real time signature lookup timeout action not specified.",
-"The files that timed out in the signature lookup will be allowed to transmit.",
-"The files that timed out in the signature lookup will be denied to transmit."
+"Advanced malware sandbox real-time signature lookup timeout action not specified.",
+"Files that time out during the signature lookup are allowed to transmit.",
+"Files that time out during the signature lookup are not allowed to transmit."
 ],
 "type": "string"
 },
 "wildfireRegion": {
-"description": "Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud",
+"description": "Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).",
 "enum": [
 "WILDFIRE_REGION_UNSPECIFIED",
 "CANADA",
@@ -7671,29 +7671,29 @@
 "type": "object"
 },
 "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings": {
-"description": "Settings for WildFire inline cloud analysis.",
+"description": "Settings for Advanced malware sandbox inline cloud analysis.",
 "id": "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings",
 "properties": {
 "maxAnalysisDuration": {
-"description": "Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.",
+"description": "Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `\"0.001s\"` to `\"240s\"`). The default value is `30000` milliseconds (`\"30s\"` in JSON).",
 "format": "google-duration",
 "type": "string"
 },
 "submissionTimeoutLoggingDisabled": {
-"description": "Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.",
+"description": "Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.",
 "type": "boolean"
 },
 "timeoutAction": {
-"description": "Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.",
+"description": "Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.",
 "enum": [
 "WILDFIRE_INLINE_CLOUD_ANALYSIS_TIMEOUT_ACTION_UNSPECIFIED",
 "ALLOW",
 "DENY"
 ],
 "enumDescriptions": [
-"WildFire inline cloud analysis timeout action not specified.",
-"The files that timed out will be allowed to transmit.",
-"The files that timed out will be denied to transmit."
+"Advanced malware sandbox inline cloud analysis timeout action not specified.",
+"Files that time out are allowed to transmit.",
+"Files that time out are not allowed to transmit."
 ],
 "type": "string"
 }
@@ -8634,22 +8634,22 @@
 "type": "object"
 },
 "ListFirewallEndpointAssociationsResponse": {
-"description": "Message for response to listing Associations",
+"description": "Message for response to listing associations.",
 "id": "ListFirewallEndpointAssociationsResponse",
 "properties": {
 "firewallEndpointAssociations": {
-"description": "The list of Association",
+"description": "The list of associations.",
 "items": {
 "$ref": "FirewallEndpointAssociation"
 },
 "type": "array"
 },
 "nextPageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "unreachable": {
-"description": "Locations that could not be reached.",
+"description": "Locations that could not be reached. The list of unreachable locations might expand in the future.",
 "items": {
 "type": "string"
 },
@@ -8659,22 +8659,22 @@
 "type": "object"
 },
 "ListFirewallEndpointsResponse": {
-"description": "Message for response to listing Endpoints",
+"description": "Message for response to listing endpoints.",
 "id": "ListFirewallEndpointsResponse",
 "properties": {
 "firewallEndpoints": {
-"description": "The list of Endpoint",
+"description": "The list of endpoints.",
 "items": {
 "$ref": "FirewallEndpoint"
 },
 "type": "array"
 },
 "nextPageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "unreachable": {
-"description": "Locations that could not be reached.",
+"description": "Locations that could not be reached. The list of unreachable locations might expand in the future.",
 "items": {
 "type": "string"
 },
@@ -8985,15 +8985,15 @@
 "type": "object"
 },
 "ListSecurityProfileGroupsResponse": {
-"description": "Response returned by the ListSecurityProfileGroups method.",
+"description": "Response returned by the `ListSecurityProfileGroups` method.",
 "id": "ListSecurityProfileGroupsResponse",
 "properties": {
 "nextPageToken": {
-"description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "securityProfileGroups": {
-"description": "List of SecurityProfileGroups resources.",
+"description": "List of `SecurityProfileGroup` resources.",
 "items": {
 "$ref": "SecurityProfileGroup"
 },
@@ -9003,15 +9003,15 @@
 "type": "object"
 },
 "ListSecurityProfilesResponse": {
-"description": "Response returned by the ListSecurityProfiles method.",
+"description": "Response returned by the `ListSecurityProfiles` method.",
 "id": "ListSecurityProfilesResponse",
 "properties": {
 "nextPageToken": {
-"description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "securityProfiles": {
-"description": "List of SecurityProfile resources.",
+"description": "List of `SecurityProfile` resources.",
 "items": {
 "$ref": "SecurityProfile"
 },
@@ -9096,11 +9096,11 @@
 "type": "object"
 },
 "ListWildfireVerdictChangeRequestsResponse": {
-"description": "Message for response to listing WildfireVerdictChangeRequests.",
+"description": "Message for response to listing `WildfireVerdictChangeRequest` resources.",
 "id": "ListWildfireVerdictChangeRequestsResponse",
 "properties": {
 "nextPageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "unreachable": {
@@ -9111,7 +9111,7 @@
 "type": "array"
 },
 "wildfireVerdictChangeRequests": {
-"description": "The list of WildfireVerdictChangeRequests",
+"description": "The list of `WildfireVerdictChangeRequest` resources.",
 "items": {
 "$ref": "WildfireVerdictChangeRequest"
 },
@@ -9962,7 +9962,7 @@
 "type": "object"
 },
 "SecurityProfile": {
-"description": "SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.",
+"description": "A resource that defines the behavior for one of many `ProfileType` values.",
 "id": "SecurityProfile",
 "properties": {
 "createTime": {
@@ -9973,14 +9973,14 @@
 },
 "customInterceptProfile": {
 "$ref": "CustomInterceptProfile",
-"description": "The custom TPPI configuration for the SecurityProfile."
+"description": "The custom network security in-band integration configuration for the `SecurityProfile`."
 },
 "customMirroringProfile": {
 "$ref": "CustomMirroringProfile",
-"description": "The custom Packet Mirroring v2 configuration for the SecurityProfile."
+"description": "The custom network security out-of-band integration configuration for the `SecurityProfile`."
 },
 "description": {
-"description": "Optional. An optional description of the profile. Max length 512 characters.",
+"description": "Optional. An optional description of the profile. The maximum length is 512 characters.",
 "type": "string"
 },
 "etag": {
@@ -9992,19 +9992,19 @@
 "additionalProperties": {
 "type": "string"
 },
-"description": "Optional. Labels as key value pairs.",
+"description": "Optional. Labels as key-value pairs.",
 "type": "object"
 },
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "type": "string"
 },
 "threatPreventionProfile": {
 "$ref": "ThreatPreventionProfile",
-"description": "The threat prevention configuration for the SecurityProfile."
+"description": "The threat prevention configuration for the `SecurityProfile`."
 },
 "type": {
-"description": "Immutable. The single ProfileType that the SecurityProfile resource configures.",
+"description": "Immutable. The single `ProfileType` that the `SecurityProfile` resource configures.",
 "enum": [
 "PROFILE_TYPE_UNSPECIFIED",
 "THREAT_PREVENTION",
@@ -10016,10 +10016,10 @@
 "enumDescriptions": [
 "Profile type not specified.",
 "Profile type for threat prevention.",
-"Profile type for packet mirroring v2",
-"Profile type for TPPI.",
+"Profile type for network security out-of-band integration.",
+"Profile type for network security in-band integration.",
 "Profile type for URL filtering.",
-"Profile type for WildFire Analysis."
+"Profile type for Advanced malware sandbox (WildFire) analysis."
 ],
 "type": "string"
 },
@@ -10031,17 +10031,17 @@
 },
 "urlFilteringProfile": {
 "$ref": "UrlFilteringProfile",
-"description": "The URL filtering configuration for the SecurityProfile."
+"description": "The URL filtering configuration for the `SecurityProfile`."
 },
 "wildfireAnalysisProfile": {
 "$ref": "WildfireAnalysisProfile",
-"description": "The WildFire Analysis configurations for SecurityProfile."
+"description": "The Advanced malware sandbox analysis configuration for the `SecurityProfile`."
 }
 },
 "type": "object"
 },
 "SecurityProfileGroup": {
-"description": "SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.",
+"description": "A resource that defines the behavior for various `ProfileType` values.",
 "id": "SecurityProfileGroup",
 "properties": {
 "createTime": {
@@ -10051,21 +10051,21 @@
 "type": "string"
 },
 "customInterceptProfile": {
-"description": "Optional. Reference to a SecurityProfile with the CustomIntercept configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the custom intercept configuration.",
 "type": "string"
 },
 "customMirroringProfile": {
-"description": "Optional. Reference to a SecurityProfile with the CustomMirroring configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.",
 "type": "string"
 },
 "dataPathId": {
-"description": "Output only. Identifier used by the data-path. Unique within `{container, location}`.",
+"description": "Output only. Identifier used by the data path. Unique within `{container, location}`.",
 "format": "uint64",
 "readOnly": true,
 "type": "string"
 },
 "description": {
-"description": "Optional. An optional description of the profile group. Max length 2048 characters.",
+"description": "Optional. An optional description of the profile group. The maximum length is 2048 characters.",
 "type": "string"
 },
 "etag": {
@@ -10077,15 +10077,15 @@
 "additionalProperties": {
 "type": "string"
 },
-"description": "Optional. Labels as key value pairs.",
+"description": "Optional. Labels as key-value pairs.",
 "type": "object"
 },
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "type": "string"
 },
 "threatPreventionProfile": {
-"description": "Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the threat prevention configuration.",
 "type": "string"
 },
 "updateTime": {
@@ -10095,11 +10095,11 @@
 "type": "string"
 },
 "urlFilteringProfile": {
-"description": "Optional. Reference to a SecurityProfile with the UrlFiltering configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the URL filtering configuration.",
 "type": "string"
 },
 "wildfireAnalysisProfile": {
-"description": "Optional. Reference to a SecurityProfile with the WildFire configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.",
 "type": "string"
 }
 },
@@ -10515,18 +10515,18 @@
 "type": "object"
 },
 "WildfireAnalysisProfile": {
-"description": "WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior.",
+"description": "`WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior.",
 "id": "WildfireAnalysisProfile",
 "properties": {
 "wildfireInlineCloudAnalysisRules": {
-"description": "Optional. Configuration for WildFire inline cloud analysis.",
+"description": "Optional. Configuration for Advanced malware sandbox inline cloud analysis.",
 "items": {
 "$ref": "WildfireInlineCloudAnalysisRule"
 },
 "type": "array"
 },
 "wildfireInlineMlOverrides": {
-"description": "Optional. Configuration for overriding inline ML WildFire actions per protocol.",
+"description": "Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol.",
 "items": {
 "$ref": "WildfireInlineMlOverride"
 },
@@ -10534,36 +10534,36 @@
 },
 "wildfireInlineMlSetting": {
 "$ref": "WildfireInlineMlSettings",
-"description": "Optional. Settings for WildFire Inline ML analysis."
+"description": "Optional. Settings for Advanced malware sandbox inline ML analysis."
 },
 "wildfireInlineMlSettings": {
 "deprecated": true,
-"description": "Optional. Settings for WildFire Inline ML analysis.",
+"description": "Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis.",
 "items": {
 "$ref": "WildfireInlineMlSettings"
 },
 "type": "array"
 },
 "wildfireOverrides": {
-"description": "Optional. Configuration for overriding WildFire actions per protocol.",
+"description": "Optional. Configuration for overriding Advanced malware sandbox actions per protocol.",
 "items": {
 "$ref": "WildfireOverride"
 },
 "type": "array"
 },
 "wildfireRealtimeLookup": {
-"description": "Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false.",
+"description": "Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`.",
 "type": "boolean"
 },
 "wildfireSubmissionRules": {
-"description": "Optional. Configurations for WildFire file submissions.",
+"description": "Optional. Configurations for Advanced malware sandbox (WildFire) file submissions.",
 "items": {
 "$ref": "WildfireSubmissionRule"
 },
 "type": "array"
 },
 "wildfireThreatOverrides": {
-"description": "Optional. Configuration for overriding WildFire threats action by threat_id match.",
+"description": "Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match.",
 "items": {
 "$ref": "WildfireThreatOverride"
 },
@@ -10573,11 +10573,11 @@
 "type": "object"
 },
 "WildfireInlineCloudAnalysisRule": {
-"description": "The list of file type configurations to be scanned by WildFire Inline Cloud Analysis.",
+"description": "The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis.",
 "id": "WildfireInlineCloudAnalysisRule",
 "properties": {
 "action": {
-"description": "Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY.",
+"description": "Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`.",
 "enum": [
 "WILDFIRE_INLINE_CLOUD_ANALYSIS_ACTION_UNSPECIFIED",
 "ALLOW",
@@ -10585,19 +10585,19 @@
 "ALERT"
 ],
 "enumDescriptions": [
-"WildFire Inline Cloud Analysis action not specified.",
-"The files caught by WildFire Inline Cloud Analysis will be allowed to transmit.",
-"The files caught by WildFire Inline Cloud Analysis will be denied to transmit.",
-"The files caught by WildFire Inline Cloud Analysis will be allowed to transmit, but a wildfire_submission_log entry will be sent to the consumer project."
+"Advanced malware sandbox inline cloud analysis action not specified.",
+"Files detected by Advanced malware sandbox inline cloud analysis are allowed to transmit.",
+"Files detected by Advanced malware sandbox inline cloud analysis are not allowed to transmit.",
+"Files detected by Advanced malware sandbox inline cloud analysis are allowed to transmit, and a `wildfire_submission_log` entry is sent to the consumer project."
 ],
 "type": "string"
 },
 "customFileTypes": {
 "$ref": "WildfireInlineCloudAnalysisRuleCustomFileTypes",
-"description": "Submit a custom list of file types for WildFire analysis."
+"description": "Submit a custom list of file types for Advanced malware sandbox inline cloud analysis."
 },
 "direction": {
-"description": "Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis.",
+"description": "Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis.",
 "enum": [
 "DIRECTION_UNSPECIFIED",
 "UPLOAD",
@@ -10613,7 +10613,7 @@
 "type": "string"
 },
 "fileSelectionMode": {
-"description": "Required. File selection mode for WildFire inline cloud analysis.",
+"description": "Required. File selection mode for Advanced malware sandbox inline cloud analysis.",
 "enum": [
 "FILE_SELECTION_MODE_UNSPECIFIED",
 "ALL_FILE_TYPES",
@@ -10621,8 +10621,8 @@
 ],
 "enumDescriptions": [
 "File selection mode not specified.",
-"Submit all the file types for scan.",
-"Submit a custom list of file types for scan."
+"Submit all file types for scanning.",
+"Submit a custom list of file types for scanning."
 ],
 "type": "string"
 }
@@ -10630,11 +10630,11 @@
 "type": "object"
 },
 "WildfireInlineCloudAnalysisRuleCustomFileTypes": {
-"description": "The options to submit a custom list of file types for scan.",
+"description": "The options to submit a custom list of file types for scanning.",
 "id": "WildfireInlineCloudAnalysisRuleCustomFileTypes",
 "properties": {
 "fileTypes": {
-"description": "Required. File types to be submitted for WildFire inline cloud analysis.",
+"description": "Required. File types to be submitted for Advanced malware sandbox inline cloud analysis.",
 "items": {
 "enum": [
 "FILE_TYPE_UNSPECIFIED",
@@ -10652,26 +10652,26 @@
 "type": "object"
 },
 "WildfireInlineMlFileException": {
-"description": "Defines the file to exclude from WildFire Inline ML analysis.",
+"description": "Defines the file to exclude from Advanced malware sandbox inline ML analysis.",
 "id": "WildfireInlineMlFileException",
 "properties": {
 "filename": {
-"description": "Optional. Name of the file to exclude from WildFire Inline ML analysis.",
+"description": "Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis.",
 "type": "string"
 },
 "partialHash": {
-"description": "Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis.",
+"description": "Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis.",
 "type": "string"
 }
 },
 "type": "object"
 },
 "WildfireInlineMlOverride": {
-"description": "Defines what action to take for WildFire Inline ML threats per protocol.",
+"description": "Defines what action to take for Advanced malware sandbox inline ML threats per protocol.",
 "id": "WildfireInlineMlOverride",
 "properties": {
 "action": {
-"description": "Required. The action to take for WildFire Inline ML override.",
+"description": "Required. The action to take for Advanced malware sandbox inline ML override.",
 "enum": [
 "WILDFIRE_THREAT_ACTION_UNSPECIFIED",
 "WILDFIRE_DEFAULT_ACTION",
@@ -10682,14 +10682,14 @@
 "enumDescriptions": [
 "Threat action not specified.",
 "The default action (as specified by the vendor) is taken.",
-"The packet matching this rule will be allowed to transmit.",
-"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.",
-"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project."
+"Packets matching this rule are allowed to transmit.",
+"Packets matching this rule are allowed to transmit, and a `threat_log` entry is sent to the consumer project.",
+"Packets matching this rule are dropped, and a `threat_log` entry is sent to the consumer project."
 ],
 "type": "string"
 },
 "protocol": {
-"description": "Required. Protocol to match for WildFire Inline ML override.",
+"description": "Required. Protocol to match for Advanced malware sandbox inline ML override.",
 "enum": [
 "WILDFIRE_PROTOCOL_UNSPECIFIED",
 "WILDFIRE_SMTP",
@@ -10702,13 +10702,13 @@
 ],
 "enumDescriptions": [
 "Protocol not specified.",
-"SMTP protocol",
-"SMB protocol",
-"POP3 protocol",
-"IMAP protocol",
-"HTTP2 protocol",
-"HTTP protocol",
-"FTP protocol"
+"SMTP protocol.",
+"SMB protocol.",
+"POP3 protocol.",
+"IMAP protocol.",
+"HTTP2 protocol.",
+"HTTP protocol.",
+"FTP protocol."
 ],
 "type": "string"
 }
@@ -10716,18 +10716,18 @@
 "type": "object"
 },
 "WildfireInlineMlSettings": {
-"description": "Defines the settings for WildFire Inline ML analysis.",
+"description": "Defines the settings for Advanced malware sandbox inline ML analysis.",
 "id": "WildfireInlineMlSettings",
 "properties": {
 "fileExceptions": {
-"description": "Optional. List of files to exclude from WildFire Inline ML analysis.",
+"description": "Optional. List of files to exclude from Advanced malware sandbox inline ML analysis.",
 "items": {
 "$ref": "WildfireInlineMlFileException"
 },
 "type": "array"
 },
 "inlineMlConfigs": {
-"description": "Optional. List of Inline ML configs to enable in WildFire Inline ML analysis.",
+"description": "Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis.",
 "items": {
 "$ref": "WildfireInlineMlSettingsInlineMlConfig"
 },
@@ -10737,11 +10737,11 @@
 "type": "object"
 },
 "WildfireInlineMlSettingsInlineMlConfig": {
-"description": "Configuration for WildFire Inline ML analysis per file type.",
+"description": "Configuration for Advanced malware sandbox inline ML analysis per file type.",
 "id": "WildfireInlineMlSettingsInlineMlConfig",
 "properties": {
 "action": {
-"description": "Required. Action to take when a threat is detected using Inline ML.",
+"description": "Required. Action to take when a threat is detected using inline ML.",
 "enum": [
 "INLINE_ML_ACTION_UNSPECIFIED",
 "DISABLE",
@@ -10750,14 +10750,14 @@
 ],
 "enumDescriptions": [
 "Inline ML threat action not specified.",
-"Disable WildFire Inline ML for the associated file type.",
-"Enable WildFire Inline ML for the associated file type. Overrides any protocol level settings with action stricter than ALERT to ALERT so that the malicious files detected generate a threat log to the consumer project but are not blocked.",
-"Enable WildFire Inline ML for the associated file type, malicious files detected will be blocked."
+"Disables Advanced malware sandbox inline ML for the associated file type.",
+"Enables Advanced malware sandbox inline ML for the associated file type. Overrides any protocol-level settings with an action stricter than `ALERT` to `ALERT` so that detected malicious files generate a threat log in the consumer project without being blocked.",
+"Enables Advanced malware sandbox inline ML for the associated file type. Detected malicious files are blocked."
 ],
 "type": "string"
 },
 "fileType": {
-"description": "Required. File type to configure Inline ML for.",
+"description": "Required. File type to configure inline ML for.",
 "enum": [
 "INLINE_ML_CONFIG_UNSPECIFIED",
 "WINDOWS_EXECUTABLE",
@@ -10770,15 +10770,15 @@
 "MACHO"
 ],
 "enumDescriptions": [
-"Inline ML config not specified.",
-"Enable machine learning engine to dynamically detect malicious PE files.",
-"Enable machine learning engine to dynamically identify malicious PowerShell scripts with known length.",
-"Enable machine learning engine to dynamically identify malicious PowerShell script without known length.",
-"Enable machine learning engine to dynamically detect malicious ELF files.",
-"Enable machine learning engine to dynamically detect malicious MSOffice (97-03) files.",
-"Enable machine learning engine to dynamically detect malicious Shell files.",
-"Enable machine learning engine to dynamically detect malicious Open Office XML files.",
-"Enable machine learning engine to dynamically detect malicious Mach-O files."
+"Inline ML configuration not specified.",
+"Enables the machine learning engine to dynamically detect malicious PE files.",
+"Enables the machine learning engine to dynamically identify malicious PowerShell scripts with a known length.",
+"Enables the machine learning engine to dynamically identify malicious PowerShell scripts without a known length.",
+"Enables the machine learning engine to dynamically detect malicious ELF files.",
+"Enables the machine learning engine to dynamically detect malicious Microsoft Office (97-2003) files.",
+"Enables the machine learning engine to dynamically detect malicious shell files.",
+"Enables the machine learning engine to dynamically detect malicious Office Open XML (OOXML) files.",
+"Enables the machine learning engine to dynamically detect malicious Mach-O files."
 ],
 "type": "string"
 }
@@ -10786,7 +10786,7 @@
 "type": "object"
 },
 "WildfireOverride": {
-"description": "Defines what action to take for WildFire threats per protocol.",
+"description": "Defines what action to take for Advanced malware sandbox threats per protocol.",
 "id": "WildfireOverride",
 "properties": {
 "action": {
@@ -10801,9 +10801,9 @@
 "enumDescriptions": [
 "Threat action not specified.",
 "The default action (as specified by the vendor) is taken.",
-"The packet matching this rule will be allowed to transmit.",
-"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.",
-"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project."
+"Packets matching this rule are allowed to transmit.",
+"Packets matching this rule are allowed to transmit, and a `threat_log` entry is sent to the consumer project.",
+"Packets matching this rule are dropped, and a `threat_log` entry is sent to the consumer project."
 ],
 "type": "string"
 },
@@ -10821,13 +10821,13 @@
 ],
 "enumDescriptions": [
 "Protocol not specified.",
-"SMTP protocol",
-"SMB protocol",
-"POP3 protocol",
-"IMAP protocol",
-"HTTP2 protocol",
-"HTTP protocol",
-"FTP protocol"
+"SMTP protocol.",
+"SMB protocol.",
+"POP3 protocol.",
+"IMAP protocol.",
+"HTTP2 protocol.",
+"HTTP protocol.",
+"FTP protocol."
 ],
 "type": "string"
 }
@@ -10835,15 +10835,15 @@
 "type": "object"
 },
 "WildfireSubmissionRule": {
-"description": "Defines the file types to be submitted for WildFire analysis and the direction of the traffic.",
+"description": "Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic.",
 "id": "WildfireSubmissionRule",
 "properties": {
 "customFileTypes": {
 "$ref": "WildfireSubmissionRuleCustomFileTypes",
-"description": "Submit a custom list of file types for WildFire analysis."
+"description": "Submit a custom list of file types for Advanced malware sandbox analysis."
 },
 "direction": {
-"description": "Required. Direction for the files to be analyzed by WildFire.",
+"description": "Required. Direction for the files to be analyzed by Advanced malware sandbox.",
 "enum": [
 "DIRECTION_UNSPECIFIED",
 "UPLOAD",
@@ -10859,7 +10859,7 @@
 "type": "string"
 },
 "fileSelectionMode": {
-"description": "Required. File selection mode for WildFire analysis.",
+"description": "Required. File selection mode for Advanced malware sandbox analysis.",
 "enum": [
 "FILE_SELECTION_MODE_UNSPECIFIED",
 "ALL_FILE_TYPES",
@@ -10867,8 +10867,8 @@
 ],
 "enumDescriptions": [
 "File selection mode not specified.",
-"Submit all the file types for scan.",
-"Submit a custom list of file types for scan."
+"Submit all file types for scanning.",
+"Submit a custom list of file types for scanning."
 ],
 "type": "string"
 }
@@ -10876,11 +10876,11 @@
 "type": "object"
 },
 "WildfireSubmissionRuleCustomFileTypes": {
-"description": "The options to submit a custom list of file types for scan.",
+"description": "The options to submit a custom list of file types for scanning.",
 "id": "WildfireSubmissionRuleCustomFileTypes",
 "properties": {
 "fileTypes": {
-"description": "Required. File types to be submitted for WildFire analysis.",
+"description": "Required. File types to be submitted for Advanced malware sandbox analysis.",
 "items": {
 "enum": [
 "FILE_TYPE_UNSPECIFIED",
@@ -10899,14 +10899,14 @@
 "File type not specified.",
 "Android Application Package (APK) files.",
 "Roshal Archive (RAR) and 7-Zip (7z) archive files.",
-"HTTP/HTTPS links contained in SMTP and POP3 email messages.",
+"HTTP and HTTPS links contained in SMTP and POP3 email messages.",
 "Adobe Flash applets and Flash content embedded in web pages.",
-"Java applets (JAR/class files types).",
+"Java applets (JAR and class file types).",
 "Executable and Linkable Format (ELF) files.",
 "Files used by Microsoft Office.",
 "Portable Document Format (PDF) files.",
 "Portable Executable (PE) files.",
-"Various script files. Jscript (JS), VBScript (VBS), PowerShell Scripts (PS1), Batch (BAT), HTML Application (HTA)."
+"Script files, such as JScript (JS), VBScript (VBS), PowerShell scripts (PS1), batch files (BAT), and HTML Application (HTA) files."
 ],
 "type": "string"
 },
@@ -10916,7 +10916,7 @@
 "type": "object"
 },
 "WildfireThreatOverride": {
-"description": "Defines what action to take for a specific WildFire threat_id match.",
+"description": "Defines what action to take for a specific Advanced malware sandbox `threat_id` match.",
 "id": "WildfireThreatOverride",
 "properties": {
 "action": {
@@ -10931,9 +10931,9 @@
 "enumDescriptions": [
 "Threat action not specified.",
 "The default action (as specified by the vendor) is taken.",
-"The packet matching this rule will be allowed to transmit.",
-"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.",
-"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project."
+"Packets matching this rule are allowed to transmit.",
+"Packets matching this rule are allowed to transmit, and a `threat_log` entry is sent to the consumer project.",
+"Packets matching this rule are dropped, and a `threat_log` entry is sent to the consumer project."
 ],
 "type": "string"
 },
@@ -10945,31 +10945,31 @@
 "type": "object"
 },
 "WildfireVerdictChangeRequest": {
-"description": "Message for a WildfireVerdictChangeRequest.",
+"description": "Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`).",
 "id": "WildfireVerdictChangeRequest",
 "properties": {
 "comment": {
-"description": "Required. The justification for the verdict change request. Max length 2048 characters.",
+"description": "Required. The justification for the verdict change request. The maximum length is 2048 characters.",
 "type": "string"
 },
 "createTime": {
-"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was created.",
+"description": "Output only. The timestamp when the `WildfireVerdictChangeRequest` was created.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "fileName": {
-"description": "Output only. The file name of the Malware Sample.",
+"description": "Output only. The file name of the malware sample.",
 "readOnly": true,
 "type": "string"
 },
 "fileType": {
-"description": "Output only. The file type of the Malware Sample.",
+"description": "Output only. The file type of the malware sample.",
 "readOnly": true,
 "type": "string"
 },
 "finalVerdict": {
-"description": "Output only. The final verdict of the Malware Sample.",
+"description": "Output only. The final verdict of the malware sample.",
 "enum": [
 "WILDFIRE_SAMPLE_VERDICT_UNKNOWN",
 "BENIGN",
@@ -10978,7 +10978,7 @@
 "PHISHING"
 ],
 "enumDescriptions": [
-"Default value. Malware is not yet classified.",
+"Default value. The malware sample is not yet classified.",
 "Sample is safe and does not exhibit malicious behavior.",
 "Sample is malware and poses a security threat.",
 "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.",
@@ -10988,12 +10988,12 @@
 "type": "string"
 },
 "name": {
-"description": "Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
+"description": "Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.",
 "readOnly": true,
 "type": "string"
 },
 "newVerdict": {
-"description": "Required. The suggested verdict to apply to the Malware Sample.",
+"description": "Required. The suggested verdict to apply to the malware sample.",
 "enum": [
 "WILDFIRE_SAMPLE_VERDICT_UNKNOWN",
 "BENIGN",
@@ -11002,7 +11002,7 @@
 "PHISHING"
 ],
 "enumDescriptions": [
-"Default value. Malware is not yet classified.",
+"Default value. The malware sample is not yet classified.",
 "Sample is safe and does not exhibit malicious behavior.",
 "Sample is malware and poses a security threat.",
 "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.",
@@ -11011,7 +11011,7 @@
 "type": "string"
 },
 "oldVerdict": {
-"description": "Output only. The original verdict of the Malware Sample.",
+"description": "Output only. The original verdict of the malware sample.",
 "enum": [
 "WILDFIRE_SAMPLE_VERDICT_UNKNOWN",
 "BENIGN",
@@ -11020,7 +11020,7 @@
 "PHISHING"
 ],
 "enumDescriptions": [
-"Default value. Malware is not yet classified.",
+"Default value. The malware sample is not yet classified.",
 "Sample is safe and does not exhibit malicious behavior.",
 "Sample is malware and poses a security threat.",
 "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.",
@@ -11030,22 +11030,22 @@
 "type": "string"
 },
 "resolutionTime": {
-"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.",
+"description": "Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "sha256": {
-"description": "Required. The SHA256 hash of the Malware Sample to change the verdict of.",
+"description": "Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change.",
 "type": "string"
 },
 "sourceRegion": {
-"description": "Output only. The region of the file associated with the Malware Sample.",
+"description": "Output only. The region of the file associated with the malware sample.",
 "readOnly": true,
 "type": "string"
 },
 "state": {
-"description": "Output only. The review state of the WildfireVerdictChangeRequest.",
+"description": "Output only. The review state of the `WildfireVerdictChangeRequest`.",
 "enum": [
 "VERDICT_CHANGE_REQUEST_STATE_UNSPECIFIED",
 "OPEN",
@@ -11053,22 +11053,22 @@
 "PENDING"
 ],
 "enumDescriptions": [
-"Default value. Request does not have a state. This value is unused.",
-"Request has been created and review has not started.",
-"Malware Sample has been reviewed and the final verdict has been updated.",
-"Malware Sample is currently being reviewed."
+"Default value. The request does not have a state. This value is unused.",
+"The request has been created and review has not started.",
+"The malware sample has been reviewed and the final verdict has been updated.",
+"The malware sample is being reviewed."
 ],
 "readOnly": true,
 "type": "string"
 },
 "updateTime": {
-"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.",
+"description": "Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "wildfireVerdictChangeRequestId": {
-"description": "Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
+"description": "Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.",
 "readOnly": true,
 "type": "string"
 }
diff --git a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
index fad018e837..add7dc1b19 100644
--- a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
@@ -573,7 +573,7 @@
 "firewallEndpoints": {
 "methods": {
 "create": {
-"description": "Creates a new FirewallEndpoint in a given organization and location.",
+"description": "Creates a new firewall endpoint in a given organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints",
 "httpMethod": "POST",
 "id": "networksecurity.organizations.locations.firewallEndpoints.create",
@@ -582,24 +582,24 @@
 ],
 "parameters": {
 "firewallEndpointId": {
-"description": "Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC.",
+"description": "Required. The ID to use for the firewall endpoint, which becomes the final component of the endpoint's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Value for parent.",
+"description": "Required. The parent resource where this firewall endpoint is created. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/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).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "validateOnly": {
-"description": "Optional. If set, validate the request and preview the endpoint, but do not actually create it.",
+"description": "Optional. If set, validates the request and previews the endpoint, but does not actually create it.",
 "location": "query",
 "type": "boolean"
 }
@@ -616,7 +616,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single org Endpoint.",
+"description": "Deletes a single organization endpoint.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.organizations.locations.firewallEndpoints.delete",
@@ -625,14 +625,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 }
@@ -646,7 +646,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single org Endpoint.",
+"description": "Gets details of a single organization endpoint.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.firewallEndpoints.get",
@@ -655,7 +655,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -671,7 +671,7 @@
 ]
 },
 "list": {
-"description": "Lists FirewallEndpoints in a given organization and location.",
+"description": "Lists firewall endpoints in a given organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.firewallEndpoints.list",
@@ -680,28 +680,28 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filtering results",
+"description": "Optional. Filtering results.",
 "location": "query",
 "type": "string"
 },
 "orderBy": {
-"description": "Hint for how to order the results",
+"description": "Optional. Hint for how to order the results.",
 "location": "query",
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A page token, received from a previous `ListFirewallEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpoints` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListEndpointsRequest",
+"description": "Required. The parent resource from which the firewall endpoints are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
@@ -717,7 +717,7 @@
 ]
 },
 "patch": {
-"description": "Update a single org Endpoint.",
+"description": "Updates a single organization endpoint.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.organizations.locations.firewallEndpoints.patch",
@@ -726,19 +726,19 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of resource.",
+"description": "Immutable. Identifier. The name of the resource.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "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).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the Endpoint resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.",
+"description": "Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpoint` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -760,7 +760,7 @@
 "wildfireVerdictChangeRequests": {
 "methods": {
 "create": {
-"description": "Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.",
+"description": "Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests",
 "httpMethod": "POST",
 "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.create",
@@ -769,7 +769,7 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}",
+"description": "Required. Parent value for `CreateWildfireVerdictChangeRequestRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -788,7 +788,7 @@
 ]
 },
 "get": {
-"description": "Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.",
+"description": "Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in an organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests/{wildfireVerdictChangeRequestsId}",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.get",
@@ -797,7 +797,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
+"description": "Required. The name of the `WildfireVerdictChangeRequest` to retrieve. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+/wildfireVerdictChangeRequests/[^/]+$",
 "required": true,
@@ -813,7 +813,7 @@
 ]
 },
 "list": {
-"description": "Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.",
+"description": "Lists the Advanced malware sandbox (WildFire) verdict change requests in a given firewall endpoint in an organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.list",
@@ -822,23 +822,23 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = \"...\"`) - `state` (enum, equality only, e.g. `state = \"ACTIVE\"`) - `create_time` (timestamp, comparisons, e.g. `create_time > \"2026-01-01T00:00:00Z\"`)",
+"description": "Optional. Filter expression to filter the results. Supported fields are: - `sha256` (string, equality only, for example, `sha256 = \"...\"`) - `state` (enum, equality only, valid values are `OPEN`, `CLOSED`, or `PENDING`, for example, `state = \"PENDING\"`) - `create_time` (timestamp, comparisons, for example, `create_time >= \"2026-01-01T00:00:00Z\" AND create_time <= \"2026-01-31T23:59:59Z\"`). If filtering by `create_time`, you must specify both a start time and an end time. If `create_time` is not specified, the query defaults to the past 30 days.",
 "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.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. A token identifying a page of results the server should return.",
+"description": "Optional. A page token, received from a previous `ListWildfireVerdictChangeRequests` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWildfireVerdictChangeRequests` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}",
+"description": "Required. Parent value for `ListWildfireVerdictChangeRequestsRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -988,7 +988,7 @@
 "securityProfileGroups": {
 "methods": {
 "create": {
-"description": "Creates a new SecurityProfileGroup in a given organization and location.",
+"description": "Creates a new security profile group in a given organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups",
 "httpMethod": "POST",
 "id": "networksecurity.organizations.locations.securityProfileGroups.create",
@@ -997,14 +997,14 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The parent resource of the `SecurityProfileGroup`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "securityProfileGroupId": {
-"description": "Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"security_profile_group1\".",
+"description": "Required. Short name of the `SecurityProfileGroup` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile-group1`.",
 "location": "query",
 "type": "string"
 }
@@ -1021,7 +1021,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single SecurityProfileGroup.",
+"description": "Deletes a single security profile group.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.organizations.locations.securityProfileGroups.delete",
@@ -1030,12 +1030,12 @@
 ],
 "parameters": {
 "etag": {
-"description": "Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.",
+"description": "Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.",
 "location": "query",
 "type": "string"
 },
 "name": {
-"description": "Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Required. The name of the `SecurityProfileGroup` to delete. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
@@ -1051,7 +1051,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single SecurityProfileGroup.",
+"description": "Gets details of a single security profile group.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.securityProfileGroups.get",
@@ -1060,7 +1060,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Required. The name of the `SecurityProfileGroup` to get. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
@@ -1076,7 +1076,7 @@
 ]
 },
 "list": {
-"description": "Lists SecurityProfileGroups in a given organization and location.",
+"description": "Lists security profile group resources in a given organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.securityProfileGroups.list",
@@ -1085,18 +1085,18 @@
 ],
 "parameters": {
 "pageSize": {
-"description": "Optional. Maximum number of SecurityProfileGroups to return per call.",
+"description": "Optional. Maximum number of `SecurityProfileGroup` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data.",
+"description": "Optional. A page token, received from a previous `ListSecurityProfileGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfileGroups` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The project or organization and location from which the `SecurityProfileGroup` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
@@ -1112,7 +1112,7 @@
 ]
 },
 "patch": {
-"description": "Updates the parameters of a single SecurityProfileGroup.",
+"description": "Updates the parameters of a single security profile group.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.organizations.locations.securityProfileGroups.patch",
@@ -1121,14 +1121,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
+"description": "Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfileGroup` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -1150,7 +1150,7 @@
 "securityProfiles": {
 "methods": {
 "create": {
-"description": "Creates a new SecurityProfile in a given organization and location.",
+"description": "Creates a new security profile in a given organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles",
 "httpMethod": "POST",
 "id": "networksecurity.organizations.locations.securityProfiles.create",
@@ -1159,14 +1159,14 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The parent resource of the `SecurityProfile`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "securityProfileId": {
-"description": "Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"security_profile1\".",
+"description": "Required. Short name of the `SecurityProfile` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile1`.",
 "location": "query",
 "type": "string"
 }
@@ -1183,7 +1183,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single SecurityProfile.",
+"description": "Deletes a single security profile.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.organizations.locations.securityProfiles.delete",
@@ -1192,12 +1192,12 @@
 ],
 "parameters": {
 "etag": {
-"description": "Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.",
+"description": "Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.",
 "location": "query",
 "type": "string"
 },
 "name": {
-"description": "Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.",
+"description": "Required. The name of the `SecurityProfile` to delete. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
@@ -1213,7 +1213,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single SecurityProfile.",
+"description": "Gets details of a single security profile.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.securityProfiles.get",
@@ -1222,7 +1222,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.",
+"description": "Required. The name of the `SecurityProfile` to get. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
@@ -1238,7 +1238,7 @@
 ]
 },
 "list": {
-"description": "Lists SecurityProfiles in a given organization and location.",
+"description": "Lists security profile resources in a given organization and location.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles",
 "httpMethod": "GET",
 "id": "networksecurity.organizations.locations.securityProfiles.list",
@@ -1247,18 +1247,18 @@
 ],
 "parameters": {
 "pageSize": {
-"description": "Optional. Maximum number of SecurityProfiles to return per call.",
+"description": "Optional. Maximum number of `SecurityProfile` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data.",
+"description": "Optional. A page token, received from a previous `ListSecurityProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfiles` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The project or organization and location from which the `SecurityProfile` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+$",
 "required": true,
@@ -1274,7 +1274,7 @@
 ]
 },
 "patch": {
-"description": "Updates the parameters of a single SecurityProfile.",
+"description": "Updates the parameters of a single security profile.",
 "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.organizations.locations.securityProfiles.patch",
@@ -1283,14 +1283,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^organizations/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
+"description": "Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfile` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -2854,7 +2854,7 @@
 "firewallEndpointAssociations": {
 "methods": {
 "create": {
-"description": "Creates a new FirewallEndpointAssociation in a given project and location.",
+"description": "Creates a new firewall endpoint association in a given project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.create",
@@ -2863,19 +2863,19 @@
 ],
 "parameters": {
 "firewallEndpointAssociationId": {
-"description": "Optional. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_association_id from the method_signature of Create RPC.",
+"description": "Optional. The ID to use for the firewall endpoint association, which becomes the final component of the association's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Value for parent.",
+"description": "Required. The parent resource where this firewall endpoint association is created. Format: `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 }
@@ -2892,7 +2892,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single FirewallEndpointAssociation.",
+"description": "Deletes a single firewall endpoint association.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations/{firewallEndpointAssociationsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.delete",
@@ -2901,14 +2901,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpointAssociations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 }
@@ -2922,7 +2922,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single FirewallEndpointAssociation.",
+"description": "Gets details of a single firewall endpoint association.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations/{firewallEndpointAssociationsId}",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.get",
@@ -2931,7 +2931,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpointAssociations/[^/]+$",
 "required": true,
@@ -2947,7 +2947,7 @@
 ]
 },
 "list": {
-"description": "Lists Associations in a given project and location.",
+"description": "Lists associations in a given project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.list",
@@ -2956,28 +2956,28 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filtering results",
+"description": "Optional. Filtering results.",
 "location": "query",
 "type": "string"
 },
 "orderBy": {
-"description": "Hint for how to order the results",
+"description": "Hint for how to order the results.",
 "location": "query",
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A page token, received from a previous `ListFirewallEndpointAssociations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpointAssociations` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListAssociationsRequest",
+"description": "Required. The parent resource from which the firewall endpoint associations are listed. Format: `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -2993,7 +2993,7 @@
 ]
 },
 "patch": {
-"description": "Update a single FirewallEndpointAssociation.",
+"description": "Updates a single firewall endpoint association.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpointAssociations/{firewallEndpointAssociationsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.projects.locations.firewallEndpointAssociations.patch",
@@ -3002,19 +3002,19 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. name of resource",
+"description": "Immutable. Identifier. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpointAssociations/[^/]+$",
 "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).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the Association resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.",
+"description": "Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpointAssociation` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -3036,7 +3036,7 @@
 "firewallEndpoints": {
 "methods": {
 "create": {
-"description": "Creates a new FirewallEndpoint in a given project and location.",
+"description": "Creates a new firewall endpoint in a given project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.firewallEndpoints.create",
@@ -3045,24 +3045,24 @@
 ],
 "parameters": {
 "firewallEndpointId": {
-"description": "Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC.",
+"description": "Required. The ID to use for the firewall endpoint, which becomes the final component of the endpoint's resource name. This value must be 1-63 characters long, start with a lowercase letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Value for parent.",
+"description": "Required. The parent resource where this firewall endpoint is created. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "validateOnly": {
-"description": "Optional. If set, validate the request and preview the endpoint, but do not actually create it.",
+"description": "Optional. If set, validates the request and previews the endpoint, but does not actually create it.",
 "location": "query",
 "type": "boolean"
 }
@@ -3079,7 +3079,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single project Endpoint.",
+"description": "Deletes a single project endpoint.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.projects.locations.firewallEndpoints.delete",
@@ -3088,14 +3088,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
 "type": "string"
 },
 "requestId": {
-"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 }
@@ -3109,7 +3109,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single project 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",
@@ -3118,7 +3118,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the resource",
+"description": "Required. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -3134,7 +3134,7 @@
 ]
 },
 "list": {
-"description": "Lists FirewallEndpoints in a given project and location.",
+"description": "Lists firewall endpoints in a given project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpoints.list",
@@ -3143,28 +3143,28 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filtering results",
+"description": "Optional. Filtering results.",
 "location": "query",
 "type": "string"
 },
 "orderBy": {
-"description": "Hint for how to order the results",
+"description": "Optional. Hint for how to order the results.",
 "location": "query",
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A page token, received from a previous `ListFirewallEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirewallEndpoints` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListEndpointsRequest",
+"description": "Required. The parent resource from which the firewall endpoints are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -3180,7 +3180,7 @@
 ]
 },
 "patch": {
-"description": "Update a single project Endpoint.",
+"description": "Updates a single project endpoint.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.projects.locations.firewallEndpoints.patch",
@@ -3189,19 +3189,19 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of resource.",
+"description": "Immutable. Identifier. The name of the resource.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "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).",
+"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes 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 the original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`).",
 "location": "query",
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the Endpoint resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.",
+"description": "Required. Field mask used to specify the fields to be overwritten in the `FirewallEndpoint` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields present in the request are overwritten.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -3223,7 +3223,7 @@
 "wildfireVerdictChangeRequests": {
 "methods": {
 "create": {
-"description": "Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.",
+"description": "Creates an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.create",
@@ -3232,7 +3232,7 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}",
+"description": "Required. Parent value for `CreateWildfireVerdictChangeRequestRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -3251,7 +3251,7 @@
 ]
 },
 "get": {
-"description": "Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.",
+"description": "Gets an Advanced malware sandbox verdict change request in a given firewall endpoint in a project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests/{wildfireVerdictChangeRequestsId}",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.get",
@@ -3260,7 +3260,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
+"description": "Required. The name of the `WildfireVerdictChangeRequest` to retrieve. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+/wildfireVerdictChangeRequests/[^/]+$",
 "required": true,
@@ -3276,7 +3276,7 @@
 ]
 },
 "list": {
-"description": "Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.",
+"description": "Lists the Advanced malware sandbox verdict change requests in a given firewall endpoint in a project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.list",
@@ -3285,23 +3285,23 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = \"...\"`) - `state` (enum, equality only, e.g. `state = \"ACTIVE\"`) - `create_time` (timestamp, comparisons, e.g. `create_time > \"2026-01-01T00:00:00Z\"`)",
+"description": "Optional. Filter expression to filter the results. Supported fields are: - `sha256` (string, equality only, for example, `sha256 = \"...\"`) - `state` (enum, equality only, valid values are `OPEN`, `CLOSED`, or `PENDING`, for example, `state = \"PENDING\"`) - `create_time` (timestamp, comparisons, for example, `create_time >= \"2026-01-01T00:00:00Z\" AND create_time <= \"2026-01-31T23:59:59Z\"`). If filtering by `create_time`, you must specify both a start time and an end time. If `create_time` is not specified, the query defaults to the past 30 days.",
 "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.",
+"description": "Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. A token identifying a page of results the server should return.",
+"description": "Optional. A page token, received from a previous `ListWildfireVerdictChangeRequests` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWildfireVerdictChangeRequests` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}",
+"description": "Required. Parent value for `ListWildfireVerdictChangeRequestsRequest`. The parent is a firewall endpoint resource. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$",
 "required": true,
@@ -5696,7 +5696,7 @@
 "securityProfileGroups": {
 "methods": {
 "create": {
-"description": "Creates a new SecurityProfileGroup in a given project and location.",
+"description": "Creates a new security profile group in a given project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.securityProfileGroups.create",
@@ -5705,14 +5705,14 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The parent resource of the `SecurityProfileGroup`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "securityProfileGroupId": {
-"description": "Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"security_profile_group1\".",
+"description": "Required. Short name of the `SecurityProfileGroup` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile-group1`.",
 "location": "query",
 "type": "string"
 }
@@ -5729,7 +5729,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single SecurityProfileGroup.",
+"description": "Deletes a single security profile group.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.projects.locations.securityProfileGroups.delete",
@@ -5738,12 +5738,12 @@
 ],
 "parameters": {
 "etag": {
-"description": "Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.",
+"description": "Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.",
 "location": "query",
 "type": "string"
 },
 "name": {
-"description": "Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Required. The name of the `SecurityProfileGroup` to delete. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
@@ -5759,7 +5759,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single SecurityProfileGroup.",
+"description": "Gets details of a single security profile group.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.securityProfileGroups.get",
@@ -5768,7 +5768,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Required. The name of the `SecurityProfileGroup` to get. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
@@ -5784,7 +5784,7 @@
 ]
 },
 "list": {
-"description": "Lists SecurityProfileGroups in a given project and location.",
+"description": "Lists security profile group resources in a given project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.securityProfileGroups.list",
@@ -5793,18 +5793,18 @@
 ],
 "parameters": {
 "pageSize": {
-"description": "Optional. Maximum number of SecurityProfileGroups to return per call.",
+"description": "Optional. Maximum number of `SecurityProfileGroup` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data.",
+"description": "Optional. A page token, received from a previous `ListSecurityProfileGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfileGroups` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The project or organization and location from which the `SecurityProfileGroup` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -5820,7 +5820,7 @@
 ]
 },
 "patch": {
-"description": "Updates the parameters of a single SecurityProfileGroup.",
+"description": "Updates the parameters of a single security profile group.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfileGroups/{securityProfileGroupsId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.projects.locations.securityProfileGroups.patch",
@@ -5829,14 +5829,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfileGroups/[^/]+$",
 "required": true,
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
+"description": "Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfileGroup` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -5858,7 +5858,7 @@
 "securityProfiles": {
 "methods": {
 "create": {
-"description": "Creates a new SecurityProfile in a given project and location.",
+"description": "Creates a new security profile in a given project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfiles",
 "httpMethod": "POST",
 "id": "networksecurity.projects.locations.securityProfiles.create",
@@ -5867,14 +5867,14 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The parent resource of the `SecurityProfile`. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
 "type": "string"
 },
 "securityProfileId": {
-"description": "Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"security_profile1\".",
+"description": "Required. Short name of the `SecurityProfile` resource to be created. This value must be 1 to 63 characters long, contain only lowercase letters, numbers, and hyphens, and must not start with a number. For example, `security-profile1`.",
 "location": "query",
 "type": "string"
 }
@@ -5891,7 +5891,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a single SecurityProfile.",
+"description": "Deletes a single security profile.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "DELETE",
 "id": "networksecurity.projects.locations.securityProfiles.delete",
@@ -5900,12 +5900,12 @@
 ],
 "parameters": {
 "etag": {
-"description": "Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error.",
+"description": "Optional. If the client-provided `etag` is out of date, the delete request returns an `ABORTED` error.",
 "location": "query",
 "type": "string"
 },
 "name": {
-"description": "Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.",
+"description": "Required. The name of the `SecurityProfile` to delete. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
@@ -5921,7 +5921,7 @@
 ]
 },
 "get": {
-"description": "Gets details of a single SecurityProfile.",
+"description": "Gets details of a single security profile.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.securityProfiles.get",
@@ -5930,7 +5930,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.",
+"description": "Required. The name of the `SecurityProfile` to get. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
@@ -5946,7 +5946,7 @@
 ]
 },
 "list": {
-"description": "Lists SecurityProfiles in a given project and location.",
+"description": "Lists security profiles in a given project and location.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfiles",
 "httpMethod": "GET",
 "id": "networksecurity.projects.locations.securityProfiles.list",
@@ -5955,18 +5955,18 @@
 ],
 "parameters": {
 "pageSize": {
-"description": "Optional. Maximum number of SecurityProfiles to return per call.",
+"description": "Optional. Maximum number of `SecurityProfile` resources to return per call. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the server picks an appropriate default.",
 "format": "int32",
 "location": "query",
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data.",
+"description": "Optional. A page token, received from a previous `ListSecurityProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSecurityProfiles` must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
 "parent": {
-"description": "Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/*/locations/{location}`.",
+"description": "Required. The project or organization and location from which the `SecurityProfile` resources are listed. Format: `organizations/{organization}/locations/{location}` or `projects/{project}/locations/{location}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -5982,7 +5982,7 @@
 ]
 },
 "patch": {
-"description": "Updates the parameters of a single SecurityProfile.",
+"description": "Updates the parameters of a single security profile.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/securityProfiles/{securityProfilesId}",
 "httpMethod": "PATCH",
 "id": "networksecurity.projects.locations.securityProfiles.patch",
@@ -5991,14 +5991,14 @@
 ],
 "parameters": {
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/securityProfiles/[^/]+$",
 "required": true,
 "type": "string"
 },
 "updateMask": {
-"description": "Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
+"description": "Required. Field mask is used to specify the fields to be overwritten in the `SecurityProfile` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask.",
 "format": "google-fieldmask",
 "location": "query",
 "type": "string"
@@ -6590,7 +6590,7 @@
 }
 }
 },
-"revision": "20261023",
+"revision": "20261104",
 "rootUrl": "https://networksecurity.googleapis.com/",
 "schemas": {
 "AddAddressGroupItemsRequest": {
@@ -7533,12 +7533,12 @@
 "type": "object"
 },
 "FirewallEndpoint": {
-"description": "Message describing Endpoint object.",
+"description": "Message describing a firewall endpoint.",
 "id": "FirewallEndpoint",
 "properties": {
 "associatedNetworks": {
 "deprecated": true,
-"description": "Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.",
+"description": "Output only. Deprecated: Use the `network` field in the `associations` message instead. List of networks that are associated with this endpoint in the local zone. This is a projection of the firewall endpoint association resources pointing at this endpoint. A network only appears in this list after traffic routing is fully configured. Format: `projects/{project}/global/networks/{name}`.",
 "items": {
 "type": "string"
 },
@@ -7546,7 +7546,7 @@
 "type": "array"
 },
 "associations": {
-"description": "Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.",
+"description": "Output only. List of firewall endpoint association resources that are associated with this endpoint. An association only appears in this list after traffic routing is fully configured.",
 "items": {
 "$ref": "FirewallEndpointAssociationReference"
 },
@@ -7558,13 +7558,13 @@
 "type": "string"
 },
 "createTime": {
-"description": "Output only. Create time stamp.",
+"description": "Output only. Create timestamp.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "description": {
-"description": "Optional. Description of the firewall endpoint. Max length 2048 characters.",
+"description": "Optional. Description of the firewall endpoint. The maximum length is 2048 characters.",
 "type": "string"
 },
 "endpointSettings": {
@@ -7572,7 +7572,7 @@
 "description": "Optional. Settings for the endpoint."
 },
 "explicitPrivateServiceConnectAttachment": {
-"description": "Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id}",
+"description": "Output only. The resource name of the explicit Private Service Connect (PSC) attachment. Format: `projects/{project}/regions/{region}/serviceAttachments/{id}`.",
 "readOnly": true,
 "type": "string"
 },
@@ -7580,11 +7580,11 @@
 "additionalProperties": {
 "type": "string"
 },
-"description": "Optional. Labels as key value pairs",
+"description": "Optional. Labels as key-value pairs.",
 "type": "object"
 },
 "name": {
-"description": "Immutable. Identifier. Name of resource.",
+"description": "Immutable. Identifier. The name of the resource.",
 "type": "string"
 },
 "reconciling": {
@@ -7593,12 +7593,12 @@
 "type": "boolean"
 },
 "satisfiesPzi": {
-"description": "Output only. [Output Only] Reserved for future use.",
+"description": "Output only. Reserved for future use.",
 "readOnly": true,
 "type": "boolean"
 },
 "satisfiesPzs": {
-"description": "Output only. [Output Only] Reserved for future use.",
+"description": "Output only. Reserved for future use.",
 "readOnly": true,
 "type": "boolean"
 },
@@ -7622,45 +7622,45 @@
 "type": "string"
 },
 "updateTime": {
-"description": "Output only. Update time stamp",
+"description": "Output only. Update timestamp.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "wildfireSettings": {
 "$ref": "FirewallEndpointWildfireSettings",
-"description": "Optional. Settings for WildFire analysis."
+"description": "Optional. Settings for Advanced malware sandbox (WildFire) analysis."
 }
 },
 "type": "object"
 },
 "FirewallEndpointAssociation": {
-"description": "Message describing Association object",
+"description": "Message describing a firewall endpoint association.",
 "id": "FirewallEndpointAssociation",
 "properties": {
 "createTime": {
-"description": "Output only. Create time stamp",
+"description": "Output only. Create timestamp.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "disabled": {
-"description": "Optional. Whether the association is disabled. True indicates that traffic won't be intercepted",
+"description": "Optional. Whether the association is disabled. Setting this to `true` indicates that traffic isn't intercepted. The default value is `false`.",
 "type": "boolean"
 },
 "firewallEndpoint": {
-"description": "Required. The URL of the FirewallEndpoint that is being associated.",
+"description": "Required. The URL of the `FirewallEndpoint` that is being associated.",
 "type": "string"
 },
 "labels": {
 "additionalProperties": {
 "type": "string"
 },
-"description": "Optional. Labels as key value pairs",
+"description": "Optional. Labels as key-value pairs.",
 "type": "object"
 },
 "name": {
-"description": "Immutable. Identifier. name of resource",
+"description": "Immutable. Identifier. The name of the resource.",
 "type": "string"
 },
 "network": {
@@ -7668,7 +7668,7 @@
 "type": "string"
 },
 "reconciling": {
-"description": "Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.",
+"description": "Output only. Whether reconciliation is in progress.",
 "readOnly": true,
 "type": "boolean"
 },
@@ -7694,11 +7694,11 @@
 "type": "string"
 },
 "tlsInspectionPolicy": {
-"description": "Optional. The URL of the TlsInspectionPolicy that is being associated.",
+"description": "Optional. The URL of the `TlsInspectionPolicy` that is being associated.",
 "type": "string"
 },
 "updateTime": {
-"description": "Output only. Update time stamp",
+"description": "Output only. Update timestamp.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
@@ -7707,16 +7707,16 @@
 "type": "object"
 },
 "FirewallEndpointAssociationReference": {
-"description": "This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.",
+"description": "A subset of the `FirewallEndpointAssociation` message, containing fields to be used by the consumer.",
 "id": "FirewallEndpointAssociationReference",
 "properties": {
 "name": {
-"description": "Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}",
+"description": "Output only. The resource name of the `FirewallEndpointAssociation`. Format: `projects/{project}/locations/{location}/firewallEndpointAssociations/{id}`.",
 "readOnly": true,
 "type": "string"
 },
 "network": {
-"description": "Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.",
+"description": "Output only. The associated VPC network. Format: `projects/{project}/global/networks/{name}`.",
 "readOnly": true,
 "type": "string"
 }
@@ -7751,70 +7751,70 @@
 ],
 "enumDescriptions": [
 "Palo Alto Networks content cloud region not specified.",
-"us.hawkeye.services-edge.paloaltonetworks.com",
-"APAC content cloud portal: apac.hawkeye.services-edge.paloaltonetworks.com",
-"India content cloud portal: in.hawkeye.services-edge.paloaltonetworks.com",
-"UK content cloud portal: uk.hawkeye.services-edge.paloaltonetworks.com",
-"France content cloud portal: fr.hawkeye.services-edge.paloaltonetworks.com",
-"Japan content cloud portal: jp.hawkeye.services-edge.paloaltonetworks.com",
-"Australia content cloud portal: au.hawkeye.services-edge.paloaltonetworks.com",
-"Canada content cloud portal: ca.hawkeye.services-edge.paloaltonetworks.com",
-"Switzerland content cloud portal: ch.hawkeye.services-edge.paloaltonetworks.com",
-"Netherlands content cloud portal: nl.hawkeye.services-edge.paloaltonetworks.com",
-"Indonesia content cloud portal: id.hawkeye.services-edge.paloaltonetworks.com",
-"Qatar content cloud portal: qa.hawkeye.services-edge.paloaltonetworks.com",
-"Taiwan content cloud portal: tw.hawkeye.services-edge.paloaltonetworks.com",
-"Poland content cloud portal: pl.hawkeye.services-edge.paloaltonetworks.com",
-"South Korea content cloud portal: kr.hawkeye.services-edge.paloaltonetworks.com",
-"Saudi Arabia content cloud portal: sa.hawkeye.services-edge.paloaltonetworks.com",
-"Italy content cloud portal: it.hawkeye.services-edge.paloaltonetworks.com"
+"US Central content cloud portal: `us.hawkeye.services-edge.paloaltonetworks.com`.",
+"APAC content cloud portal: `apac.hawkeye.services-edge.paloaltonetworks.com`.",
+"India content cloud portal: `in.hawkeye.services-edge.paloaltonetworks.com`.",
+"UK content cloud portal: `uk.hawkeye.services-edge.paloaltonetworks.com`.",
+"France content cloud portal: `fr.hawkeye.services-edge.paloaltonetworks.com`.",
+"Japan content cloud portal: `jp.hawkeye.services-edge.paloaltonetworks.com`.",
+"Australia content cloud portal: `au.hawkeye.services-edge.paloaltonetworks.com`.",
+"Canada content cloud portal: `ca.hawkeye.services-edge.paloaltonetworks.com`.",
+"Switzerland content cloud portal: `ch.hawkeye.services-edge.paloaltonetworks.com`.",
+"Netherlands content cloud portal: `nl.hawkeye.services-edge.paloaltonetworks.com`.",
+"Indonesia content cloud portal: `id.hawkeye.services-edge.paloaltonetworks.com`.",
+"Qatar content cloud portal: `qa.hawkeye.services-edge.paloaltonetworks.com`.",
+"Taiwan content cloud portal: `tw.hawkeye.services-edge.paloaltonetworks.com`.",
+"Poland content cloud portal: `pl.hawkeye.services-edge.paloaltonetworks.com`.",
+"South Korea content cloud portal: `kr.hawkeye.services-edge.paloaltonetworks.com`.",
+"Saudi Arabia content cloud portal: `sa.hawkeye.services-edge.paloaltonetworks.com`.",
+"Italy content cloud portal: `it.hawkeye.services-edge.paloaltonetworks.com`."
 ],
 "type": "string"
 },
 "httpPartialResponseBlocked": {
-"description": "Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.",
+"description": "Optional. Whether to block HTTP partial responses for the endpoint. When set to `true`, the firewall blocks the resumption of HTTP file downloads. Setting this to `false` provides maximum availability, while `true` provides maximum security.",
 "type": "boolean"
 },
 "jumboFramesEnabled": {
-"description": "Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.",
+"description": "Optional. Immutable. Indicates whether jumbo frames are enabled. The default value is `false`.",
 "type": "boolean"
 }
 },
 "type": "object"
 },
 "FirewallEndpointWildfireSettings": {
-"description": "Settings for WildFire analysis.",
+"description": "Settings for Advanced malware sandbox analysis.",
 "id": "FirewallEndpointWildfireSettings",
 "properties": {
 "enabled": {
-"description": "Optional. Indicates whether WildFire analysis is enabled. Default value is false.",
+"description": "Optional. Indicates whether Advanced malware sandbox analysis is enabled. The default value is `false`.",
 "type": "boolean"
 },
 "wildfireInlineCloudAnalysisSettings": {
 "$ref": "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings",
-"description": "Optional. Settings for WildFire inline cloud analysis."
+"description": "Optional. Settings for Advanced malware sandbox inline cloud analysis."
 },
 "wildfireRealtimeLookupDuration": {
-"description": "Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.",
+"description": "Optional. The duration that a file is held while the Advanced malware sandbox real-time signature cloud performs a signature lookup. Valid values are from 1 to 5000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `\"0.001s\"` to `\"5s\"`). The default value is `1000` milliseconds (`\"1s\"` in JSON).",
 "format": "google-duration",
 "type": "string"
 },
 "wildfireRealtimeLookupTimeoutAction": {
-"description": "Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.",
+"description": "Optional. The action to take on an Advanced malware sandbox real-time signature lookup timeout. The default value is `ALLOW`.",
 "enum": [
 "WILDFIRE_REALTIME_SIGNATURE_LOOKUP_TIMEOUT_ACTION_UNSPECIFIED",
 "ALLOW",
 "DENY"
 ],
 "enumDescriptions": [
-"WildFire real time signature lookup timeout action not specified.",
-"The files that timed out in the signature lookup will be allowed to transmit.",
-"The files that timed out in the signature lookup will be denied to transmit."
+"Advanced malware sandbox real-time signature lookup timeout action not specified.",
+"Files that time out during the signature lookup are allowed to transmit.",
+"Files that time out during the signature lookup are not allowed to transmit."
 ],
 "type": "string"
 },
 "wildfireRegion": {
-"description": "Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud",
+"description": "Optional. The region where Advanced malware sandbox analysis is performed. For a list of Palo Alto Networks supported regions, see [Advanced WildFire global cloud](https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud).",
 "enum": [
 "WILDFIRE_REGION_UNSPECIFIED",
 "CANADA",
@@ -7863,29 +7863,29 @@
 "type": "object"
 },
 "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings": {
-"description": "Settings for WildFire inline cloud analysis.",
+"description": "Settings for Advanced malware sandbox inline cloud analysis.",
 "id": "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings",
 "properties": {
 "maxAnalysisDuration": {
-"description": "Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.",
+"description": "Optional. The timeout that a file is held while Advanced malware sandbox inline cloud analysis is performed. Valid values are from 1 to 240000 milliseconds. In canonical JSON encoding, this is represented as a string ending in `s` (for example, `\"0.001s\"` to `\"240s\"`). The default value is `30000` milliseconds (`\"30s\"` in JSON).",
 "format": "google-duration",
 "type": "string"
 },
 "submissionTimeoutLoggingDisabled": {
-"description": "Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.",
+"description": "Optional. Whether to disable Advanced malware sandbox submission log generation for files that time out during Advanced malware sandbox inline cloud analysis.",
 "type": "boolean"
 },
 "timeoutAction": {
-"description": "Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.",
+"description": "Optional. The action to take when Advanced malware sandbox inline cloud analysis times out. The default value is `ALLOW`.",
 "enum": [
 "WILDFIRE_INLINE_CLOUD_ANALYSIS_TIMEOUT_ACTION_UNSPECIFIED",
 "ALLOW",
 "DENY"
 ],
 "enumDescriptions": [
-"WildFire inline cloud analysis timeout action not specified.",
-"The files that timed out will be allowed to transmit.",
-"The files that timed out will be denied to transmit."
+"Advanced malware sandbox inline cloud analysis timeout action not specified.",
+"Files that time out are allowed to transmit.",
+"Files that time out are not allowed to transmit."
 ],
 "type": "string"
 }
@@ -8826,22 +8826,22 @@
 "type": "object"
 },
 "ListFirewallEndpointAssociationsResponse": {
-"description": "Message for response to listing Associations",
+"description": "Message for response to listing associations.",
 "id": "ListFirewallEndpointAssociationsResponse",
 "properties": {
 "firewallEndpointAssociations": {
-"description": "The list of Association",
+"description": "The list of associations.",
 "items": {
 "$ref": "FirewallEndpointAssociation"
 },
 "type": "array"
 },
 "nextPageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "unreachable": {
-"description": "Locations that could not be reached.",
+"description": "Locations that could not be reached. The list of unreachable locations might expand in the future.",
 "items": {
 "type": "string"
 },
@@ -8851,22 +8851,22 @@
 "type": "object"
 },
 "ListFirewallEndpointsResponse": {
-"description": "Message for response to listing Endpoints",
+"description": "Message for response to listing endpoints.",
 "id": "ListFirewallEndpointsResponse",
 "properties": {
 "firewallEndpoints": {
-"description": "The list of Endpoint",
+"description": "The list of endpoints.",
 "items": {
 "$ref": "FirewallEndpoint"
 },
 "type": "array"
 },
 "nextPageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "unreachable": {
-"description": "Locations that could not be reached.",
+"description": "Locations that could not be reached. The list of unreachable locations might expand in the future.",
 "items": {
 "type": "string"
 },
@@ -9202,15 +9202,15 @@
 "type": "object"
 },
 "ListSecurityProfileGroupsResponse": {
-"description": "Response returned by the ListSecurityProfileGroups method.",
+"description": "Response returned by the `ListSecurityProfileGroups` method.",
 "id": "ListSecurityProfileGroupsResponse",
 "properties": {
 "nextPageToken": {
-"description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "securityProfileGroups": {
-"description": "List of SecurityProfileGroups resources.",
+"description": "List of `SecurityProfileGroup` resources.",
 "items": {
 "$ref": "SecurityProfileGroup"
 },
@@ -9220,15 +9220,15 @@
 "type": "object"
 },
 "ListSecurityProfilesResponse": {
-"description": "Response returned by the ListSecurityProfiles method.",
+"description": "Response returned by the `ListSecurityProfiles` method.",
 "id": "ListSecurityProfilesResponse",
 "properties": {
 "nextPageToken": {
-"description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "securityProfiles": {
-"description": "List of SecurityProfile resources.",
+"description": "List of `SecurityProfile` resources.",
 "items": {
 "$ref": "SecurityProfile"
 },
@@ -9313,11 +9313,11 @@
 "type": "object"
 },
 "ListWildfireVerdictChangeRequestsResponse": {
-"description": "Message for response to listing WildfireVerdictChangeRequests.",
+"description": "Message for response to listing `WildfireVerdictChangeRequest` resources.",
 "id": "ListWildfireVerdictChangeRequestsResponse",
 "properties": {
 "nextPageToken": {
-"description": "A token identifying a page of results the server should return.",
+"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
 "type": "string"
 },
 "unreachable": {
@@ -9328,7 +9328,7 @@
 "type": "array"
 },
 "wildfireVerdictChangeRequests": {
-"description": "The list of WildfireVerdictChangeRequests",
+"description": "The list of `WildfireVerdictChangeRequest` resources.",
 "items": {
 "$ref": "WildfireVerdictChangeRequest"
 },
@@ -10768,7 +10768,7 @@
 "type": "object"
 },
 "SecurityProfile": {
-"description": "SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.",
+"description": "A resource that defines the behavior for one of many `ProfileType` values.",
 "id": "SecurityProfile",
 "properties": {
 "createTime": {
@@ -10779,14 +10779,14 @@
 },
 "customInterceptProfile": {
 "$ref": "CustomInterceptProfile",
-"description": "The custom TPPI configuration for the SecurityProfile."
+"description": "The custom network security in-band integration configuration for the `SecurityProfile`."
 },
 "customMirroringProfile": {
 "$ref": "CustomMirroringProfile",
-"description": "The custom Packet Mirroring v2 configuration for the SecurityProfile."
+"description": "The custom network security out-of-band integration configuration for the `SecurityProfile`."
 },
 "description": {
-"description": "Optional. An optional description of the profile. Max length 512 characters.",
+"description": "Optional. An optional description of the profile. The maximum length is 512 characters.",
 "type": "string"
 },
 "etag": {
@@ -10798,19 +10798,19 @@
 "additionalProperties": {
 "type": "string"
 },
-"description": "Optional. Labels as key value pairs.",
+"description": "Optional. Labels as key-value pairs.",
 "type": "object"
 },
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfile` resource. Format: `organizations/{organization}/locations/{location}/securityProfiles/{security_profile}` or `projects/{project}/locations/{location}/securityProfiles/{security_profile}`.",
 "type": "string"
 },
 "threatPreventionProfile": {
 "$ref": "ThreatPreventionProfile",
-"description": "The threat prevention configuration for the SecurityProfile."
+"description": "The threat prevention configuration for the `SecurityProfile`."
 },
 "type": {
-"description": "Immutable. The single ProfileType that the SecurityProfile resource configures.",
+"description": "Immutable. The single `ProfileType` that the `SecurityProfile` resource configures.",
 "enum": [
 "PROFILE_TYPE_UNSPECIFIED",
 "THREAT_PREVENTION",
@@ -10822,10 +10822,10 @@
 "enumDescriptions": [
 "Profile type not specified.",
 "Profile type for threat prevention.",
-"Profile type for packet mirroring v2",
-"Profile type for TPPI.",
+"Profile type for network security out-of-band integration.",
+"Profile type for network security in-band integration.",
 "Profile type for URL filtering.",
-"Profile type for WildFire Analysis."
+"Profile type for Advanced malware sandbox (WildFire) analysis."
 ],
 "type": "string"
 },
@@ -10837,17 +10837,17 @@
 },
 "urlFilteringProfile": {
 "$ref": "UrlFilteringProfile",
-"description": "The URL filtering configuration for the SecurityProfile."
+"description": "The URL filtering configuration for the `SecurityProfile`."
 },
 "wildfireAnalysisProfile": {
 "$ref": "WildfireAnalysisProfile",
-"description": "The WildFire Analysis configurations for SecurityProfile."
+"description": "The Advanced malware sandbox analysis configuration for the `SecurityProfile`."
 }
 },
 "type": "object"
 },
 "SecurityProfileGroup": {
-"description": "SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.",
+"description": "A resource that defines the behavior for various `ProfileType` values.",
 "id": "SecurityProfileGroup",
 "properties": {
 "createTime": {
@@ -10857,21 +10857,21 @@
 "type": "string"
 },
 "customInterceptProfile": {
-"description": "Optional. Reference to a SecurityProfile with the CustomIntercept configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the custom intercept configuration.",
 "type": "string"
 },
 "customMirroringProfile": {
-"description": "Optional. Reference to a SecurityProfile with the CustomMirroring configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the custom mirroring configuration.",
 "type": "string"
 },
 "dataPathId": {
-"description": "Output only. Identifier used by the data-path. Unique within `{container, location}`.",
+"description": "Output only. Identifier used by the data path. Unique within `{container, location}`.",
 "format": "uint64",
 "readOnly": true,
 "type": "string"
 },
 "description": {
-"description": "Optional. An optional description of the profile group. Max length 2048 characters.",
+"description": "Optional. An optional description of the profile group. The maximum length is 2048 characters.",
 "type": "string"
 },
 "etag": {
@@ -10883,15 +10883,15 @@
 "additionalProperties": {
 "type": "string"
 },
-"description": "Optional. Labels as key value pairs.",
+"description": "Optional. Labels as key-value pairs.",
 "type": "object"
 },
 "name": {
-"description": "Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.",
+"description": "Immutable. Identifier. Name of the `SecurityProfileGroup` resource. Format: `organizations/{organization}/locations/{location}/securityProfileGroups/{security_profile_group}` or `projects/{project}/locations/{location}/securityProfileGroups/{security_profile_group}`.",
 "type": "string"
 },
 "threatPreventionProfile": {
-"description": "Optional. Reference to a SecurityProfile with the ThreatPrevention configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the threat prevention configuration.",
 "type": "string"
 },
 "updateTime": {
@@ -10901,11 +10901,11 @@
 "type": "string"
 },
 "urlFilteringProfile": {
-"description": "Optional. Reference to a SecurityProfile with the UrlFiltering configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the URL filtering configuration.",
 "type": "string"
 },
 "wildfireAnalysisProfile": {
-"description": "Optional. Reference to a SecurityProfile with the WildFire configuration.",
+"description": "Optional. Reference to a `SecurityProfile` with the Advanced malware sandbox (WildFire) configuration.",
 "type": "string"
 }
 },
@@ -11321,18 +11321,18 @@
 "type": "object"
 },
 "WildfireAnalysisProfile": {
-"description": "WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior.",
+"description": "`WildfireAnalysisProfile` defines Palo Alto Networks WildFire behavior.",
 "id": "WildfireAnalysisProfile",
 "properties": {
 "wildfireInlineCloudAnalysisRules": {
-"description": "Optional. Configuration for WildFire inline cloud analysis.",
+"description": "Optional. Configuration for Advanced malware sandbox inline cloud analysis.",
 "items": {
 "$ref": "WildfireInlineCloudAnalysisRule"
 },
 "type": "array"
 },
 "wildfireInlineMlOverrides": {
-"description": "Optional. Configuration for overriding inline ML WildFire actions per protocol.",
+"description": "Optional. Configuration for overriding inline ML Advanced malware sandbox actions per protocol.",
 "items": {
 "$ref": "WildfireInlineMlOverride"
 },
@@ -11340,36 +11340,36 @@
 },
 "wildfireInlineMlSetting": {
 "$ref": "WildfireInlineMlSettings",
-"description": "Optional. Settings for WildFire Inline ML analysis."
+"description": "Optional. Settings for Advanced malware sandbox inline ML analysis."
 },
 "wildfireInlineMlSettings": {
 "deprecated": true,
-"description": "Optional. Settings for WildFire Inline ML analysis.",
+"description": "Optional. Deprecated: Use `wildfire_inline_ml_setting` instead. Settings for Advanced malware sandbox inline ML analysis.",
 "items": {
 "$ref": "WildfireInlineMlSettings"
 },
 "type": "array"
 },
 "wildfireOverrides": {
-"description": "Optional. Configuration for overriding WildFire actions per protocol.",
+"description": "Optional. Configuration for overriding Advanced malware sandbox actions per protocol.",
 "items": {
 "$ref": "WildfireOverride"
 },
 "type": "array"
 },
 "wildfireRealtimeLookup": {
-"description": "Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false.",
+"description": "Optional. Whether to hold the transfer of a file while the Advanced malware sandbox real-time signature cloud performs a signature lookup. The default value is `false`.",
 "type": "boolean"
 },
 "wildfireSubmissionRules": {
-"description": "Optional. Configurations for WildFire file submissions.",
+"description": "Optional. Configurations for Advanced malware sandbox (WildFire) file submissions.",
 "items": {
 "$ref": "WildfireSubmissionRule"
 },
 "type": "array"
 },
 "wildfireThreatOverrides": {
-"description": "Optional. Configuration for overriding WildFire threats action by threat_id match.",
+"description": "Optional. Configuration for overriding the Advanced malware sandbox threat action by `threat_id` match.",
 "items": {
 "$ref": "WildfireThreatOverride"
 },
@@ -11379,11 +11379,11 @@
 "type": "object"
 },
 "WildfireInlineCloudAnalysisRule": {
-"description": "The list of file type configurations to be scanned by WildFire Inline Cloud Analysis.",
+"description": "The list of file type configurations to be scanned by Advanced malware sandbox inline cloud analysis.",
 "id": "WildfireInlineCloudAnalysisRule",
 "properties": {
 "action": {
-"description": "Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY.",
+"description": "Required. Action to take when a threat is detected using Advanced malware sandbox inline cloud analysis. The default value is `DENY`.",
 "enum": [
 "WILDFIRE_INLINE_CLOUD_ANALYSIS_ACTION_UNSPECIFIED",
 "ALLOW",
@@ -11391,19 +11391,19 @@
 "ALERT"
 ],
 "enumDescriptions": [
-"WildFire Inline Cloud Analysis action not specified.",
-"The files caught by WildFire Inline Cloud Analysis will be allowed to transmit.",
-"The files caught by WildFire Inline Cloud Analysis will be denied to transmit.",
-"The files caught by WildFire Inline Cloud Analysis will be allowed to transmit, but a wildfire_submission_log entry will be sent to the consumer project."
+"Advanced malware sandbox inline cloud analysis action not specified.",
+"Files detected by Advanced malware sandbox inline cloud analysis are allowed to transmit.",
+"Files detected by Advanced malware sandbox inline cloud analysis are not allowed to transmit.",
+"Files detected by Advanced malware sandbox inline cloud analysis are allowed to transmit, and a `wildfire_submission_log` entry is sent to the consumer project."
 ],
 "type": "string"
 },
 "customFileTypes": {
 "$ref": "WildfireInlineCloudAnalysisRuleCustomFileTypes",
-"description": "Submit a custom list of file types for WildFire analysis."
+"description": "Submit a custom list of file types for Advanced malware sandbox inline cloud analysis."
 },
 "direction": {
-"description": "Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis.",
+"description": "Required. Direction for the files to be analyzed by Advanced malware sandbox inline cloud analysis.",
 "enum": [
 "DIRECTION_UNSPECIFIED",
 "UPLOAD",
@@ -11419,7 +11419,7 @@
 "type": "string"
 },
 "fileSelectionMode": {
-"description": "Required. File selection mode for WildFire inline cloud analysis.",
+"description": "Required. File selection mode for Advanced malware sandbox inline cloud analysis.",
 "enum": [
 "FILE_SELECTION_MODE_UNSPECIFIED",
 "ALL_FILE_TYPES",
@@ -11427,8 +11427,8 @@
 ],
 "enumDescriptions": [
 "File selection mode not specified.",
-"Submit all the file types for scan.",
-"Submit a custom list of file types for scan."
+"Submit all file types for scanning.",
+"Submit a custom list of file types for scanning."
 ],
 "type": "string"
 }
@@ -11436,11 +11436,11 @@
 "type": "object"
 },
 "WildfireInlineCloudAnalysisRuleCustomFileTypes": {
-"description": "The options to submit a custom list of file types for scan.",
+"description": "The options to submit a custom list of file types for scanning.",
 "id": "WildfireInlineCloudAnalysisRuleCustomFileTypes",
 "properties": {
 "fileTypes": {
-"description": "Required. File types to be submitted for WildFire inline cloud analysis.",
+"description": "Required. File types to be submitted for Advanced malware sandbox inline cloud analysis.",
 "items": {
 "enum": [
 "FILE_TYPE_UNSPECIFIED",
@@ -11458,26 +11458,26 @@
 "type": "object"
 },
 "WildfireInlineMlFileException": {
-"description": "Defines the file to exclude from WildFire Inline ML analysis.",
+"description": "Defines the file to exclude from Advanced malware sandbox inline ML analysis.",
 "id": "WildfireInlineMlFileException",
 "properties": {
 "filename": {
-"description": "Optional. Name of the file to exclude from WildFire Inline ML analysis.",
+"description": "Optional. Name of the file to exclude from Advanced malware sandbox inline ML analysis.",
 "type": "string"
 },
 "partialHash": {
-"description": "Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis.",
+"description": "Required. Machine learning partial hash of the file to exclude from Advanced malware sandbox inline ML analysis.",
 "type": "string"
 }
 },
 "type": "object"
 },
 "WildfireInlineMlOverride": {
-"description": "Defines what action to take for WildFire Inline ML threats per protocol.",
+"description": "Defines what action to take for Advanced malware sandbox inline ML threats per protocol.",
 "id": "WildfireInlineMlOverride",
 "properties": {
 "action": {
-"description": "Required. The action to take for WildFire Inline ML override.",
+"description": "Required. The action to take for Advanced malware sandbox inline ML override.",
 "enum": [
 "WILDFIRE_THREAT_ACTION_UNSPECIFIED",
 "WILDFIRE_DEFAULT_ACTION",
@@ -11488,14 +11488,14 @@
 "enumDescriptions": [
 "Threat action not specified.",
 "The default action (as specified by the vendor) is taken.",
-"The packet matching this rule will be allowed to transmit.",
-"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.",
-"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project."
+"Packets matching this rule are allowed to transmit.",
+"Packets matching this rule are allowed to transmit, and a `threat_log` entry is sent to the consumer project.",
+"Packets matching this rule are dropped, and a `threat_log` entry is sent to the consumer project."
 ],
 "type": "string"
 },
 "protocol": {
-"description": "Required. Protocol to match for WildFire Inline ML override.",
+"description": "Required. Protocol to match for Advanced malware sandbox inline ML override.",
 "enum": [
 "WILDFIRE_PROTOCOL_UNSPECIFIED",
 "WILDFIRE_SMTP",
@@ -11508,13 +11508,13 @@
 ],
 "enumDescriptions": [
 "Protocol not specified.",
-"SMTP protocol",
-"SMB protocol",
-"POP3 protocol",
-"IMAP protocol",
-"HTTP2 protocol",
-"HTTP protocol",
-"FTP protocol"
+"SMTP protocol.",
+"SMB protocol.",
+"POP3 protocol.",
+"IMAP protocol.",
+"HTTP2 protocol.",
+"HTTP protocol.",
+"FTP protocol."
 ],
 "type": "string"
 }
@@ -11522,18 +11522,18 @@
 "type": "object"
 },
 "WildfireInlineMlSettings": {
-"description": "Defines the settings for WildFire Inline ML analysis.",
+"description": "Defines the settings for Advanced malware sandbox inline ML analysis.",
 "id": "WildfireInlineMlSettings",
 "properties": {
 "fileExceptions": {
-"description": "Optional. List of files to exclude from WildFire Inline ML analysis.",
+"description": "Optional. List of files to exclude from Advanced malware sandbox inline ML analysis.",
 "items": {
 "$ref": "WildfireInlineMlFileException"
 },
 "type": "array"
 },
 "inlineMlConfigs": {
-"description": "Optional. List of Inline ML configs to enable in WildFire Inline ML analysis.",
+"description": "Optional. List of inline ML configurations to enable in Advanced malware sandbox inline ML analysis.",
 "items": {
 "$ref": "WildfireInlineMlSettingsInlineMlConfig"
 },
@@ -11543,11 +11543,11 @@
 "type": "object"
 },
 "WildfireInlineMlSettingsInlineMlConfig": {
-"description": "Configuration for WildFire Inline ML analysis per file type.",
+"description": "Configuration for Advanced malware sandbox inline ML analysis per file type.",
 "id": "WildfireInlineMlSettingsInlineMlConfig",
 "properties": {
 "action": {
-"description": "Required. Action to take when a threat is detected using Inline ML.",
+"description": "Required. Action to take when a threat is detected using inline ML.",
 "enum": [
 "INLINE_ML_ACTION_UNSPECIFIED",
 "DISABLE",
@@ -11556,14 +11556,14 @@
 ],
 "enumDescriptions": [
 "Inline ML threat action not specified.",
-"Disable WildFire Inline ML for the associated file type.",
-"Enable WildFire Inline ML for the associated file type. Overrides any protocol level settings with action stricter than ALERT to ALERT so that the malicious files detected generate a threat log to the consumer project but are not blocked.",
-"Enable WildFire Inline ML for the associated file type, malicious files detected will be blocked."
+"Disables Advanced malware sandbox inline ML for the associated file type.",
+"Enables Advanced malware sandbox inline ML for the associated file type. Overrides any protocol-level settings with an action stricter than `ALERT` to `ALERT` so that detected malicious files generate a threat log in the consumer project without being blocked.",
+"Enables Advanced malware sandbox inline ML for the associated file type. Detected malicious files are blocked."
 ],
 "type": "string"
 },
 "fileType": {
-"description": "Required. File type to configure Inline ML for.",
+"description": "Required. File type to configure inline ML for.",
 "enum": [
 "INLINE_ML_CONFIG_UNSPECIFIED",
 "WINDOWS_EXECUTABLE",
@@ -11576,15 +11576,15 @@
 "MACHO"
 ],
 "enumDescriptions": [
-"Inline ML config not specified.",
-"Enable machine learning engine to dynamically detect malicious PE files.",
-"Enable machine learning engine to dynamically identify malicious PowerShell scripts with known length.",
-"Enable machine learning engine to dynamically identify malicious PowerShell script without known length.",
-"Enable machine learning engine to dynamically detect malicious ELF files.",
-"Enable machine learning engine to dynamically detect malicious MSOffice (97-03) files.",
-"Enable machine learning engine to dynamically detect malicious Shell files.",
-"Enable machine learning engine to dynamically detect malicious Open Office XML files.",
-"Enable machine learning engine to dynamically detect malicious Mach-O files."
+"Inline ML configuration not specified.",
+"Enables the machine learning engine to dynamically detect malicious PE files.",
+"Enables the machine learning engine to dynamically identify malicious PowerShell scripts with a known length.",
+"Enables the machine learning engine to dynamically identify malicious PowerShell scripts without a known length.",
+"Enables the machine learning engine to dynamically detect malicious ELF files.",
+"Enables the machine learning engine to dynamically detect malicious Microsoft Office (97-2003) files.",
+"Enables the machine learning engine to dynamically detect malicious shell files.",
+"Enables the machine learning engine to dynamically detect malicious Office Open XML (OOXML) files.",
+"Enables the machine learning engine to dynamically detect malicious Mach-O files."
 ],
 "type": "string"
 }
@@ -11592,7 +11592,7 @@
 "type": "object"
 },
 "WildfireOverride": {
-"description": "Defines what action to take for WildFire threats per protocol.",
+"description": "Defines what action to take for Advanced malware sandbox threats per protocol.",
 "id": "WildfireOverride",
 "properties": {
 "action": {
@@ -11607,9 +11607,9 @@
 "enumDescriptions": [
 "Threat action not specified.",
 "The default action (as specified by the vendor) is taken.",
-"The packet matching this rule will be allowed to transmit.",
-"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.",
-"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project."
+"Packets matching this rule are allowed to transmit.",
+"Packets matching this rule are allowed to transmit, and a `threat_log` entry is sent to the consumer project.",
+"Packets matching this rule are dropped, and a `threat_log` entry is sent to the consumer project."
 ],
 "type": "string"
 },
@@ -11627,13 +11627,13 @@
 ],
 "enumDescriptions": [
 "Protocol not specified.",
-"SMTP protocol",
-"SMB protocol",
-"POP3 protocol",
-"IMAP protocol",
-"HTTP2 protocol",
-"HTTP protocol",
-"FTP protocol"
+"SMTP protocol.",
+"SMB protocol.",
+"POP3 protocol.",
+"IMAP protocol.",
+"HTTP2 protocol.",
+"HTTP protocol.",
+"FTP protocol."
 ],
 "type": "string"
 }
@@ -11641,15 +11641,15 @@
 "type": "object"
 },
 "WildfireSubmissionRule": {
-"description": "Defines the file types to be submitted for WildFire analysis and the direction of the traffic.",
+"description": "Defines the file types to be submitted for Advanced malware sandbox analysis and the direction of the traffic.",
 "id": "WildfireSubmissionRule",
 "properties": {
 "customFileTypes": {
 "$ref": "WildfireSubmissionRuleCustomFileTypes",
-"description": "Submit a custom list of file types for WildFire analysis."
+"description": "Submit a custom list of file types for Advanced malware sandbox analysis."
 },
 "direction": {
-"description": "Required. Direction for the files to be analyzed by WildFire.",
+"description": "Required. Direction for the files to be analyzed by Advanced malware sandbox.",
 "enum": [
 "DIRECTION_UNSPECIFIED",
 "UPLOAD",
@@ -11665,7 +11665,7 @@
 "type": "string"
 },
 "fileSelectionMode": {
-"description": "Required. File selection mode for WildFire analysis.",
+"description": "Required. File selection mode for Advanced malware sandbox analysis.",
 "enum": [
 "FILE_SELECTION_MODE_UNSPECIFIED",
 "ALL_FILE_TYPES",
@@ -11673,8 +11673,8 @@
 ],
 "enumDescriptions": [
 "File selection mode not specified.",
-"Submit all the file types for scan.",
-"Submit a custom list of file types for scan."
+"Submit all file types for scanning.",
+"Submit a custom list of file types for scanning."
 ],
 "type": "string"
 }
@@ -11682,11 +11682,11 @@
 "type": "object"
 },
 "WildfireSubmissionRuleCustomFileTypes": {
-"description": "The options to submit a custom list of file types for scan.",
+"description": "The options to submit a custom list of file types for scanning.",
 "id": "WildfireSubmissionRuleCustomFileTypes",
 "properties": {
 "fileTypes": {
-"description": "Required. File types to be submitted for WildFire analysis.",
+"description": "Required. File types to be submitted for Advanced malware sandbox analysis.",
 "items": {
 "enum": [
 "FILE_TYPE_UNSPECIFIED",
@@ -11705,14 +11705,14 @@
 "File type not specified.",
 "Android Application Package (APK) files.",
 "Roshal Archive (RAR) and 7-Zip (7z) archive files.",
-"HTTP/HTTPS links contained in SMTP and POP3 email messages.",
+"HTTP and HTTPS links contained in SMTP and POP3 email messages.",
 "Adobe Flash applets and Flash content embedded in web pages.",
-"Java applets (JAR/class files types).",
+"Java applets (JAR and class file types).",
 "Executable and Linkable Format (ELF) files.",
 "Files used by Microsoft Office.",
 "Portable Document Format (PDF) files.",
 "Portable Executable (PE) files.",
-"Various script files. Jscript (JS), VBScript (VBS), PowerShell Scripts (PS1), Batch (BAT), HTML Application (HTA)."
+"Script files, such as JScript (JS), VBScript (VBS), PowerShell scripts (PS1), batch files (BAT), and HTML Application (HTA) files."
 ],
 "type": "string"
 },
@@ -11722,7 +11722,7 @@
 "type": "object"
 },
 "WildfireThreatOverride": {
-"description": "Defines what action to take for a specific WildFire threat_id match.",
+"description": "Defines what action to take for a specific Advanced malware sandbox `threat_id` match.",
 "id": "WildfireThreatOverride",
 "properties": {
 "action": {
@@ -11737,9 +11737,9 @@
 "enumDescriptions": [
 "Threat action not specified.",
 "The default action (as specified by the vendor) is taken.",
-"The packet matching this rule will be allowed to transmit.",
-"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.",
-"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project."
+"Packets matching this rule are allowed to transmit.",
+"Packets matching this rule are allowed to transmit, and a `threat_log` entry is sent to the consumer project.",
+"Packets matching this rule are dropped, and a `threat_log` entry is sent to the consumer project."
 ],
 "type": "string"
 },
@@ -11751,31 +11751,31 @@
 "type": "object"
 },
 "WildfireVerdictChangeRequest": {
-"description": "Message for a WildfireVerdictChangeRequest.",
+"description": "Message for an Advanced malware sandbox verdict change request (`WildfireVerdictChangeRequest`).",
 "id": "WildfireVerdictChangeRequest",
 "properties": {
 "comment": {
-"description": "Required. The justification for the verdict change request. Max length 2048 characters.",
+"description": "Required. The justification for the verdict change request. The maximum length is 2048 characters.",
 "type": "string"
 },
 "createTime": {
-"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was created.",
+"description": "Output only. The timestamp when the `WildfireVerdictChangeRequest` was created.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "fileName": {
-"description": "Output only. The file name of the Malware Sample.",
+"description": "Output only. The file name of the malware sample.",
 "readOnly": true,
 "type": "string"
 },
 "fileType": {
-"description": "Output only. The file type of the Malware Sample.",
+"description": "Output only. The file type of the malware sample.",
 "readOnly": true,
 "type": "string"
 },
 "finalVerdict": {
-"description": "Output only. The final verdict of the Malware Sample.",
+"description": "Output only. The final verdict of the malware sample.",
 "enum": [
 "WILDFIRE_SAMPLE_VERDICT_UNKNOWN",
 "BENIGN",
@@ -11784,7 +11784,7 @@
 "PHISHING"
 ],
 "enumDescriptions": [
-"Default value. Malware is not yet classified.",
+"Default value. The malware sample is not yet classified.",
 "Sample is safe and does not exhibit malicious behavior.",
 "Sample is malware and poses a security threat.",
 "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.",
@@ -11794,12 +11794,12 @@
 "type": "string"
 },
 "name": {
-"description": "Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
+"description": "Output only. Identifier. The relative name of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `organizations/{organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}` or `projects/{project}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id}`. Where `{wildfire_verdict_change_request_id}` is an ID in the format `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.",
 "readOnly": true,
 "type": "string"
 },
 "newVerdict": {
-"description": "Required. The suggested verdict to apply to the Malware Sample.",
+"description": "Required. The suggested verdict to apply to the malware sample.",
 "enum": [
 "WILDFIRE_SAMPLE_VERDICT_UNKNOWN",
 "BENIGN",
@@ -11808,7 +11808,7 @@
 "PHISHING"
 ],
 "enumDescriptions": [
-"Default value. Malware is not yet classified.",
+"Default value. The malware sample is not yet classified.",
 "Sample is safe and does not exhibit malicious behavior.",
 "Sample is malware and poses a security threat.",
 "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.",
@@ -11817,7 +11817,7 @@
 "type": "string"
 },
 "oldVerdict": {
-"description": "Output only. The original verdict of the Malware Sample.",
+"description": "Output only. The original verdict of the malware sample.",
 "enum": [
 "WILDFIRE_SAMPLE_VERDICT_UNKNOWN",
 "BENIGN",
@@ -11826,7 +11826,7 @@
 "PHISHING"
 ],
 "enumDescriptions": [
-"Default value. Malware is not yet classified.",
+"Default value. The malware sample is not yet classified.",
 "Sample is safe and does not exhibit malicious behavior.",
 "Sample is malware and poses a security threat.",
 "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.",
@@ -11836,22 +11836,22 @@
 "type": "string"
 },
 "resolutionTime": {
-"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.",
+"description": "Output only. The timestamp when the `WildfireVerdictChangeRequest` was resolved.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "sha256": {
-"description": "Required. The SHA256 hash of the Malware Sample to change the verdict of.",
+"description": "Required. The SHA256 hash ([FIPS 180-4](https://csrc.nist.gov/publications/detail/fips/180/4/final)) of the malware sample that requires a verdict change.",
 "type": "string"
 },
 "sourceRegion": {
-"description": "Output only. The region of the file associated with the Malware Sample.",
+"description": "Output only. The region of the file associated with the malware sample.",
 "readOnly": true,
 "type": "string"
 },
 "state": {
-"description": "Output only. The review state of the WildfireVerdictChangeRequest.",
+"description": "Output only. The review state of the `WildfireVerdictChangeRequest`.",
 "enum": [
 "VERDICT_CHANGE_REQUEST_STATE_UNSPECIFIED",
 "OPEN",
@@ -11859,22 +11859,22 @@
 "PENDING"
 ],
 "enumDescriptions": [
-"Default value. Request does not have a state. This value is unused.",
-"Request has been created and review has not started.",
-"Malware Sample has been reviewed and the final verdict has been updated.",
-"Malware Sample is currently being reviewed."
+"Default value. The request does not have a state. This value is unused.",
+"The request has been created and review has not started.",
+"The malware sample has been reviewed and the final verdict has been updated.",
+"The malware sample is being reviewed."
 ],
 "readOnly": true,
 "type": "string"
 },
 "updateTime": {
-"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.",
+"description": "Output only. The timestamp when the `WildfireVerdictChangeRequest` was last updated.",
 "format": "google-datetime",
 "readOnly": true,
 "type": "string"
 },
 "wildfireVerdictChangeRequestId": {
-"description": "Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
+"description": "Output only. The ID of the `WildfireVerdictChangeRequest`. This is a unique identifier generated by the third-party API. Format: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`.",
 "readOnly": true,
 "type": "string"
 }
diff --git a/googleapiclient/discovery_cache/documents/places.v1.json b/googleapiclient/discovery_cache/documents/places.v1.json
index 29691be7a3..2622817183 100644
--- a/googleapiclient/discovery_cache/documents/places.v1.json
+++ b/googleapiclient/discovery_cache/documents/places.v1.json
@@ -30,9 +30,9 @@
 "baseUrl": "https://places.googleapis.com/",
 "batchPath": "batch",
 "canonicalName": "Maps Places",
-"description": "",
+"description": "The Places API allows developers to access a variety of search and retrieval endpoints for a Place.",
 "discoveryVersion": "v1",
-"documentationLink": "https://mapsplatform.google.com/maps-products/#places-section",
+"documentationLink": "https://developers.google.com/maps/documentation/places/web-service",
 "fullyEncodeReservedExpansion": true,
 "icons": {
 "x16": "http://www.google.com/images/icons/product/search-16.gif",
@@ -280,7 +280,7 @@
 }
 }
 },
-"revision": "20261027",
+"revision": "20261101",
 "rootUrl": "https://places.googleapis.com/",
 "schemas": {
 "GoogleGeoTypeViewport": {
diff --git a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
index 675e9e0142..fcbc05c35d 100644
--- a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
+++ b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
@@ -845,7 +845,7 @@
 }
 }
 },
-"revision": "20261025",
+"revision": "20261106",
 "rootUrl": "https://recaptchaenterprise.googleapis.com/",
 "schemas": {
 "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": {
@@ -1212,7 +1212,7 @@ true
 },
 "phoneFraudAssessment": {
 "$ref": "GoogleCloudRecaptchaenterpriseV1PhoneFraudAssessment",
-"description": "Output only. Assessment returned when a site key, a token, and a phone number as `user_id` are provided. SMS defense needs to be enabled.",
+"description": "Output only. Assessment returned when a site key, a token, `user_info.account_id`, and a phone number in `user_info.user_ids` are provided. SMS defense must be enabled.",
 "readOnly": true
 },
 "policyEvaluation": {
@@ -1273,7 +1273,7 @@ true
 "type": "string"
 },
 "name": {
-"description": "Optional. Enumerated string value that indicates the identity of the bot, formatted in kebab-case. Current example values include the following: * google-agent - AI_AGENT * browser-base - AI_AGENT * chat-gpt - AI_AGENT * aws-bedrock - AI_AGENT * cybaa-bot - AI_AGENT * cloudflare - AI_AGENT * payhawk - AI_AGENT * duck-duck-go - SEARCH_INDEXER * mediaboard - CONTENT_SCRAPER * marker-io - AI_AGENT * anchor-browser - AI_AGENT * shopify - AI_AGENT * stackscope - CONTENT_SCRAPER * manus - AI_AGENT * kernel-sh - AI_AGENT * zvelo - SEARCH_INDEXER * meta-muse - AI_AGENT Ensure that your applications can handle identifier values not explicitly listed here. Deprecated values might take some time to stop showing up in responses. New values can be pushed so this list should be taken as non exhaustive.",
+"description": "Optional. Enumerated string value that indicates the identity of the bot, formatted in kebab-case. Current example values include the following: * google-agent - AI_AGENT * browser-base - AI_AGENT * chat-gpt - AI_AGENT * aws-bedrock - AI_AGENT * cybaa-bot - AI_AGENT * cloudflare - AI_AGENT * payhawk - AI_AGENT * duck-duck-go - AI_AGENT * mediaboard - CONTENT_SCRAPER * marker-io - AI_AGENT * anchor-browser - AI_AGENT * shopify - AI_AGENT * stackscope - CONTENT_SCRAPER * manus - AI_AGENT * kernel-sh - AI_AGENT * zvelo - SEARCH_INDEXER * meta-muse - AI_AGENT * duck-duck-bot - SEARCH_INDEXER * my-porta - SEARCH_INDEXER * ison-search - SEARCH_INDEXER * rokt - SEARCH_INDEXER Ensure that your applications can handle identifier values not explicitly listed here. Deprecated values might take some time to stop showing up in responses. New values can be pushed so this list should be taken as non exhaustive.",
 "type": "string"
 }
 },
@@ -1315,7 +1315,7 @@ true
 "description": "Present a challenge to the user."
 },
 "condition": {
-"description": "Optional. A CEL condition that must be met for this rule to apply. If unspecified, the rule applies unconditionally. The following fields can be referenced in the condition: * `score` * `user_ip_address` * `user_asn` * `user_agent` * `verified_bots.name` * `verified_bots.bot_type` Examples: * `score < 0.5` * `user_ip_address == \"123.45.67.89\"` * `user_agent.contains(\"Chrome\")` * `score < 0.5 && user_ip_address == \"123.45.67.89\"`",
+"description": "Optional. A CEL condition that must be met for this rule to apply. If unspecified, the rule applies unconditionally. The following fields can be referenced in the condition: * `score` * `user_ip_address` * `user_asn` * `user_agent` * `region_code` * `verified_bots.name` * `verified_bots.bot_type` Examples: * `score < 0.5` * `user_ip_address == \"123.45.67.89\"` * `user_agent.contains(\"Chrome\")` * `score < 0.5 && user_ip_address == \"123.45.67.89\"`",
 "type": "string"
 },
 "noChallenge": {
@@ -2463,7 +2463,7 @@ true
 "id": "GoogleCloudRecaptchaenterpriseV1TestingOptions",
 "properties": {
 "testingChallenge": {
-"description": "Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.",
+"description": "Optional. For challenge-based keys only (`CHECKBOX`, `INVISIBLE`), all challenge requests for this site do not show a challenge if `NOCAPTCHA`, or show an unsolvable challenge if `UNSOLVABLE_CHALLENGE`.",
 "enum": [
 "TESTING_CHALLENGE_UNSPECIFIED",
 "NOCAPTCHA",
@@ -2541,7 +2541,7 @@ true
 "The user verification had already been seen.",
 "The user verification token was not present.",
 "A retriable error (such as network failure) occurred on the browser. Could easily be simulated by an attacker.",
-"The action provided at token generation was different than the `expected_action` in the assessment request. The comparison is case-insensitive. This reason can only be returned if all of the following are true: - your `site_key` has the POLICY_BASED_CHALLENGE integration type - you set an action score threshold higher than 0.0 - you provided a non-empty `expected_action`",
+"The action provided at token generation was different than the `expected_action` in the assessment request. The comparison is case-insensitive. This reason can only be returned if an `expected_action` is provided and either: - your `site_key` is a Universal key, or - your `site_key` has the `POLICY_BASED_CHALLENGE` integration type with an action score threshold higher than 0.0",
 "The key used to generate the token does not match the `site_key`.",
 "The domain of the page on which the token was generated does not match the `allowed_domains` configured in the `site_key`."
 ],
@@ -2732,7 +2732,7 @@ true
 "id": "GoogleCloudRecaptchaenterpriseV1TransactionDataUser",
 "properties": {
 "accountId": {
-"description": "Optional. Unique account identifier for this user. If using Account defense, this should match the hashed_account_id field. Otherwise, a unique and persistent identifier for this account.",
+"description": "Optional. Unique account identifier for this user. If using Account defense, this should match the `user_info.account_id` field. Otherwise, a unique and persistent identifier for this account.",
 "type": "string"
 },
 "creationMs": {
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1.json b/googleapiclient/discovery_cache/documents/recommender.v1.json
index 1f625e64e4..689c7cc3aa 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1.json
@@ -1868,7 +1868,7 @@
 }
 }
 },
-"revision": "20260913",
+"revision": "20261101",
 "rootUrl": "https://recommender.googleapis.com/",
 "schemas": {
 "CloudRecommendationsRecommendersDatabasesV1ContentChunk": {
@@ -2075,7 +2075,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -2263,6 +2267,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
@@ -2607,7 +2615,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -2795,6 +2807,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
@@ -2996,7 +3012,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -3184,6 +3204,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
@@ -3402,7 +3426,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -3590,6 +3618,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
@@ -3797,7 +3829,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -3985,6 +4021,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
index e7cfa48dd5..75865fde4f 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
@@ -2126,7 +2126,7 @@
 }
 }
 },
-"revision": "20260913",
+"revision": "20261101",
 "rootUrl": "https://recommender.googleapis.com/",
 "schemas": {
 "CloudRecommendationsRecommendersDatabasesV1ContentChunk": {
@@ -2333,7 +2333,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -2521,6 +2525,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
@@ -2865,7 +2873,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -3053,6 +3065,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
@@ -3254,7 +3270,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -3442,6 +3462,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
@@ -3660,7 +3684,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -3848,6 +3876,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
@@ -4055,7 +4087,11 @@
 "STRING_KEY_MEMORY_UTILIZATION_OUT_OF_SLA_LATEST_TIMESTAMP",
 "STRING_KEY_ESTIMATED_OOM_PROBABILITY",
 "STRING_KEY_MAX_CONNECTIONS_CURRENT_VALUE",
-"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE"
+"STRING_KEY_MAX_CONNECTIONS_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_CURRENT_VALUE",
+"STRING_KEY_INNODB_REDO_LOG_CAPACITY_RECOMMENDED_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_CURRENT_VALUE",
+"STRING_KEY_INNODB_LOG_FILE_SIZE_RECOMMENDED_VALUE"
 ],
 "enumDescriptions": [
 "",
@@ -4243,6 +4279,10 @@
 "",
 "",
 "",
+"",
+"",
+"",
+"",
 ""
 ],
 "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/transcoder.v1.json b/googleapiclient/discovery_cache/documents/transcoder.v1.json
index 8d7fa06a90..848ab6a0a2 100644
--- a/googleapiclient/discovery_cache/documents/transcoder.v1.json
+++ b/googleapiclient/discovery_cache/documents/transcoder.v1.json
@@ -12,7 +12,7 @@
 "baseUrl": "https://transcoder.googleapis.com/",
 "batchPath": "batch",
 "canonicalName": "Transcoder",
-"description": "This API converts video files into formats suitable for consumer distribution. For more information, see the Transcoder API overview. ",
+"description": "This API converts video files into formats suitable for consumer distribution.",
 "discoveryVersion": "v1",
 "documentationLink": "https://cloud.google.com/transcoder/docs/",
 "fullyEncodeReservedExpansion": true,
@@ -385,7 +385,7 @@
 }
 }
 },
-"revision": "20250723",
+"revision": "20261028",
 "rootUrl": "https://transcoder.googleapis.com/",
 "schemas": {
 "AdBreak": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
index 6509033915..258b414b43 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
@@ -224,7 +224,7 @@
 ]
 },
 "patch": {
-"description": "Updates a ScanConfig. This method support partial update of a ScanConfig.",
+"description": "Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`",
 "flatPath": "v1/projects/{projectsId}/scanConfigs/{scanConfigsId}",
 "httpMethod": "PATCH",
 "id": "websecurityscanner.projects.scanConfigs.patch",
@@ -526,7 +526,7 @@
 }
 }
 },
-"revision": "20250105",
+"revision": "20261104",
 "rootUrl": "https://websecurityscanner.googleapis.com/",
 "schemas": {
 "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
index c099d65797..c2062bc374 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
@@ -224,7 +224,7 @@
 ]
 },
 "patch": {
-"description": "Updates a ScanConfig. This method support partial update of a ScanConfig.",
+"description": "Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`",
 "flatPath": "v1alpha/projects/{projectsId}/scanConfigs/{scanConfigsId}",
 "httpMethod": "PATCH",
 "id": "websecurityscanner.projects.scanConfigs.patch",
@@ -526,7 +526,7 @@
 }
 }
 },
-"revision": "20240623",
+"revision": "20261104",
 "rootUrl": "https://websecurityscanner.googleapis.com/",
 "schemas": {
 "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
index da2d60e64d..7c6efb56e9 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
@@ -224,7 +224,7 @@
 ]
 },
 "patch": {
-"description": "Updates a ScanConfig. This method support partial update of a ScanConfig.",
+"description": "Updates a ScanConfig. This method supports partial update of a ScanConfig. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `scan_config.name`: - `cloudsecurityscanner.scans.update`",
 "flatPath": "v1beta/projects/{projectsId}/scanConfigs/{scanConfigsId}",
 "httpMethod": "PATCH",
 "id": "websecurityscanner.projects.scanConfigs.patch",
@@ -526,7 +526,7 @@
 }
 }
 },
-"revision": "20240623",
+"revision": "20261104",
 "rootUrl": "https://websecurityscanner.googleapis.com/",
 "schemas": {
 "Authentication": {